ACM Home Page
Please provide us with feedback. Feedback
Identifying semantic differences in AspectJ programs
Full text PdfPdf (493 KB)
Source
International Symposium on Software Testing and Analysis archive
Proceedings of the eighteenth international symposium on Software testing and analysis table of contents
Chicago, IL, USA
SESSION: Static analysis and verification table of contents
Pages 25-36  
Year of Publication: 2009
ISBN:978-1-60558-338-9
Authors
Martin Th Görg  Shanghai Jiao Tong University, Shanghai, China
Jianjun Zhao  Shanghai Jiao Tong University, Shanghai, China
Sponsors
SIGSOFT: ACM Special Interest Group on Software Engineering
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 11,   Downloads (12 Months): 36,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1572272.1572276
What is a DOI?

ABSTRACT

Program differencing is a common means of software debugging. 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 modified. 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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
abc. The AspectBench Compiler for AspectJ. http://abc.comlab.ox.ac.uk/.
2
 
3
 
4
5
6
7
8
9
10
 
11
S. Huang and J. Zhao. A Framework and Tool Support for Control Flow Analysis of AspectJ Programs. Technical Report SJTU-CSE-TR-08-02, Shanghai Jiao Tong University, School of Software, Shanghai, 2008.
 
12
 
13
V. N. Kas'janov. Distinguishing hammocks in a directed graph. Soviet Math. Doklady, 16:448--450, 1975.
 
14
G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. V. Lopes, J. -M. Loingtier, and J. Irwin. Aspect-Oriented Programming. In ECOOP 1997, volume 1241 of LNCS, pages 220--242, Heidelberg, 1997. Springer.
 
15
J. Laski and W. Szermer. Identification of program modifications and its applications in software maintenance. In Proc. of the International Conference on Software Maintenance, pages 282--290, 1992.
16
17
18
 
19
Software Theory and Practice Group (STAP), 2005. http://stap.sjtu.edu.cn/.
 
20
Sun Microsystems. Java Platform, Standard Edition 6 API Specification. Sun Microsystems, 2007.
21
 
22
T. ter Braak. Extending Program Slicing in AspectOriented Programming with InterType Declarations. In 5th Twente Student Conference on IT, 2006.
 
23
The AspectJ Team. The AspectJ Programming Guide. http://aspectj.org.
 
24
 
25
 
26
 
27
S. Zhang, Z. Gu, Y. Lin, and J. Zhao. Change Impact Analysis for AspectJ Programs. Technical report, Shanghai Jiao Tong University, School of Software, Shanghai, 2007.

Collaborative Colleagues:
Martin Th Görg: colleagues
Jianjun Zhao: colleagues