Automated testing of pointcuts in AspectJ programs
P. Anbalagan
Abstract
P. Anbalagan
Abstract
Aspect-Oriented Programming (AOP) is a methodology that provides new modularization of software systems by dealing explicitly with separation of concerns in software development. AspectJ, a language designed to support AOP uses abstractions like pointcuts, advice, and aspects to achieve AOP's primary functionality. Pointcuts are constructs modeled using expressions that identify events during the execution of a program called join points. It is likely that developers tend to write expressions with incorrect strength thereby selecting additional events than intended to or leaving out necessary events. This causes aspects, the set cross-cutting concerns, to fail. Our framework automatically tests pointcuts to identify their strength and determines variants of the expression with different strengths which the developer can inspect to choose an expression with the correct strength. The framework selects and ranks the list of variants based on a similarity measure. The framework eases the task for developers to inspect variants that resemble closely to the original expression.
OpenAlex reports 1 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Aspect-Oriented Programming (AOP) is a methodology that provides new modularization of software systems by dealing explicitly with separation of concerns in software development. AspectJ, a language designed to support AOP uses abstractions like pointcuts, advice, and aspects to achieve AOP's primary functionality. Pointcuts are constructs modeled using expressions that identify events during the execution of a program called join points. It is likely that developers tend to write expressions with incorrect strength thereby selecting additional events than intended to or leaving out necessary events. This causes aspects, the set cross-cutting concerns, to fail. Our framework automatically tests pointcuts to identify their strength and determines variants of the expression with different strengths which the developer can inspect to choose an expression with the correct strength. The framework selects and ranks the list of variants based on a similarity measure. The framework eases the task for developers to inspect variants that resemble closely to the original expression.
Key concepts: AspectJ, Computer science, Aspect-oriented programming, Programming language, Design by contract, Separation of concerns, Software engineering, Modular programming