Mining Association Rules to Facilitate Structural Recovery
Wu Ren · 2012
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.