TY - GEN
T1 - A framework and tool supports for generating test inputs of AspectJ programs
AU - Xie, Tao
AU - Zhao, Jianjun
PY - 2006
Y1 - 2006
N2 - 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.
AB - 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.
KW - Aspect-oriented programs
KW - Aspect-oriented software development
KW - AspectJ
KW - Coverage criteria
KW - Coverage measurement
KW - Software testing
KW - Test generation
UR - http://www.scopus.com/inward/record.url?scp=34247379943&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=34247379943&partnerID=8YFLogxK
U2 - 10.1145/1119655.1119681
DO - 10.1145/1119655.1119681
M3 - Conference contribution
AN - SCOPUS:34247379943
SN - 159593300X
SN - 9781595933003
T3 - Proceedings of the 5th International Conference on Aspect-oriented Software Development 2006, AOSD'06
SP - 190
EP - 201
BT - Proceedings of the 5th International Conference on Aspect-oriented Software Development 2006, AOSD'06
T2 - 5th International Conference on Aspect-oriented Software Development 2006, AOSD'06
Y2 - 20 March 2006 through 24 March 2006
ER -