• DocumentCode
    1466871
  • Title

    Aspect-oriented programming takes aim at software complexity

  • Author

    Miller, Stephanie

  • Volume
    34
  • Issue
    4
  • fYear
    2001
  • fDate
    4/1/2001 12:00:00 AM
  • Firstpage
    18
  • Lastpage
    21
  • Abstract
    As global digitalization and the size of applications expand at an exponential rate, software engineering´s complexities are also growing. One feature of this complexity is the repetition of functionality throughout an application. An example of the problems this complexity causes occurs when programmers must change an oft-repeated feature for an updated or new version of an application. It is often difficult for programmers to find every instance of such a feature in millions of lines of code. Failing to do so, however, can introduce bugs. To address this issue, software researchers are developing methodologies based on a new programming element: the aspect. An aspect is a piece of code that describes a recurring property of a program. Applications can, of course, have multiple aspects. Aspects provide cross-cutting modularity. In other words, programmers can use aspects to create software modules for issues that cut across various parts of an application. Aspects have the potential to make programmers´ work easier, less time-consuming and less error-prone. Proponents say aspects could also lead to less expensive applications, shorter upgrade cycles and software that is flexible and more customizable. A number of companies and universities are working on aspects or aspect-like concepts
  • Keywords
    programming; software maintenance; software metrics; application size; aspect-oriented programming; cross-cutting modularity; flexible customizable software; global digitalization; program modification; recurring program properties; repeated functionality; software bugs; software complexity; software engineering; software modules; upgrade cycles; Application software; Encapsulation; Helium; Java; Power generation; Prefetching; Production; Programming profession; Scattering; Writing;
  • fLanguage
    English
  • Journal_Title
    Computer
  • Publisher
    ieee
  • ISSN
    0018-9162
  • Type

    jour

  • DOI
    10.1109/2.917532
  • Filename
    917532