Mining source code elements for comprehending object-oriented systems and evaluating their maintainability
Yiannis Kanellopoulos, Thimios Dimopulos, Christos Tjortjis, Christos H. Makris · ACM SIGKDD Explorations Newsletter · 2006
Data mining and its capacity to deal with large volumes of data and to uncover hidden patterns has been proposed as a means to support industrial scale software maintenance and comprehension. This paper presents a methodology for knowledge acquisition from source code in order to comprehend an object-oriented system and evaluate its maintainability. We employ clustering in order to support semi-automated software maintenance and comprehension.A model and an associated process are provided, in order to extract elements from source code; K-Means clustering is then applied on these data, in order to produce system overviews and deductions. The methodology is evaluated on JBoss , a very large Open Source Application Server; results are discussed and conclusions are presented together with directions for future work.