Rich Interfaces for Verifiable Aspect Reuse (RIVAR)

Project Overview

RIVAR aims to define novel language constructs for aspect-oriented programming (in particular in AspectJ) that allow making explicit assumptions made by aspect developers about the context in which their aspects are woven. Making assumptions explicit like this, allows them to be verified when aspects are reused in new contexts or when the base evolves.

As a first step, we have performed a manual analysis of AspectJ projects to identify types of assumptions actually made by AspectJ developers. A catalogue of such assumption types can be useful in a range of situations:

RIVAR is supported by the European Union under FP7 Marie-Curie Intra-European Fellowship Contract No. 236381.

Project Results

Here you can find materials that represent results from this project. These may include data collected, tools developed, etc. Publications resulting from this project will be listed separately below.

A bibliography of related literature.

This page collects the results from our initial retrospective study analysing three medium-size open-source AspectJ projects for the assumptions made by aspect developers. This study has been reported on in a paper currently submitted for review to AOSD 2011.

Sources for some initial abc extensions to support inclusion and mutual exclusion between aspects as well as checking for unused, mandatory ITDs. Notice, that this is very preliminary work, and I do not give any guarantees as to error-freenes or fitness for purpose. I make these available as I currently lack the time to continue working on them, and in the hope that someone might be able to continue on this basis.

Publications

[-] 2011

Steffen Zschaler and Awais Rashid: Aspect Assumptions: A retrospective study of AspectJ developers' assumptions about aspect usage. Paulo Borba, Shigeru Chiba (eds.): Proc. 10th Int'l Conf. on Aspect-Oriented Software Development (AOSD'11), Brazil, 2011.
Acceptance rate: 24%
ACM DL Author-ize service [pdf] [slides] [http] [bibtex] [additional material] Refereed Conference Paper,  research areas: Modularity, Empirical Software Engineering
Research contribution:  Writing contribution: