Last updated on Monday, October 06, 2025
@article{AdamsJSS2009,
address = {New York, NY, USA},
author = {Bram Adams and De Schutter, Kris and Andy Zaidman and
Serge Demeyer and Herman Tromp and
De Meuter, Wolfgang},
journal = {Journal of Systems and Software},
note = {SCI impact factor 1,241, ranked 36/86},
number = {4},
pages = {668 -- 684},
publisher = {Elsevier Science Inc.},
title = {Using Aspect Orientation in Legacy Environments for
Reverse Engineering using Dynamic Analysis - An
Industrial Experience Report},
volume = {82},
year = {2009},
abstract = {This paper reports on the challenges of using
aspect-oriented programming (AOP) to aid in
re-engineering a legacy C application. More
specifically, we describe how AOP helps in the
important reverse engineering step which typically
precedes a re-engineering effort. We first present a
comparison of the available AOP tools for legacy C
code bases, and then argue on our choice of Aspicere,
our own AOP implementation for C. Then, we report on
AspicereĆs application in reverse engineering a
legacy industrial software system and we show how we
apply a dynamic analysis to regain insight into the
system. AOP is used for instrumenting the system and
for gathering the data. This approach works and is
conceptually very clean, but comes with a major quid
pro quo: integration of AOP tools with the build
system proves an important issue. This leads to the
question of how to reconcile the notion of modular
reasoning within traditional build systems with a
programming paradigm which breaks this notion.},
annote = {internationaljournal},
doi = {10.1016/j.jss.2008.09.031},
issn = {0164-1212},
}