{"title":"A representation for describing and analyzing concerns in source code","authors":"M. Robillard","doi":"10.1145/581469.581470","DOIUrl":null,"url":null,"abstract":"Existing approaches that are available to help software developers locate and manage the scattered implementation of concerns use a representation based on lines of source code. Because they do not explicitly express program structure, concern representations based on source code have inherent limitations when finding, describing and analyzing concerns. To address these problems, we are trying to find a concern representation that captures as close as possible the amount and precision level of information that software developers need to efficiently plan a change, and that supports queries that can provide this information. As a proposed solution, we introduced the Concern Graph representation that abstracts the implementation details of a concern and makes explicit the relationships between different parts of the concern. The Concern Graph abstraction has also been designed to allow an obvious and expensive mapping back to the corresponding source code. To investigate the practical tradeoffs related to this approach, we have built the Feature Exploration and Analysis Tool (FEAT) that allows a developer to navigate over an extracted model of a Java program, to build up the subset of the model that corresponds to a concern of interest, and to analyze the relationships of that concern to the code base.","PeriodicalId":186061,"journal":{"name":"Proceedings of the 24th International Conference on Software Engineering. ICSE 2002","volume":"79 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2002-05-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 24th International Conference on Software Engineering. ICSE 2002","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/581469.581470","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
Existing approaches that are available to help software developers locate and manage the scattered implementation of concerns use a representation based on lines of source code. Because they do not explicitly express program structure, concern representations based on source code have inherent limitations when finding, describing and analyzing concerns. To address these problems, we are trying to find a concern representation that captures as close as possible the amount and precision level of information that software developers need to efficiently plan a change, and that supports queries that can provide this information. As a proposed solution, we introduced the Concern Graph representation that abstracts the implementation details of a concern and makes explicit the relationships between different parts of the concern. The Concern Graph abstraction has also been designed to allow an obvious and expensive mapping back to the corresponding source code. To investigate the practical tradeoffs related to this approach, we have built the Feature Exploration and Analysis Tool (FEAT) that allows a developer to navigate over an extracted model of a Java program, to build up the subset of the model that corresponds to a concern of interest, and to analyze the relationships of that concern to the code base.