A PageRank based recommender system for identifying key classes in software systems | IEEE Conference Publication | IEEE Xplore

A PageRank based recommender system for identifying key classes in software systems


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 More

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.
Date of Conference: 21-23 May 2015
Date Added to IEEE Xplore: 20 August 2015
Electronic ISBN:978-1-4799-9911-8
Conference Location: Timisoara, Romania

Contact IEEE to Subscribe

References

References is not available for this document.