TY - GEN
T1 - Identifying semantic differences in AspectJ programs
AU - Görg, Martin Th
AU - Zhao, Jianjun
N1 - Funding Information:
This work was supported in part by the National Natural Science Foundation of China (NSFC) (Grant No.60673120), National High Technology Development Program of China (Grant No.2006AA01Z158) and Shanghai Pujiang Program (Grant No.07pj14058). We would like to thank Sai Zhang and Si Huang for their valuable discussions on this work.
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
T2 - 18th International Symposium on Software Testing and Analysis, ISSTA 2009
Y2 - 19 July 2009 through 23 July 2009
ER -