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
期刊:
影响因子:
--
通讯作者:
H. Safyallah
中科院分区:
文献类型:
--
作者:
K. Sartipi;H. Safyallah
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.