ACM Home Page
Please provide us with feedback. Feedback
Concern graphs: finding and describing concerns using structural program dependencies
Full text PdfPdf (1.35 MB)
Source International Conference on Software Engineering archive
Proceedings of the 24th International Conference on Software Engineering table of contents
Orlando, Florida
SESSION: Technical papers: software maintenance table of contents
Pages: 406 - 416  
Year of Publication: 2002
ISBN:1-58113-472-X
Authors
Martin P. Robillard  University of British Columbia, Vancouver, BC Canada
Gail C. Murphy  University of British Columbia Vancouver, BC Canada
Sponsors
IEEE-CS\DATC : IEEE Computer Society
ACM: Association for Computing Machinery
SIGSOFT: ACM Special Interest Group on Software Engineering
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 15,   Downloads (12 Months): 83,   Citation Count: 54
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/581339.581390
What is a DOI?

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
A. V. Aho. Pattern matching in strings. In R. V. Book, editor, Formal Language Theory: Perspectives and Open Problems, pages 325-347, New York, 1980. Academic Press.
 
2
 
3
4
 
5
 
6
 
7
8
 
9
 
10
 
11
 
12
 
13
 
14
15
16
 
17
The Jikes bytecode toolkit. IBM, March 2000. http://www.alphaworks.ibm.com/tech/jikesbt.
 
18
19
 
20
21
 
22
M. P. Robillard. The Jex home page. http://www.cs.ubc.ca/~mrobilla/jex.
 
23
24
 
25
 
26
M. Weiser. Program slicing. IEEE Transactions on Software Engineering, 10(4):352-357, July 1984.
 
27
N. Wilde, J. A. Gomez, T. Gust, and D. Strasburg. Locating user functionality in old code. In Proceedings of the Conference on Software Maintenance, pages 200-205. IEEE Computer Society, November 1992.

CITED BY  54

Collaborative Colleagues:
Martin P. Robillard: colleagues
Gail C. Murphy: colleagues