A Generic Approach to Run Mutation Analysis Siamak Haschemi and Stephan Weißleder Humboldt-Universität zu Berlin METRIK Research Training Group TAIC-PART 2010 Sonntag, 5. September 2010 Mutation Analysis 2 Sonntag, 5. September 2010 Mutation Analysis SUT 2 Sonntag, 5. September 2010 Mutation Analysis SUT 2 Sonntag, 5. September 2010 Mutation Analysis SUT 2 Sonntag, 5. September 2010 Mutation Analysis SUT 2 Sonntag, 5. September 2010 Mutation Analysis SUT 2 Sonntag, 5. September 2010 Mutation Analysis SUT 2 Sonntag, 5. September 2010 Mutation Analysis SUT 2 Sonntag, 5. September 2010 Mutation Analysis SUT Mutation Operator SUT 2 Sonntag, 5. September 2010 Mutation Analysis SUT Mutation Operator SUT 2 Sonntag, 5. September 2010 Mutation Analysis SUT SUT 2 Sonntag, 5. September 2010 Mutation Analysis SUT SUT 2 Sonntag, 5. September 2010 Mutation Analysis SUT SUT 2 Sonntag, 5. September 2010 Mutation Analysis Mutation Score = 2 Sonntag, 5. September 2010 Mutation Analysis http://www.dcs.kcl.ac.uk/pg/jiayue/repository 2 Sonntag, 5. September 2010 SUT 3 Sonntag, 5. September 2010 SUT 3 Sonntag, 5. September 2010 SUT 3 Sonntag, 5. September 2010 SUT 3 Sonntag, 5. September 2010 SUT 3 Sonntag, 5. September 2010 SUT 3 Sonntag, 5. September 2010 SUT OSGi (modularization for Java) 3 Sonntag, 5. September 2010 MTF SUT OSGi (modularization for Java) 3 Sonntag, 5. September 2010 MTF SUT OSGi (modularization for Java) 3 Sonntag, 5. September 2010 MTF SUT OSGi (modularization for Java) 3 Sonntag, 5. September 2010 MTF SUT Jumble Javalanche OSGi (modularization for Java) 3 Sonntag, 5. September 2010 MTF Jumble Javalanche SUT ? OSGi (modularization for Java) 3 Sonntag, 5. September 2010 Problem SUT Mutation Analysis Tool conf 4 Sonntag, 5. September 2010 Problem SUT Mutation Analysis Tool conf 4 Sonntag, 5. September 2010 Problem SUT Mutation Analysis Tool conf 4 Sonntag, 5. September 2010 Problem SUT Mutation Analysis Tool Mutation Score Documentation Visualization conf 4 Sonntag, 5. September 2010 Problem SUT Mutation Analysis Tool Mutation Score Documentation Visualization conf 4 Sonntag, 5. September 2010 Mutation Analysis Tool A Mutation Analysis Tool B Mutation Analysis Tool API Approach Mutation Integration Framework Code Generator for Execution Environment X Execution Environment X Mutation Metamodel Code Generator for Execution Environment Y Execution Environment Y 5 Sonntag, 5. September 2010 Approach SUT conf 6 Sonntag, 5. September 2010 Approach SUT conf Jumble 6 Sonntag, 5. September 2010 Approach SUT conf Jumble 6 Sonntag, 5. September 2010 Approach SUT conf Jumble 6 Sonntag, 5. September 2010 Approach SUT conf Jumble 6 Sonntag, 5. September 2010 Approach SUT Environmentspecific Code conf Jumble 6 Sonntag, 5. September 2010 Approach SUT Environmentspecific Code conf Jumble 6 Sonntag, 5. September 2010 Approach SUT Environmentspecific Code conf Jumble 6 Sonntag, 5. September 2010 Approach Jumble 7 Sonntag, 5. September 2010 Approach Jumble 7 Sonntag, 5. September 2010 Approach Jumble 7 Sonntag, 5. September 2010 Approach Jumble 7 Sonntag, 5. September 2010 Approach Jumble 7 Sonntag, 5. September 2010 Approach Jumble 7 Sonntag, 5. September 2010 Approach Jumble 7 Sonntag, 5. September 2010 Demo 8 Sonntag, 5. September 2010 Conclusion • Mutation Analysis to measure the fault detection ability of a test suite • Mutation Analysis Tools have hard requirements on the execution environments • We separate the calculation and creation of mutants to support any execution environment (by generating code) 9 Sonntag, 5. September 2010