Software applications, especially Enterprise Resource Planning (ERP) systems, are crucial to the day-to-day operations of many industries. Therefore, it is essential to maintain these systems effectively using tools that can identify, diagnose, and mitigate their incidents. One promising data-driven approach is the Subgroup Discovery (SD) technique, a data mining method that can automatically mine incident datasets and extract discriminant patterns to identify the root causes of issues. However, current SD solutions have limitations in handling complex target concepts with multiple attributes organized hierarchically. To illustrate this scenario, we examine the case of Java out-of-memory incidents among several possible applications. We have a dataset that describes these incidents, including their context and the types of Java objects occupying memory when it reaches saturation, with these types arranged hierarchically. This scenario inspires us to propose a novel Subgroup Discovery approach that can handle complex target concepts with hierarchies. To achieve this, we design a pattern syntax and a quality measure that ensure the identified subgroups are relevant, non-redundant, and resilient to noise. To achieve the desired quality measure, we use the Subjective Interestingness model that incorporates prior knowledge about the data and promotes patterns that are both informative and surprising relative to that knowledge. We apply this framework to investigate out-of-memory errors and demonstrate its usefulness in incident diagnosis. To validate the effectiveness of our approach and the quality of the identified patterns, we present an empirical study. The source code and data used in the evaluation are publicly accessible, ensuring transparency and reproducibility.
翻译:软件应用程序,尤其是企业资源规划(ERP)系统,对许多行业的日常运营至关重要。因此,有效维护这些系统至关重要,需要借助能够识别、诊断并缓解其事件的工具。一种有前景的数据驱动方法是子群发现(SD)技术,这是一种数据挖掘方法,能够自动挖掘事件数据集并提取判别模式,从而识别问题的根本原因。然而,当前的SD解决方案在处理具有分层组织的多属性复杂目标概念时存在局限性。为了说明这一场景,我们研究了多个可能应用中的Java内存溢出事件案例。我们有一个描述这些事件的数据集,包括其上下文以及内存饱和时占据内存的Java对象类型,这些类型按层次结构排列。这一场景启发我们提出一种新的子群发现方法,能够处理具有层次结构的复杂目标概念。为此,我们设计了一种模式语法和质量度量,确保识别出的子群具有相关性、非冗余性且对噪声具有鲁棒性。为了实现所需的质量度量,我们采用了主观有趣性模型,该模型融入了关于数据的先验知识,并倾向于挖掘既信息丰富又相对于该知识令人惊讶的模式。我们应用这一框架研究内存溢出错误,并展示了其在事件诊断中的实用性。为了验证我们方法的有效性以及识别模式的质量,我们进行了一项实证研究。评估中使用的源代码和数据均可公开获取,确保了透明性和可重复性。