Author_Institution :
Sch. of Comput. Sci., Fudan Univ., Shanghai, China
Abstract :
In order to facilitate software maintenance, data mining techniques such as clustering and association rule mining can be used for extracting meaningful information from source code. Although in the past the techniques have been employed in independent or combinatorial ways for various maintenance activities, none of them combines dynamic information and visualization method to assist structural analysis. In this paper, we present a solution for enhancing the recovery process. First, execution traces are obtained using dynamic analysis and result matrices mapping between traces and method calls involved in the traces are generated. Based on the obtained matrices, clustering algorithm is applied to product an initial system structure, and association rule mining technique is also applied to build the associations among the clusters. Second, the obtained dynamic dependences based the analysis are demonstrated using visualization, in which software entities and associations are represented as nodes and edges, respectively. Thus the relations among clusters can be depicted, which are helpful for evaluating clustering quality and conducting potential refactoring. Through applying the approach on an actual application system, initial analysis is presented and the execution results can be used to guide further research work.
Keywords :
data mining; data visualisation; pattern clustering; program diagnostics; software maintenance; association rule mining technique; clustering quality evaluation; data mining techniques; dynamic analysis; dynamic dependences; dynamic information method; edges; matrix mapping; meaningful information extraction; method calls; nodes; recovery process enhancement; software entities; software maintenance; software refactoring; source code; structural analysis; structural recovery; visualization method; Association rules; Clustering algorithms; Data visualization; Heuristic algorithms; Lattices; Software; Association Rule Mining; Clustering Algorithm; Dynamic Analysis; Scenario; Use case;