kirancodes.me
To Proof Maintenance & Beyond!

A representation for describing and analyzing concerns in source code

Martin P. Robillard

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.

BibTeX
@inproceedings{Robillard:ICSE02,
  author    = {Martin P. Robillard},
  title     = {A representation for describing and analyzing concerns in source code},
  booktitle = {ICSE},
  pages     = {721--722},
  publisher = {{ACM}},
  year      = {2002},
}

Related papers