ACM Home Page
Please provide us with feedback. Feedback
Flexible calling context reification for aspect-oriented programming
Full text PdfPdf (504 KB)
Source
Aspect-oriented software development archive
Proceedings of the 8th ACM international conference on Aspect-oriented software development table of contents
Charlottesville, Virginia, USA
SESSION: Aspect interference table of contents
Pages 63-74  
Year of Publication: 2009
ISBN:978-1-60558-442-3
Authors
Alex Villazon  University of Lugano, Lugano, Switzerland
Walter Binder  University of Lugano, Lugano, Switzerland
Philippe Moret  University of Lugano, Lugano, Switzerland
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): 17,   Downloads (12 Months): 130,   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/1509239.1509249
What is a DOI?

ABSTRACT

Aspect-oriented programming (AOP) eases the development of profilers, debuggers, and reverse engineering tools. Such tools frequently rely on calling context information. However, current AOP technology, such as AspectJ, does not offer dedicated support for accessing complete calling context within aspects. In this paper, we introduce a novel approach to calling context reification that reconciles flexibility, efficiency, accuracy, and portability. It relies on a generic bytecode instrumentation framework ensuring complete bytecode coverage, including the standard Java class library. We compose our program transformations for calling context reification with the AspectJ weaver, providing the aspect developer an efficient mechanism to manipulate a customizable representation of the complete calling context. To highlight the benefits of our approach, we present ReCrash as an aspect using a stack-based calling context representation; ReCrash is an existing tool that generates unit tests to reproduce program failures. In comparison with the original ReCrash tool, our aspect resolves several limitations, is extensible, covers also the standard Java class library, and causes less overhead.


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
 
2
3
 
4
5
6
7
8
9
10
11
12
 
13
14
15
 
16
 
17
JBoss. Open source middleware software. Web pages at http://labs.jboss.com/jbossaop/.
 
18
 
19
G. Kiczales, J. Lamping, A. Menhdhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-Oriented Programming. In M. Ak¸sit and S. Matsuoka, editors, Proceedings of European Conference on Object-Oriented Programming, volume 1241, pages 220--242. Springer-Verlag, Berlin, Heidelberg, and New York, 1997.
 
20
 
21
Z. Lin, X. Jiang, D. Xu, and X. Zhang. Automatic Protocol Format Reverse Engineering Through Context-Aware Monitored Execution. In Proceedings of the 15th Annual Network and Distributed System Security Symposium, San Diego, CA, February 2008.
 
22
23
24
 
25
 
26
Sun Microsystems, Inc. JVM Tool Interface (JVMTI) version 1.1. Web pages at http://java.sun.com/javase/6/docs/platform/jvmti/jvmti.html, 2006.
27
28
29

Collaborative Colleagues:
Alex Villazon: colleagues
Walter Binder: colleagues
Philippe Moret: colleagues