![]() |
||||||||||||||
|
An Initial Assessment of Aspect-Oriented Programming
In Proceedings of the 21st International Conference on Software Engineering (ICSE '99; Los Angeles, CA, USA; 16--22 May 1999), pp. 120--130, 1999. AbstractThe principle of separation of concerns has long been used by software engineers to manage the complexity of software system development. Programming languages help software engineers explicitly maintain the separation of some concerns in code. As another step towards increasing the scope of concerns that can be captured cleanly within the code, Kiczales and colleagues have introduced aspect-oriented programming. In aspect-oriented programming, explicit language support is provided to help modularize design decisions that cross-cut a functionally-decomposed program. Aspect-oriented programming is intended to make it easier to reason about, develop, and maintain certain kinds of application code. To investigate these claims, we conducted two exploratory experiments that considered the impact of aspect-oriented programming, as found in AspectJ version 0.1, on two common programming activities: debugging and change. Our experimental results provide insights into the usefulness and usability of aspect-oriented programming. Our results also raise questions about the characteristics of the interface between aspects and functionally-decomposed core code that are necessary to accrue programming benefits. Most notably, the separation provided by aspect-oriented programming seems most helpful when the interface is narrow (i.e., the separation is more complete); partial separation does not necessarily provide partial benefit. Superceded VersionsRobert J. Walker, Elisa L. A. Baniassad, and Gail C. Murphy. "An
Initial Assessment of Aspect-Oriented Programming", Technical
Report TR-98-12. 10 pages. Robert J. Walker, Elisa L. A. Baniassad and Gail C. Murphy.
"Assessing Aspect-Oriented Programming: Preliminary
Results". In Serge Demeyer and Jan Bosch, editors,
Object-Oriented Technology: ECOOP '98 Workshop Reader,
volume 1543 of Lecture Notes in Computer Science,
pp. 433--434, Springer, Berlin, Germany, 1998. Extended abstract,
2 pages. Robert J. Walker, Elisa L. A. Baniassad and Gail C. Murphy.
"Assessing Aspect-Oriented Programming: Preliminary
Results", Technical Report TR-98-03, and International AOP
Workshop, ICSE '98. 6 pages. IEEE Copyright Notice: This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by each author's copyright. In most cases, these works may not be reposted without permission of the copyright holder. |