DocumentCode
1678272
Title
A PageRank based recommender system for identifying key classes in software systems
Author
Sora, Ioana
Author_Institution
Dept. of Comput. & Software Eng., Politeh. Univ. of Timisoara, Timisoara, Romania
fYear
2015
Firstpage
495
Lastpage
500
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.
Keywords
graph theory; program diagnostics; recommender systems; software maintenance; PageRank; graph ranking algorithm; key classes identification; open source real life systems; recommender system; software evolution; software maintenance; software systems; system static dependencies structure; Computational intelligence; Documentation; Java; Object oriented modeling; Software algorithms; Software systems;
fLanguage
English
Publisher
ieee
Conference_Titel
Applied Computational Intelligence and Informatics (SACI), 2015 IEEE 10th Jubilee International Symposium on
Conference_Location
Timisoara
Type
conf
DOI
10.1109/SACI.2015.7208254
Filename
7208254
Link To Document