Title

Aspectjml: Modular Specification And Runtime Checking For Crosscutting Contracts

Keywords

Aspect-oriented programming; AspectJ; AspectJML; Crosscutting contracts; Design by contract; JML

Abstract

Aspect-oriented programming (AOP) is a popular technique for modularizing crosscutting concerns. In this context, researchers have found that the realization of design by contract (DbC) is cross-cutting and fares better when modularized by AOP. However, previous efforts aimed at supporting crosscutting contract modularity might actually compromise the main DbC principles. For example, in AspectJ-style, reasoning about the correctness of a method call may require a whole-program analysis to determine what advice applies and what that advice does relative to DbC implementation and checking. Also, when contracts are separated from classes a programmer may not know about them and may break them inadvertently. In this paper we solve these problems with AspectJML, a new specification language that supports crosscutting contracts for Java code. We also show how AspectJML supports the main DbC principles of modular reasoning and contracts as documentation. Copyright © 2014 ACM. Copyright © 2014 ACM.

Publication Date

1-1-2014

Publication Title

MODULARITY 2014 - Proceedings of the 13th International Conference on Modularity (Formerly AOSD)

Number of Pages

157-168

Document Type

Article; Proceedings Paper

Personal Identifier

scopus

DOI Link

https://doi.org/10.1145/2577080.2577084

Socpus ID

84900027430 (Scopus)

Source API URL

https://api.elsevier.com/content/abstract/scopus_id/84900027430

This document is currently not available here.

Share

COinS