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 measured by executing tests against mutants and counting the proportion of mutants that cause test failure. To quantify the testability of approaches to AOSD through MA, mutant generation tools are needed. This paper introduces MuAspectJ, a tool for generating mutants for AspectJ programs, to satisfy this need. The tool is evaluated in terms of the quality of mutants it generates. Assertions reached about the testability of the software under MA are derived by aggregating the testability of each location. The quality of the assertions that can be derived from MA results is only as good as the mutants on which the analysis is based. MuAspectJ is evaluated by benchmarking metrics that indicate the quality of generated mutants against the existing well known Java mutation tool, MuJava. The results validate the quality of the mutants generated by MuAspectJ.
منابع مشابه
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...
متن کامل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.
متن کاملPartial Automation of Sensitivity Analysis by Mutant Schemata Approach
According to Voas et al. testability is defined as the ease with in which faults may manifest themselves as failures when the software undergoes the testing process [39]. They also went further by introducing an approach for measuring sensitivity in terms of estimates from Propagation, Infection, and Execution (PIE) analyses of software and calculating the testability of a program through sensi...
متن کاملFault Insertion in Concurrent Object-Oriented Programs for Mutation Analysis and Testability Measurement
Testability measurement and mutation analysis approaches require programs to be seeded with faults that represent plausible programmer errors. Software testability [5] is defined as the likelihood of a program failing on the next test input from a predefined input distribution, given that there is a fault in the program. Mutation analysis [2] requires the insertion of faults into a program with...
متن کامل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 te...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2008