Dynamic Knowledge Extraction from Software Systems Using Sequential Pattern Mining

Dynamic Knowledge Extraction from Software Systems Using Sequential Pattern Mining
复制标题

使用序列模式挖掘从软件系统中动态知识提取

DOI:
10.1142/s021819401000492x
复制
发表时间:
2010
期刊:
Int. J. Softw. Eng. Knowl. Eng.
影响因子:
--
通讯作者:
H. Safyallah
H. Safyallah
中科院分区:
--
文献类型:
--
作者:
K. Sartipi;H. Safyallah

文献摘要

被引文献

相似文献

软件系统分析识别软件功能的源代码仍然是一个主要的问题,在逆向工程文献。早期的软件功能提取方法主要依赖于软件系统的静态属性。然而,静态方法本质上缺乏语义,因此不适合这项任务。本文提出了一种新的技术,软件系统的动态分析,以确定某些软件功能的实现称为软件功能。在所提出的方法中,一个特定的功能是共享的一些任务的情况下,应用在软件系统上生成执行轨迹。在生成的执行轨迹上应用顺序模式挖掘技术,可以提取揭示特定功能的执行模式。在进一步的步骤中,将所提取的执行模式分布在概念格上,以将特征特定的功能组与常用的功能组分离。使用lattice还允许在源代码中识别一系列密切相关的功能。此外,在这项工作中,我们提供了一套指标,用于评估软件系统的结构优点,如组件的凝聚力和功能分散。我们已经实现了一个原型工具包,并尝试了两个案例研究Xfig绘图工具和松树电子邮件客户端非常有前途的结果。
Software system analysis for identifying software functionality in source code remains a major problem in the reverse engineering literature. The early approaches for extracting software functionality mainly relied on static properties of software system. However, the static approaches by nature suffer from the lack of semantic and hence are not appropriate for this task. This paper presents a novel technique for dynamic analysis of software systems to identify the implementation of certain software functionality known as software features. In the proposed approach, a specific feature is shared by a number of task scenarios that are applied on the software system to generate execution traces. The application of a sequential pattern mining technique on the generated execution traces allows us to extract execution patterns that reveal the specific feature functionality. In a further step, the extracted execution patterns are distributed over a concept lattice to separate feature-specific group of functions from commonly used group of functions. The use of lattice also allows for identifying a family of closely related features in the source code. Moreover, in this work we provide a set of metrics for evaluating the structural merits of the software system such as component cohesion and functional scattering. We have implemented a prototype toolkit and experimented with two case studies Xfig drawing tool and Pine email client with very promising results.