DYNAMIC KNOWLEDGE EXTRACTION FROM SOFTWARE SYSTEMS USING SEQUENTIAL PATTERN MINING

Author(s):  
KAMRAN SARTIPI ◽  
HOSSEIN 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.

Author(s):  
Manjula Peiris ◽  
James H. Hill

This chapter discusses how to adapt system execution traces to support analysis of software system performance properties, such as end-to-end response time, throughput, and service time. This is important because system execution traces contain complete snapshots of a systems execution—making them useful artifacts for analyzing software system performance properties. Unfortunately, if system execution traces do not contain the required properties, then analysis of performance properties is hard. In this chapter, the authors discuss: (1) what properties are required to analysis performance properties in a system execution trace; (2) different approaches for injecting the required properties into a system execution trace to support performance analysis; and (3) show, by example, the solution for one approach that does not require modifying the original source code of the system that produced the system execution.


2011 ◽  
Vol 109 ◽  
pp. 729-733
Author(s):  
Jiang Yin ◽  
Yun Li ◽  
Cen Cheng Shen ◽  
Bo Liu

Multi-Relational Sequential mining is one of the areas of data mining that rapidly developed in recent years. However, the performance issues of traditional mining methods are not ideal. To effectively mining the pattern, we proposed an algorithm based on Iceberg concept lattice, adopting optimization methods of partition and merger to just mining the frequent sequences. Experimental results show this algorithm effectively reduced the time complexity of multi-relational sequential pattern mining.


Author(s):  
JING DONG ◽  
YAJING ZHAO ◽  
TU PENG

The quality of a software system highly depends on its architectural design. High quality software systems typically apply expert design experience which has been captured as design patterns. As demonstrated solutions to recurring problems, design patterns help to reuse expert experience in software system design. They have been extensively applied in the industry. Mining the instances of design patterns from the source code of software systems can assist in the understanding of the systems and the process of re-engineering them. More importantly, it also helps to trace back to the original design decisions, which are typically missing in legacy systems. This paper presents a review on current techniques and tools for mining design patterns from source code or design of software systems. We classify different approaches and analyze their results in a comparative study. We also examine the disparity of the discovery results of different approaches and analyze possible reasons with some insight.


Sign in / Sign up

Export Citation Format

Share Document