Open Access. Powered by Scholars. Published by Universities.®
Physical Sciences and Mathematics Commons™
Open Access. Powered by Scholars. Published by Universities.®
- Keyword
-
- Aspect-oriented programming (2)
- Aspect-Oriented programming (1)
- Aspect-oriented software (1)
- AspectJ (1)
- Crosscutting concern (1)
-
- Eclipse IDE-based tool (1)
- Formal specification (1)
- Inference algorithms (1)
- Inferencing (1)
- Joining processes (1)
- Object-oriented programming (1)
- Pointcut expression recovery (1)
- Pointcut maintenance (1)
- Programming profession (1)
- Reasoning (1)
- Refactoring (1)
- Rejuvenate pointcut (1)
- Requirements traceability (1)
- Scattering (1)
- Software algorithms (1)
- Software engineering (1)
- Software evolution (1)
- Software maintenance (1)
- Software product (1)
- Software tools (1)
- Source code analysis (1)
- Tool-supported software evolution (1)
- Verification (1)
Articles 1 - 4 of 4
Full-Text Articles in Physical Sciences and Mathematics
On The Assessment Of Pointcut Design In Evolving Aspect-Oriented Software, Raffi T. Khatchadourian, Phil Greenwood, Awais Rashid
On The Assessment Of Pointcut Design In Evolving Aspect-Oriented Software, Raffi T. Khatchadourian, Phil Greenwood, Awais Rashid
Publications and Research
No abstract provided.
Rejuvenate Pointcut: A Tool For Pointcut Expression Recovery In Evolving Aspect-Oriented Software, Raffi T. Khatchadourian, Awais Rashid
Rejuvenate Pointcut: A Tool For Pointcut Expression Recovery In Evolving Aspect-Oriented Software, Raffi T. Khatchadourian, Awais Rashid
Publications and Research
Aspect-oriented programming (AOP) strives to localize the scattered and tangled implementations of crosscutting concerns (CCCs) by allowing developers to declare that certain actions (advice) should be taken at specific points (join points) during the execution of software where a CCC (an aspect) is applicable. However, it is non-trivial to construct optimal pointcut expressions (a collection of join points) that capture the true intentions of the programmer and, upon evolution, maintain these intentions. We demonstrate an AspectJ source-level inferencing tool called rejuvenate pointcut which helps developers maintain pointcut expressions over the lifetime of a software product. A key insight into the …
Pointcut Rejuvenation: Recovering Pointcut Expressions In Evolving Aspect-Oriented Software, Raffi T. Khatchadourian, Phil Greenwood, Awais Rashid, Guoqing Harry Xu
Pointcut Rejuvenation: Recovering Pointcut Expressions In Evolving Aspect-Oriented Software, Raffi T. Khatchadourian, Phil Greenwood, Awais Rashid, Guoqing Harry Xu
Publications and Research
Pointcut fragility is a well-documented problem in Aspect-Oriented Programming; changes to the base-code can lead to join points incorrectly falling in or out of the scope of pointcuts. In this paper, we present an automated approach which limits fragility problems by providing mechanical assistance in pointcut maintenance. The approach is based on harnessing arbitrarily deep structural commonalities between program elements corresponding to join points selected by a pointcut. The extracted patterns are then applied to later versions to offer suggestions of new join points that may require inclusion. To illustrate that the motivation behind our proposal is well-founded, we first …
Enforcing Behavioral Constraints In Evolving Aspect-Oriented Programs, Raffi T. Khatchadourian, Johan Dovland, Neelam Soundarajan
Enforcing Behavioral Constraints In Evolving Aspect-Oriented Programs, Raffi T. Khatchadourian, Johan Dovland, Neelam Soundarajan
Publications and Research
Reasoning, specification, and verification of Aspect-Oriented (AO) programs presents unique challenges especially as such programs evolve over time. Components, base-code and aspects alike, may be easily added, removed, interchanged, or presently unavailable at unpredictable frequencies. Consequently, modular reasoning of such programs is highly attractive as it enables tractable evolution, otherwise necessitating that the entire program be reexamined each time a component is changed. It is well known, however, that modular reasoning about AO programs is difficult. In this paper, we present our ongoing work in constructing a rely-guarantee style reasoning system for the Aspect-Oriented Programming (AOP) paradigm, adopting a trace-based …