Proceedings of the 19th International Conference on Software Product Line 2015
DOI: 10.1145/2791060.2791107
|View full text |Cite
|
Sign up to set email alerts
|

Maintaining feature traceability with embedded annotations

Abstract: Features are commonly used to describe functional and nonfunctional aspects of software. To effectively evolve and reuse features, their location in software assets has to be known. However, locating features is often difficult given their crosscutting nature. Once implemented, the knowledge about a feature's location quickly deteriorates, requiring expensive recovering of these locations. Manually recording and maintaining traceability information is generally considered expensive and error-prone. In this pap… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
42
0
2

Year Published

2016
2016
2021
2021

Publication Types

Select...
6
1
1

Relationship

3
5

Authors

Journals

citations
Cited by 52 publications
(44 citation statements)
references
References 39 publications
0
42
0
2
Order By: Relevance
“…Since they are not optional, their locations are usually not explicitly recorded in the source code and instead need to be recovered-a discipline called feature location [50][51][52][53][54][55]. To avoid feature-location efforts, researchers have proposed to use embedded annotations to record feature locations directly in the code (similar to ifdefs) together with respective tooling and case studies [56][57][58][59]. Notably, Krüger et al [44] manually annotated feature locations of mandatory features in the open-source 3d printer firmware Marlin and found that their code-level characteristics differ from optional features.…”
Section: Related Workmentioning
confidence: 99%
“…Since they are not optional, their locations are usually not explicitly recorded in the source code and instead need to be recovered-a discipline called feature location [50][51][52][53][54][55]. To avoid feature-location efforts, researchers have proposed to use embedded annotations to record feature locations directly in the code (similar to ifdefs) together with respective tooling and case studies [56][57][58][59]. Notably, Krüger et al [44] manually annotated feature locations of mandatory features in the open-source 3d printer firmware Marlin and found that their code-level characteristics differ from optional features.…”
Section: Related Workmentioning
confidence: 99%
“…Here, a feature represents a functionality (or concern) in a system, regardless of whether it is an optional or mandatory functionality in the case of a product line. Such features and their locations are rarely documented, for example with feature-traceability databases [30] or embedded feature annotations [18], wherefore recovering their locations is costly and error-prone [37]. Even automated or semiautomated feature-location techniques require substantial manual effort (e.g., for calibration or for finding so-called seeds from which they can start exploring code) and fall short in accuracy [32].…”
Section: Notions Of Featuresmentioning
confidence: 99%
“…When a system evolves over time, the knowledge of features and their locations quickly fades, which then needs to be recovered. In fact, feature location [3,10,23,32] is one of the most common and expensive tasks in software engineering [5,18,28,37].…”
Section: Introductionmentioning
confidence: 99%
“…Ji et al [24] assessed the cost of manually annotating features in source code via specially formatted comments. According to the study they performed, the cost of adding and maintaining such annotations is small compared to the cost of the whole development process.…”
Section: Feature Mappingmentioning
confidence: 99%