Home
Scholarly Works
DYNAMIC KNOWLEDGE EXTRACTION FROM SOFTWARE SYSTEMS...
Journal article

DYNAMIC KNOWLEDGE EXTRACTION FROM SOFTWARE SYSTEMS USING SEQUENTIAL PATTERN MINING

Abstract

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.

Authors

SARTIPI K; SAFYALLAH H

Journal

International Journal of Software Engineering and Knowledge Engineering, Vol. 20, No. 06, pp. 761–782

Publisher

World Scientific Publishing

Publication Date

September 1, 2010

DOI

10.1142/s021819401000492x

ISSN

0218-1940
View published work (Non-McMaster Users)

Contact the Experts team