Identifying semantic differences in AspectJ programs

Martin Th Görg, Jianjun Zhao

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

2 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
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
CountryUnited States
CityChicago
Period7/19/097/23/09

Fingerprint

Semantics
Object oriented programming

All Science Journal Classification (ASJC) codes

  • Software

Cite this

Görg, M. T., & Zhao, J. (2009). Identifying semantic differences in AspectJ programs. In Proceedings of the 18th International Symposium on Software Testing and Analysis, ISSTA 2009 (pp. 25-35). (Proceedings of the 18th International Symposium on Software Testing and Analysis, ISSTA 2009). Association for Computing Machinery, Inc. https://doi.org/10.1145/1572272.1572276

Identifying semantic differences in AspectJ programs. / Görg, Martin Th; Zhao, Jianjun.

Proceedings of the 18th International Symposium on Software Testing and Analysis, ISSTA 2009. Association for Computing Machinery, Inc, 2009. p. 25-35 (Proceedings of the 18th International Symposium on Software Testing and Analysis, ISSTA 2009).

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

Görg, MT & Zhao, J 2009, Identifying semantic differences in AspectJ programs. in Proceedings of the 18th International Symposium on Software Testing and Analysis, ISSTA 2009. Proceedings of the 18th International Symposium on Software Testing and Analysis, ISSTA 2009, Association for Computing Machinery, Inc, pp. 25-35, 18th International Symposium on Software Testing and Analysis, ISSTA 2009, Chicago, United States, 7/19/09. https://doi.org/10.1145/1572272.1572276
Görg MT, Zhao J. Identifying semantic differences in AspectJ programs. In Proceedings of the 18th International Symposium on Software Testing and Analysis, ISSTA 2009. Association for Computing Machinery, Inc. 2009. p. 25-35. (Proceedings of the 18th International Symposium on Software Testing and Analysis, ISSTA 2009). https://doi.org/10.1145/1572272.1572276
Görg, Martin Th ; Zhao, Jianjun. / Identifying semantic differences in AspectJ programs. Proceedings of the 18th International Symposium on Software Testing and Analysis, ISSTA 2009. Association for Computing Machinery, Inc, 2009. pp. 25-35 (Proceedings of the 18th International Symposium on Software Testing and Analysis, ISSTA 2009).
@inproceedings{e203d61c52974fc782b9c6034f34df73,
title = "Identifying semantic differences in AspectJ programs",
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.",
author = "G{\"o}rg, {Martin Th} and Jianjun Zhao",
year = "2009",
month = "7",
day = "19",
doi = "10.1145/1572272.1572276",
language = "English",
series = "Proceedings of the 18th International Symposium on Software Testing and Analysis, ISSTA 2009",
publisher = "Association for Computing Machinery, Inc",
pages = "25--35",
booktitle = "Proceedings of the 18th International Symposium on Software Testing and Analysis, ISSTA 2009",

}

TY - GEN

T1 - Identifying semantic differences in AspectJ programs

AU - Görg, Martin Th

AU - Zhao, Jianjun

PY - 2009/7/19

Y1 - 2009/7/19

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

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

UR - http://www.scopus.com/inward/record.url?scp=84930174735&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84930174735&partnerID=8YFLogxK

U2 - 10.1145/1572272.1572276

DO - 10.1145/1572272.1572276

M3 - Conference contribution

AN - SCOPUS:84930174735

T3 - Proceedings of the 18th International Symposium on Software Testing and Analysis, ISSTA 2009

SP - 25

EP - 35

BT - Proceedings of the 18th International Symposium on Software Testing and Analysis, ISSTA 2009

PB - Association for Computing Machinery, Inc

ER -