2006Unpublished venueRequires access

Automated testing of pointcuts in AspectJ programs

P. Anbalagan

Open publisher page 1 citations

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.

About this research paper

What this paper is about

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.

Why it matters

OpenAlex reports 1 citations for this work. Citation counts describe recorded attention and do not establish research quality.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available 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.

Key concepts: AspectJ, Computer science, Aspect-oriented programming, Programming language, Design by contract, Separation of concerns, Software engineering, Modular programming

Related papers

Back to paper searchBrowse research topicsOriginal source
Automated testing of pointcuts in AspectJ programs — Research Paper | ScholarLens