Program Comprehension Using Aspects

Darren Ng, Northeastern University
David R. Kaeli, Northeastern University
Sergei Kojarski, Northeastern University
David H. Lorenz, Northeastern University

Aspect Oriented Programming (AOP) is a powerful reflective programming tool. In this paper we discuss how simple yet effective AOP constructs can be used to facilitate the process of program comprehension on three bodies of code. The first is the Java portion of a sizable third party legacy system for manipulating and displaying protein sequences entitled Friend. The second is Eclipse, an open source Java IDE. The third is Compress, a SPEC JVM98 Java benchmark. We study uses of the AspectJ AOP language to expose both dynamic and static software characteristics. Examples provided are actual code and data from our experience re-engineering the Friend software but the AOP techniques presented can be applied towards any system.

In ICSE 2004 Workshop on Directions in Software Engineering Environments (WoDiSEE'2004). This research was partially supported by the National Science Foundation under award number CCR-0204432, and by the Institute for Complex Scientific Software at Northeastern University.


main.ps.gz ()
main.pdf ()


@InProceedings{Ng:2001:PCU,
    Title       = {Program Comprehension Using Aspects},
    Author      = {Darren Ng and David~R. Kaeli and Sergei Kojarski and David~H. Lorenz},
    Booktitle   = {ICSE 2004 Workshop on Directions in Software Engineering Environments (WoDiSEE'2004)},
    Address     = "Edinburgh, Scotland, UK",
    Month       = may,
    Year        = 2004,
    URL         = "\url{http://www.ccs.neu.edu/home/lorenz/papers/wodisee04/}",
}

Other papers