{"title":"DeDuCT: A Data Dependence Based Concern Tagger for Modularity Analysis","authors":"Andrea Fornaia, E. Tramontana","doi":"10.1109/COMPSAC.2017.98","DOIUrl":null,"url":null,"abstract":"Modularity of a software system can be assessed once responsibilities of each method and class have been determined. Generally, developers attribute responsibilities to methods and classes manually. This can be problematic given that it relies on developers judgement and effort. This paper proposes an approach to automatically attribute concern tags to each instructions. The approach is based on taint analysis to determine which code lines are related to each other by data dependence. Moreover, Java APIs provide the tags used to mark code lines. The automatic concern tagging that we bring about is used to find out how responsibilities are spread in the code, and then to suggest refactoring activities in case tangling occurs.","PeriodicalId":6556,"journal":{"name":"2017 IEEE 41st Annual Computer Software and Applications Conference (COMPSAC)","volume":"24 1","pages":"463-468"},"PeriodicalIF":0.0000,"publicationDate":"2017-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2017 IEEE 41st Annual Computer Software and Applications Conference (COMPSAC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/COMPSAC.2017.98","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2
Abstract
Modularity of a software system can be assessed once responsibilities of each method and class have been determined. Generally, developers attribute responsibilities to methods and classes manually. This can be problematic given that it relies on developers judgement and effort. This paper proposes an approach to automatically attribute concern tags to each instructions. The approach is based on taint analysis to determine which code lines are related to each other by data dependence. Moreover, Java APIs provide the tags used to mark code lines. The automatic concern tagging that we bring about is used to find out how responsibilities are spread in the code, and then to suggest refactoring activities in case tangling occurs.