Automated Test Generation for AspectJ Programs
نویسندگان
چکیده
Aspect-oriented software development (AOSD) is a new paradigm that improves separation of concerns in software development. AOSD has gained popularity with the adoption of languages such as AspectJ. Automated test generation for AspectJ programs is important for reducing the manual effort in testing AspectJ programs. This position paper proposes Wrasp, a framework for automatic generation of tests for AspectJ programs. In aspect-oriented programs, we define three levels of units: advised methods (methods of base classes), advice, and intertype methods. Wrasp can generate tests to test the integration of these units. Wrasp can also generate tests to test advice as stand-alone units. The main contribution of Wrasp is automatic synthesis of appropriate wrapper classes that enable Wrasp to generate tests for AspectJ programs using the existing tools that generate tests for Java programs.
منابع مشابه
Automated State-Based Unit Testing for Aspect-Oriented Programs: A Supporting Framework
Interactions between aspects and classes are a new source for faults. Existing objectoriented testing techniques are not adequate for testing aspect-oriented programs. As a consequence, new testing techniques must be developed. We present, in this paper, a state-based unit testing technique for aspect-oriented programs and associated tool (AJUnit). The technique focuses on the integration of on...
متن کاملMeasuring and Improving the Runtime Behaviour of Aspectj Programs
AspectJ is a popular aspect-oriented extension to Java, providing powerful new features for the modularizing of crosscutting concerns, promising improved code quality. The runtime cost of these features, however, is currently not well understood, and is a concern limiting even more wide-spread adoption of the language. The crosscutting nature of AspectJ complicates the measurement of these cost...
متن کاملAutomated Test Code Generation from Class State Models
This paper presents an approach to automated generation of executable test code from class models represented by the UML protocol state machines. It supports several coverage criteria for state models, including state coverage, transition coverage, and basic and extended round-trip coverage. It allows the tester to add and modify detailed test parameters (e.g., actual arguments for method invoc...
متن کاملMuAspectJ: Mutant Generation to Support Measuring the Testability of AspectJ Programs
The impact of Aspect-Oriented Software Development (AOSD) on testability must be quantified before it can be considered for widespread adoption by industry. One way to measure testability is through mutation analysis (MA). In MA, a mutation tool generates faults for locations in software. Each fault is created in a new version of the software called a mutant. Testability of a location is measur...
متن کاملDefining Model Transformations for Property Templates
We defined the notion of property templates after we observed that many system failures can be clustered according to their symptoms, and the design constraints these failures violate [PW09]. In this technical report we document the semantics of property templates, and how we implemented these semantics in AspectJ code templates that support assertion generation for Java programs.
متن کامل