ACM Home Page
Please provide us with feedback. Feedback
A framework and tool supports for generating test inputs of AspectJ programs
Full text PdfPdf (195 KB)
Source Aspect-oriented software development archive
Proceedings of the 5th international conference on Aspect-oriented software development table of contents
Bonn, Germany
SESSION: Testing table of contents
Pages: 190 - 201  
Year of Publication: 2006
ISBN:1-59593-300-X
Authors
Tao Xie  North Carolina State University, Raleigh, NC
Jianjun Zhao  Shanghai Jiao Tong University, Shanghai, China
Sponsor
AOSD-Europe : European Network of Excellent on Aspect-oriented Software Development
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 12,   Downloads (12 Months): 75,   Citation Count: 12
Additional Information:

abstract   references   cited by   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/1119655.1119681
What is a DOI?

ABSTRACT

Aspect-oriented software development is gaining popularity with the wider adoption of languages such as AspectJ. To reduce the manual effort of testing aspects in AspectJ programs, we have developed a framework, called Aspectra, that automates generation of test inputs for testing aspectual behavior, i.e., the behavior implemented in pieces of advice or intertype methods defined in aspects. To test aspects, developers construct base classes into which the aspects are woven to form woven classes. Our approach leverages existing test-generation tools to generate test inputs for the woven classes; these test inputs indirectly exercise the aspects. To enable aspects to be exercised during test generation, Aspectra automatically synthesizes appropriate wrapper classes for woven classes. To assess the quality of the generated tests, Aspectra defines and measures aspectual branch coverage (branch coverage within aspects). To provide guidance for developers to improve test coverage, Aspectra also defines interaction coverage. We have developed tools for automating Aspectra's wrapper synthesis and coverage measurement, and applied them on testing 12 subjects taken from a variety of sources. Our experience has shown that Aspectra effectively provides tool supports in enabling existing test-generation tools to generate test inputs for improving aspectual branch coverage.


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
AspectJ compiler 1.2, May 2004, http://eclipse.org/aspectj/.
 
2
abc: The AspectBench Compiler for AspectJ, version 1.0.2, Feburary 2005. http://aspectbench.org/.
 
3
Apache Avalon Framework, August 2005. http://excalibur.apache.org/.
 
4
R. T. Alexander, J. M. Bieman, and A. A. Andrews. Towards the systematic testing of aspect-oriented programs. Technical Report CS-4-105, Department of Computer Science, Colorado State University, Fort Collins, Colorado, 2004.
 
5
 
6
R. D. Asberry. Aspect oriented programming (AOP): Using AspectJ to implement and enforce coding standards. Draft manuscript, 2002.
7
 
8
9
 
10
 
11
M. Dahm and J. van Zyl. Byte Code Engineering Library, April 2003. http://jakarta.apache.org/bcel/.
12
13
 
14
 
15
Y. Hassoun, R. Johnson, and S. Counsell. Emprical validation of a dynamic coupling metric. Technical Report BBKCS-04-03, Birbeck College London, March 2004.
16
 
17
JUnit, 2003. http://www.junit.org.
 
18
G. Kiczales, J. Lamping, A. Menhdhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-oriented programming. In Proc. 11th European Conference on Object-Oriented Programming, pages 220--242. 1997.
19
 
20
R. Laddad. AspectJ in Action. Manning, 2003.
21
22
 
23
C. V. Lopes and T. Ngo. Unit testing aspectual behavior. In Proc. AOSD 05 Workshop on Testing Aspect-Oriented Programs, March 2005.
 
24
R. E. Lopez-Herrejon and D. Batory. Using AspectJ to implement product-lines: A case study. Technical report, University of Texis at Austin, September 2002.
25
 
26
Parasoft. Jtest manuals version 4.5. Online manual, April 2003. http://www.parasoft.com/.
27
28
 
29
30
31
 
32
T. Xie, D. Marinov, and D. Notkin. Improving generation of object-oriented test suites by avoiding redundant tests. Technical Report UW-CSE-04-01-05, University of Washington Department of Computer Science and Engineering, Seattle, WA, Jan. 2004.
 
33
 
34
T. Xie, D. Marinov, W. Schulte, and D. Noktin. Symstra: A framework for generating object-oriented unit tests using symbolic execution. In Proc. the International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS 2005), April 2005.
 
35
D. Xu, W. Xu, and K. Nygard. A state-based approach to testing aspect-oriented programs. In Proc. 17th International Conference on Software Engineering and Knowledge Engineering, July 2005.
 
36
J. Zhao. Tool support for unit testing of aspect-oriented software. In Proc. OOPSLA'2002 Workshop on Tools for Aspect-Oriented Software Development, Nov. 2002.
 
37
 
38
Y. Zhou, D. Richardson, and H. Ziv. Towards a practical approach to test aspect-oriented software. In Proc. 2004 Workshop on Testing Component-based Systems (TECOS 2004), Net.ObjectiveDays, Sept. 2004.
39

CITED BY  12