Proceedings of the 8th ACM International Conference on Aspect-Oriented Software Development 2009
DOI: 10.1145/1509239.1509274
|View full text |Cite
|
Sign up to set email alerts
|

Can we refactor conditional compilation into aspects?

Abstract: Systems software uses conditional compilation to manage crosscutting concerns in a very fine-grained and efficient way, but at the expense of tangled and scattered conditional code. Refactoring of conditional compilation into aspects gets rid of these issues, but it is not clear yet for which patterns of conditional compilation aspects make sense and whether or not current aspect technology is able to express these patterns. To investigate these two problems, this paper presents a graphical "preprocessor bluep… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
56
0
1

Year Published

2012
2012
2017
2017

Publication Types

Select...
4
4

Relationship

0
8

Authors

Journals

citations
Cited by 48 publications
(57 citation statements)
references
References 37 publications
0
56
0
1
Order By: Relevance
“…For example, developers might have used a clone-and-own approach or branches in a version control system, might have introduced variations with command-line parameters or #ifdef directives. In such scenario, other complementary migration and reengineering strategies are necessary [1], [21], [23], [35]. Here, we focus only on locating and extracting features from a single legacy-code base (not from deltas between branches).…”
Section: Variability Miningmentioning
confidence: 99%
See 2 more Smart Citations
“…For example, developers might have used a clone-and-own approach or branches in a version control system, might have introduced variations with command-line parameters or #ifdef directives. In such scenario, other complementary migration and reengineering strategies are necessary [1], [21], [23], [35]. Here, we focus only on locating and extracting features from a single legacy-code base (not from deltas between branches).…”
Section: Variability Miningmentioning
confidence: 99%
“…1); during snapshot isolation's identification we can restrict the search space and exclude locking code. 1 Similarly, we can exploit implications between features (including parent-child relationships) to reduce the search space or to derive additional seeds. For example, before identifying the locking feature, we could have already identified a subfeature dynamicLocking (ability to disable locking at runtime; Lines 4 and 18 in Fig.…”
Section: Product-line Context and Design Goalsmentioning
confidence: 99%
See 1 more Smart Citation
“…1 Lampiro is an instant-messaging client developed in Java ME and its features are implemented using #ifdefs. Figure 1 shows a code snippet extracted from Lampiro implemented in Java with the Antenna 2 preprocessor.…”
Section: Motivating Examplementioning
confidence: 99%
“…Several researchers have even investigated automated refactorings (Adams et al, 2009;Kästner et al, 2009a). But preprocessors are still prevalent in practice and the vast amount of legacy code will not disappear soon.…”
Section: Related Workmentioning
confidence: 99%