Identifying semantic differences in AspectJ programs

Martin Th Görg, Jianjun Zhao

Research output: Chapter in Book/Report/Conference proceedingConference contribution

3 Citations (Scopus)

Abstract

Program differencing is a common means of software de-bugging. Although many differencing algorithms have been proposed for procedural and object-oriented languages like C and Java, there is no differencing algorithm for aspect-oriented languages so far. In this paper we propose an approach for difference analysis of aspect-oriented programs. The proposed algorithm contains a novel way of matching two versions of a module of which the signature has been modifed. For this, we also work out a set of well defined signatures for the new elements in the AspectJ language. In accordance with these signatures, and with those existent for elements of the Java language, we investigate a set of signature patterns to be used with the module matching algorithm. Furthermore, we demonstrate successful application of a node-by-node comparison algorithm originally developed for object-oriented programs. Using a tool which implements our algorithms, we set up and evaluate a set of test cases. The results demonstrate the effectiveness of our approach for a large subset of the AspectJ language.

Original languageEnglish
Title of host publicationProceedings of the 18th International Symposium on Software Testing and Analysis, ISSTA 2009
PublisherAssociation for Computing Machinery, Inc
Pages25-35
Number of pages11
ISBN (Electronic)9781605583389
DOIs
Publication statusPublished - Jul 19 2009
Externally publishedYes
Event18th International Symposium on Software Testing and Analysis, ISSTA 2009 - Chicago, United States
Duration: Jul 19 2009Jul 23 2009

Publication series

NameProceedings of the 18th International Symposium on Software Testing and Analysis, ISSTA 2009

Other

Other18th International Symposium on Software Testing and Analysis, ISSTA 2009
Country/TerritoryUnited States
CityChicago
Period7/19/097/23/09

All Science Journal Classification (ASJC) codes

  • Software

Fingerprint

Dive into the research topics of 'Identifying semantic differences in AspectJ programs'. Together they form a unique fingerprint.

Cite this