2007
DOI: 10.1145/1189748.1189751
|View full text |Cite
|
Sign up to set email alerts
|

Representing concerns in source code

Abstract: Many program evolution tasks involve source code that is not modularized as a single unit. Furthermore, the source code relevant to a change task often implements different concerns, or high-level concepts that a developer must consider. Finding and understanding concerns scattered in source code is a difficult task that accounts for a large proportion of the effort of performing program evolution. One possibility to mitigate this problem is to produce textual documentation that describes scattered concerns. H… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
133
0

Year Published

2008
2008
2016
2016

Publication Types

Select...
6
2

Relationship

0
8

Authors

Journals

citations
Cited by 164 publications
(133 citation statements)
references
References 106 publications
(124 reference statements)
0
133
0
Order By: Relevance
“…Ideally, concern mappings should be produced with as little effort as possible. Potential strategies to achieve this aim include: a) Creating the mappings opportunistically during program investigation [13], b) recording each transaction to a revision control system, c) using automatic techniques based on static and dynamic analysis (e.g., [5,20]), and d) recording and analyzing traces of a developer's navigation through the source code (see Section 6).…”
Section: Discussionmentioning
confidence: 99%
See 2 more Smart Citations
“…Ideally, concern mappings should be produced with as little effort as possible. Potential strategies to achieve this aim include: a) Creating the mappings opportunistically during program investigation [13], b) recording each transaction to a revision control system, c) using automatic techniques based on static and dynamic analysis (e.g., [5,20]), and d) recording and analyzing traces of a developer's navigation through the source code (see Section 6).…”
Section: Discussionmentioning
confidence: 99%
“…At the end of the task, this developer is likely to have located the corresponding code and to have acquired some understanding of it. Knowledge about a change task can be expressed in terms of the different concerns associated with the task [13]. Simply put, concerns are high-level concepts relevant to developers, such as individual features, requirements, or design decisions.…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation
“…With automated tool support, like the FEAT tool (Robillard and Murphy, 2007), these kind of abstractions can easily be made without losing traceability to the source code where these abstractions originate from.…”
Section: Design Recoverymentioning
confidence: 99%
“…A concern in software defined as is anything a developer may consider as a conceptual unit such as features, security requirements, and design idioms [13]. The concern that is scattered and tangled throughout multiple modules is called a crosscutting concern [13].…”
Section: Introductionmentioning
confidence: 99%