Abstract:
Program comprehension is a fundamental prerequisite before software engineers may engage in software maintenance or evolution activities and requires the study of large a...Show MoreMetadata
Abstract:
Program comprehension is a fundamental prerequisite before software engineers may engage in software maintenance or evolution activities and requires the study of large amounts of documentation - either developer documentation or reverse engineered. Very often, from this documentation is missing a short overview document pointing to the most important classes of the system, these who are essential for starting the understanding of the systems architecture. In this work we propose a recommender tool to automatically identify the most important classes of a system. Our approach relies on modeling the static dependencies structure of the system as a graph and applying a graph ranking algorithm. We empirically identify the optimal way of building the system graph, identifying how different dependency types should be taken into account. In experiments performed on a set of open source real life systems, we compare the sets of classes recommended by our tool with these included in the architectural overviews provided by the system developers.
Published in: 2015 IEEE 10th Jubilee International Symposium on Applied Computational Intelligence and Informatics
Date of Conference: 21-23 May 2015
Date Added to IEEE Xplore: 20 August 2015
Electronic ISBN:978-1-4799-9911-8