{"title":"The assessment of class relations importance using enumeration in a graph representation model for key classes detection based on PageRank","authors":"Ciprian-Bogdan Chirila, Ioana Sora","doi":"10.1109/ICSTCC55426.2022.9931857","DOIUrl":null,"url":null,"abstract":"Key classes are the most important classes of an object-oriented software system. They are usually described in project documentations or executive summaries representing the backbone of the software system. Key classes are vital in software reengineering tasks especially in the context where poor or no documentation is maintained with the project. Thus, detecting key classes becomes an important issue. Several methods for key classes detection were reported: static code analysis, dynamic code analysis, machine learning. In a static code analysis approach the model of a weighted graph is used to represent the relations between classes like: inheritance, interface realization, field usage, return type usage etc. On the weighted graph model we run a link analysis algorithm to rank the classes in their order of importance, thus detecting the top 20 most important ones. We intend to assess the importance of class relations by generating all possible weights combinations of 0 and 1 for each class relation in the weighted graph construction. We experiment our approach on 14 analyzed systems of different sizes regarding the number of classes and from domains like: games, web servers, utilities, etc.","PeriodicalId":220845,"journal":{"name":"2022 26th International Conference on System Theory, Control and Computing (ICSTCC)","volume":"84 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-10-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2022 26th International Conference on System Theory, Control and Computing (ICSTCC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICSTCC55426.2022.9931857","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
Key classes are the most important classes of an object-oriented software system. They are usually described in project documentations or executive summaries representing the backbone of the software system. Key classes are vital in software reengineering tasks especially in the context where poor or no documentation is maintained with the project. Thus, detecting key classes becomes an important issue. Several methods for key classes detection were reported: static code analysis, dynamic code analysis, machine learning. In a static code analysis approach the model of a weighted graph is used to represent the relations between classes like: inheritance, interface realization, field usage, return type usage etc. On the weighted graph model we run a link analysis algorithm to rank the classes in their order of importance, thus detecting the top 20 most important ones. We intend to assess the importance of class relations by generating all possible weights combinations of 0 and 1 for each class relation in the weighted graph construction. We experiment our approach on 14 analyzed systems of different sizes regarding the number of classes and from domains like: games, web servers, utilities, etc.