Program comprehension is an important part of software maintenance, especially when program structure is complex and documentation is unavailable or outdated. Data mining can produce structural views of source code thus facilitating legacy systems understanding. This paper presents a method for mining association rules from code aiming at capturing program structure and achieving better system understanding. A tool was implemented to assess this method. It inputs data extracted from code and derives association rules. Rules processed to abstract programs into groups containing interrelated entities. Entities are grouped together if their attributes participate in common rules. raction is performed at the function level, in contrast to other approaches, that work at the program level. The method was evaluated using real, working programs. Programs are fed into a code analyser which produces the input needed for the mining tool. Results show that the method facilitates program comprehen...
Christos Tjortjis, Loukas Sinos, Paul J. Layzell