[Publications] [Software Engineering Research Group] [Department of Computer Science] [University of British Columbia]
An Initial Assessment of Aspect-Oriented Programming
Robert J. Walker,
Elisa L.A. Baniassad, and
Gail C. Murphy
In Proceedings of the 21st
International Conference on Software Engineering (ICSE '99;
Los Angeles, CA, USA; 16--22 May 1999), pp. 120--130, 1999.
Abstract
The 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 versions of this
paper
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.
URL: |
http://www.cs.ubc.ca/labs/se/papers/1998/icse99-aop.html |
File: |
/pub/www/cs.ubc.ca/docs/labs/se/papers/1998/icse99-aop.html |