• DocumentCode
    351604
  • Title

    An initial assessment of aspect-oriented programming

  • Author

    Walker, Robert J. ; Baniassad, Elisa L A ; Murphy, Gail C.

  • Author_Institution
    Dept. of Comput. Sci., British Columbia Univ., Vancouver, BC, Canada
  • fYear
    1999
  • fDate
    22-22 May 1999
  • Firstpage
    120
  • Lastpage
    130
  • Abstract
    The principle of separation of concerns (E. Dijkstra, 1976) 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, G. Kiczales et al. (1997) 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.
  • Keywords
    object-oriented languages; object-oriented programming; program debugging; software quality; AspectJ; application code maintenance; aspect oriented programming; debugging; design decisions; explicit language support; functionally decomposed core code; functionally decomposed program; initial assessment; object oriented programming; partial separation; programming benefits; programming languages; separation of concerns; software change; software engineers; software system development; Computer languages; Computer science; Engineering management; Functional programming; Maintenance engineering; Permission; Software design; Software development management; Software maintenance; Usability;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering, 1999. Proceedings of the 1999 International Conference on
  • Conference_Location
    Los Angeles, CA, USA
  • ISSN
    0270-5257
  • Print_ISBN
    1-58113-074-0
  • Type

    conf

  • Filename
    841001