{"title":"Detecting design similarity patterns using program execution traces","authors":"Kuldeep Kumar, S. Jarzabek","doi":"10.1145/2660252.2660397","DOIUrl":null,"url":null,"abstract":"This paper aims at detecting an important type of design similarity patterns, so-called collaborative patterns, that has not been addressed in the software clone research so far. Collaborative patterns appear as recurring configurations of collaborating components such as methods or classes. Knowing location of such patterns and exact differences among them is useful in program understanding, better change impact analysis, code compaction, software maintenance, and in reuse. In the proposed approach for detecting collaborative patterns, we instrument the subject program with extra code to generate method execution traces. Then, we analyze generated traces to find collaborative patterns. Preliminary investigation has also been done to validate the proposed approach.","PeriodicalId":194590,"journal":{"name":"ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity","volume":"34 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2014-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2660252.2660397","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4
Abstract
This paper aims at detecting an important type of design similarity patterns, so-called collaborative patterns, that has not been addressed in the software clone research so far. Collaborative patterns appear as recurring configurations of collaborating components such as methods or classes. Knowing location of such patterns and exact differences among them is useful in program understanding, better change impact analysis, code compaction, software maintenance, and in reuse. In the proposed approach for detecting collaborative patterns, we instrument the subject program with extra code to generate method execution traces. Then, we analyze generated traces to find collaborative patterns. Preliminary investigation has also been done to validate the proposed approach.