Identifying Feature Interactions in Multi-Language Aspect-Oriented Frameworks

Sergei Kojarski, Northeastern University
David H. Lorenz, University of Virginia

The simultaneous use of multiple aspect languages has the potential of becoming a significant one, as new aspectoriented frameworks are developed and existing ones expand to incorporate features of others. A key challenge in combining multiple aspect-oriented languages is identifying and resolving adverse feature interactions. These interactions occur due to the incompatible and inconsistent treatment of aspects, join points, and advice across different languages. In this paper, we analyze the root cause of this feature interaction problem. We classify common features of aspect languages, describe how these features may interact when using different aspect languages in tandem, and concretely illustrate how these interactions may be resolved. Our work allows AOP users and tool developers to reason about the occurrence of such adverse and unexpected feature interactions, and to apply several patterns for resolving these problems.

In Proceedings of the 29th International Conference on Software Engineering (ICSE'07), pages 147--157, Minneapolis, MN, May 20-26, 2007. ICSE 2007, IEEE Computer Society, Los Alamitos, CA, USA.


icse2007.pdf (??k)


BibTeX:
@InProceedings{Kojarski:2007:IFI,
	Author = "Sergei Kojarski and David H. Lorenz",
	Crossref = "ICSE:2007",
	Title = "Identifying Feature Interactions in Multi-Language Aspect-Oriented Frameworks",
	URL = "http://www.cs.virginia.edu/~lorenz/papers/icse07/",
	Year = 2007,
	Pages = "147--157",
}
---------- ICSE crossref begin ----------
@String{PROC = "Proceedings of"}
@String{ICSE = "International Conference on Software Engineering"}
@String{PROC:ICSE2007 = PROC#" the 29$^{th}$ "#ICSE}
@String{ICSE2007 = "ICSE 2007"}
@Proceedings{ICSE:2007,
	Address = {Minneapolis, MN},
	Booktitle = PROC:ICSE2007,
	Key = ICSE2007,
	Month = may#{ 20-26},
	Organization = ICSE2007,
	Publisher = "{IEEE} Computer Society",
	Title = PROC:ICSE2007,
	Year = 2007,
}
---------- ICSE crossref end ----------

Links:
  • DOI Bookmark
  • csdl.computer.org