arrow
Return

Representing concerns in source code

delete2007-02-01
delete112
delete
OA
AI
M
Martin P. Robillard *
G
Gail C. Murphy
DOI:10.1145/1189748.1189751delete
deleteOriginal
deleteShare
deleteSave
View PDF
Abstract

Abstract

En 中文
A software modification task often addresses several concerns. A concern is anything a stakeholder may want to consider as a conceptual unit, including features, nonfunctional requirements, and design idioms. In many cases, the source code implementing a concern is not encapsulated in a single programming language module, and is instead scattered and tangled throughout a system. Inadequate separation of concerns increases the difficulty of evolving software in a correct and cost-effective manner. To make it easier to modify concerns that are not well modularized, we propose an approach in which the implementation of concerns is documented in artifacts, called concern graphs. Concern graphs are abstract models that describe which parts of the source code are relevant to different concerns. We present a formal model for concern graphs and the tool support we developed to enable software developers to create and use concern graphs during software evolution tasks. We report on five empirical studies, providing evidence that concern graphs support views and operations that facilitate the task of modifying the code implementing scattered concerns, are cost-effective to create and use, and robust enough to be used with different versions of a software system.
Keywords:
algorithms
documentation
experimentation
human factors
languages
separation of concerns
concern modeling
software evolution
aspect-oriented software development
Java
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

A
ACM Transactions on Software Engineering and Methodology
IF:
6.2
Papers:
1.2K
Citations:
3.4K

Organization

No organization information available
Cited Papers

Cited Papers

Stereophotograph of InP(001) Surface
err2009-01-01
err0
errOAAI
errTaku Matsumoto; Fumihiko Matsui; Tomohiro Matsushita; Kentaro Goto; Yukako Kato; Hiroshi Daimon
errShare
errSave
errShare
errSave
Does code decay? Assessing the evidence from change management data
err2001-01-01
err344
PREAI
errEick, SG; Graves, TL; Karr, AF; Marron, JS; Mockus, A
errShare
errSave
Is there a sex gap in outcomes of comparable patients supported with left ventricular assist devices?
err2022-06-30
err0
errOAAI
errTong Li; Silvia Mariani; Karl Bounader; Dietmar Boethig; Alexandra Schöde; Katharina Homann; Jasmin S. Hanke; L. Christian Napp; Ali Saad Merzah; Guenes Dogan; Axel Haverich; Jan D. Schmitto
errShare
errSave
Concentration and refractive index sensor for methanol using short period grating fiber
err2011-01-01
err0
PREAI
errU.S. Raikar; A.S. Lalasangi; V.K. Kulkarni; J.F. Akki
errShare
errSave
Advanced heart failure therapies in patients with stable HIV infection
err2020-04-01
err0
errOAAI
errNicolas A. Brozzi; Jacques Simkins; Renzo O. Cifuentes; Ali Ghodsizad; Nina Thakkar Rivera; Matthias Loebe
errShare
errSave
errShare
errSave
researcher View more