• DocumentCode
    1690062
  • Title

    Concern graphs: finding and describing concerns using structural program dependencies

  • Author

    Robillard, Martin P. ; Murphy, Gail C.

  • Author_Institution
    Dept. of Comput. Sci., British Columbia Univ., Vancouver, BC, Canada
  • fYear
    2002
  • Firstpage
    406
  • Lastpage
    416
  • Abstract
    Many maintenance tasks address concerns, or features, that are not well modularized in the source code comprising a system. Existing approaches available to help software developers locate and manage scattered concerns use a representation based on lines of source code, complicating the analysis of the concerns. In this paper, we introduce the concern graph representation that abstracts the implementation details of a concern and makes explicit the relationships between different parts of the concern. The abstraction used in a Concern Graph has been designed to allow an obvious and inexpensive 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 manipulate a concern representation extracted from a Java system, and to analyze the relationships of that concern to the code base. We have used this tool to find and describe concerns related to software change tasks. We have performed case studies to evaluate the feasibility, usability, and scalability of the approach. Our results indicate that concern graphs can be used to document a concern for change, that developers unfamiliar with concern graphs can use them effectively, and that the underlying technology scales to industrial-sized programs.
  • Keywords
    Java; software engineering; structured programming; Java system; concern graphs; feature exploration and analysis tool; lines of source code; maintenance tasks; software change tasks; software developers; structural program dependencies; Abstracts; Computer science; Java; Marine vehicles; Performance evaluation; Permission; Scalability; Scattering; Software tools; Usability;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering, 2002. ICSE 2002. Proceedings of the 24rd International Conference on
  • Conference_Location
    Orlando, FL, USA
  • Print_ISBN
    1-58113-472-X
  • Type

    conf

  • Filename
    1007986