Introduction Mutation Analysis Empirical Evaluation Conclusion Software Testing What is a Test Case? Expected Expected Test Output Output Set Up Method Test Input Output Output Under Test Oracle Test Test Test Clean Up Verdict Verdict The test case fails and a defect is found! Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Software Testing What is a Test Suite? T 1 T 2 Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Software Testing What is a Test Suite? T 1 T 2 T 3 T 4 Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Software Testing What is a Test Suite? T 1 T 2 T 3 T 4 T 5 T 6 Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Software Testing What is a Test Suite? T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 8 Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Software Testing What is a Test Suite? T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 8 T 9 T 10 Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Software Testing What is a Test Suite? Test Suite T = � T 1 , T 2 , . . . , T 9 , T 10 � T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 8 T 9 T 10 Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Software Testing What is a Test Suite? Test Suite T = � T 1 , T 2 , . . . , T 9 , T 10 � T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 8 T 9 T 10 R 1 R 2 Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Software Testing What is a Test Suite? Test Suite T = � T 1 , T 2 , . . . , T 9 , T 10 � T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 8 T 9 T 10 R 1 R 2 R 3 R 4 Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Software Testing What is a Test Suite? Test Suite T = � T 1 , T 2 , . . . , T 9 , T 10 � T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 8 T 9 T 10 R 1 R 2 R 3 R 4 R 5 R 6 Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Software Testing What is a Test Suite? Test Suite T = � T 1 , T 2 , . . . , T 9 , T 10 � T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 8 T 9 T 10 R 1 R 2 R 3 R 4 R 5 R 6 F 1 F 2 Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Software Testing What is a Test Suite? Test Suite T = � T 1 , T 2 , . . . , T 9 , T 10 � T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 8 T 9 T 10 R 1 R 2 R 3 R 4 R 5 R 6 F 1 F 2 F 3 F 4 Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Software Testing What is a Test Suite? Test Suite T = � T 1 , T 2 , . . . , T 9 , T 10 � T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 8 T 9 T 10 R 1 R 2 R 3 R 4 R 5 R 6 F 1 F 2 F 3 F 4 B 1 B 2 Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Software Testing What is a Test Suite? Test Suite T = � T 1 , T 2 , . . . , T 9 , T 10 � T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 8 T 9 T 10 R 1 R 2 R 3 R 4 R 5 R 6 F 1 F 2 F 3 F 4 B 1 B 2 Requirements R = { R 1 , . . . , R 6 } , Features F = { F 1 , . . . , F 4 } , Bug Fixes B = { B 1 , B 2 } Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Software Testing What is a Test Suite? Test Suite T = � T 1 , T 2 , . . . , T 9 , T 10 � T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 8 T 9 T 10 R 1 R 2 R 3 R 4 R 5 R 6 F 1 F 2 F 3 F 4 B 1 B 2 B 2 B 2 B 2 B 2 Requirements R = { R 1 , . . . , R 6 } , Features F = { F 1 , . . . , F 4 } , Bug Fixes B = { B 1 , B 2 } Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Software Testing What is a Test Suite? Test Suite T = � T 1 , T 2 , . . . , T 9 , T 10 � T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 8 T 9 T 10 R 1 R 2 R 3 R 4 R 5 R 6 F 1 F 2 F 3 F 4 B 1 B 2 B 2 B 2 B 2 B 2 B 2 B 2 Requirements R = { R 1 , . . . , R 6 } , Features F = { F 1 , . . . , F 4 } , Bug Fixes B = { B 1 , B 2 } Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Software Testing What is a Test Suite? Test Suite T = � T 1 , T 2 , . . . , T 9 , T 10 � T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 8 T 9 T 10 R 1 R 2 R 3 R 4 R 5 R 6 F 1 F 2 F 3 F 4 B 1 B 2 B 2 B 2 B 2 B 2 B 2 B 2 B 2 B 2 B 2 B 2 Requirements R = { R 1 , . . . , R 6 } , Features F = { F 1 , . . . , F 4 } , Bug Fixes B = { B 1 , B 2 } Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Software Testing What is a Test Suite? Test Suite T = � T 1 , T 2 , . . . , T 9 , T 10 � T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 8 T 9 T 10 R 1 R 2 R 3 R 4 R 5 R 6 F 1 F 2 F 3 F 4 B 1 B 2 Requirements R = { R 1 , . . . , R 6 } , Features F = { F 1 , . . . , F 4 } , Bug Fixes B = { B 1 , B 2 } Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Software Testing What is a Test Suite? Test Suite T = � T 1 , T 2 , . . . , T 9 , T 10 � T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 8 T 9 T 10 How Good is Test Suite T ? R 1 R 2 R 3 R 4 R 5 R 6 F 1 F 2 F 3 F 4 B 1 B 2 Requirements R = { R 1 , . . . , R 6 } , Features F = { F 1 , . . . , F 4 } , Bug Fixes B = { B 1 , B 2 } Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Software Testing What is a Test Suite? Test Suite T = � T 1 , T 2 , . . . , T 9 , T 10 � T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 8 T 9 T 10 How Good is Test Suite T ? Coverage Analysis R 1 R 2 R 3 R 4 R 5 R 6 F 1 F 2 F 3 F 4 B 1 B 2 Requirements R = { R 1 , . . . , R 6 } , Features F = { F 1 , . . . , F 4 } , Bug Fixes B = { B 1 , B 2 } Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Software Testing What is a Test Suite? Test Suite T = � T 1 , T 2 , . . . , T 9 , T 10 � T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 8 T 9 T 10 How Good is Test Suite T ? Coverage Analysis Mutation Analysis R 1 R 2 R 3 R 4 R 5 R 6 F 1 F 2 F 3 F 4 B 1 B 2 Requirements R = { R 1 , . . . , R 6 } , Features F = { F 1 , . . . , F 4 } , Bug Fixes B = { B 1 , B 2 } Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Conceptual Faults if(a > 10) Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Conceptual Faults if(a > 10) if(a >= 10) Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Conceptual Faults if(a > 10) if(a >= 10) Implemented Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Conceptual Faults if(a > 10) if(a >= 10) Implemented Potential Fault Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Conceptual Faults a if(a > 10) if(a >= 10) true false Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Conceptual Faults a a if(a > 10) if(a >= 10) true false true false Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Conceptual Faults a a a = 0 if(a > 10) if(a >= 10) true false true false Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Conceptual Faults a a a = 0 if(a > 10) if(a >= 10) true false false true false false Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Conceptual Faults a a a = 15 if(a > 10) if(a >= 10) true false true false Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Conceptual Faults a a a = 15 if(a > 10) if(a >= 10) true true false true true false Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Conceptual Faults a a a = 10 if(a > 10) if(a >= 10) true false true false Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Conceptual Faults a a a = 10 if(a > 10) if(a >= 10) true false false true true false Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Conceptual Faults a a a = 10 if(a > 10) if(a >= 10) true false false true true false Can the tests differentiate between implemented and potential fault ? Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Conceptual Faults a a a = 10 if(a > 10) if(a >= 10) true false false true true false If yes , then the tests are adequate ! Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Conceptual Faults a a a = 10 if(a > 10) if(a >= 10) true false false true true false If no , then the tests must be improved ! Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Conceptual Faults a a a = 10 if(a > 10) if(a >= 10) true false false true true false Purposefully insert faults in order to implement quality software! Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Overview of Mutation Analysis Mutation Operator Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Overview of Mutation Analysis Mutation Mutation Operator Operator Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Overview of Mutation Analysis Mutation Mutation Mutation Mutation Operator Operator Operator Operator Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Overview of Mutation Analysis Mutation Mutation Mutation Mutation Operator Operator Operator Operator Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Overview of Mutation Analysis Mutation Mutation Mutation Mutation Operator Operator Operator Operator Methodically inject small syntactical faults into the program under test Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Overview of Mutation Analysis Mutation Mutation Mutation Mutation Operator Operator Operator Operator Methodically inject small syntactical faults into the program under test Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Overview of Mutation Analysis Mutation Mutation Mutation Mutation Operator Operator Operator Operator Methodically inject small syntactical faults into the program under test Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Overview of Mutation Analysis Mutation Mutation Mutation Mutation Operator Operator Operator Operator Methodically inject small syntactical faults into the program under test Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Overview of Mutation Analysis Mutation Mutation Mutation Mutation Operator Operator Operator Operator Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Overview of Mutation Analysis Test Case T 1 Test Case T 2 Test Case T 3 Test Case T 4 Execute the test suite after enabling a single mutant in the program under test Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Overview of Mutation Analysis Test Case T 1 Test Case T 2 Test Case T 3 Test Case T 4 Execute the test suite after enabling a single mutant in the program under test Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Overview of Mutation Analysis Test Case T 1 Test Case T 2 Test Case T 3 Test Case T 4 Execute the test suite after enabling a single mutant in the program under test Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Overview of Mutation Analysis Test Case T 1 Test Case T 2 Test Case T 3 Test Case T 4 Execute the test suite after enabling a single mutant in the program under test Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Overview of Mutation Analysis Test Case T 1 Test Case T 2 Test Case T 3 Test Case T 4 Execute the test suite after enabling a single mutant in the program under test Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Overview of Mutation Analysis Test Case T 1 Test Case T 2 Test Case T 3 Test Case T 4 Execute the test suite after enabling a single mutant in the program under test Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Overview of Mutation Analysis Test Case T 1 Test Case T 2 Test Case T 3 Test Case T 4 Execute the test suite after enabling a single mutant in the program under test Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Overview of Mutation Analysis Test Case T 1 Test Case T 2 Test Case T 3 Test Case T 4 Execute the test suite after enabling a single mutant in the program under test Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Overview of Mutation Analysis Test Case T 1 Test Case T 2 Test Case T 3 Test Case T 4 Execute the test suite after enabling a single mutant in the program under test Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Overview of Mutation Analysis Test Case T 1 Test Case T 2 Test Case T 3 Test Case T 4 The test suite Execute the cannot kill the test suite after mutant – either enabling a a test suite single mutant weakness or in the program an equivalent under test mutant! Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Overview of Mutation Analysis Test Case T 1 Test Case T 2 Test Case T 3 Test Case T 4 Repeat this Execute the process for test suite after all of the enabling a test cases single mutant and mutants in the program – calculate mutation score under test when finished Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Contributions of this Presentation Efficient Mutation Analysis Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Contributions of this Presentation Efficient Challenges Mutation Analysis Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Contributions of this Presentation Efficient Challenges Mutation Analysis Solutions Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Contributions of this Presentation Efficient Challenges Mutation Analysis Solutions Conditional Mutation Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Contributions of this Presentation Efficient Challenges Mutation Analysis Solutions Conditional Mutation Syntax Tree Transformation Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Contributions of this Presentation Efficient Challenges Mutation Analysis Solutions Conditional Mutation Syntax Tree Transformation Expressions and Statements Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Contributions of this Presentation Efficient Challenges Mutation Analysis Solutions Conditional Mutation Compiler Syntax Tree Integrated Transformation Expressions and Statements Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Contributions of this Presentation Efficient Challenges Comprehensive Mutation Empirical Study Analysis Solutions Conditional Mutation Compiler Syntax Tree Integrated Transformation Expressions and Statements Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Contributions of this Presentation Efficient Technique - Fully Integrated into the Java 6 SE Compiler Efficient Challenges Comprehensive Mutation Empirical Study Analysis Solutions Conditional Mutation Compiler Syntax Tree Integrated Transformation Expressions and Statements Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Understanding Mutation Analysis public int eval( int x){ int a=3, b=1, y; y = a * x; y += b; return y; } public int max( int a, int b){ int max = a; if (b>a){ max=b; } return max; } Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Understanding Mutation Analysis public int eval( int x){ int a=3, b=1, y; y = a * x; Methodically y += b; inject small return y; } syntactical public int max( int a, int b){ faults into int max = a; the program under test if (b>a){ max=b; } return max; } Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Understanding Mutation Analysis public int eval( int x){ int a=3, b=1, y; y = a * x; y += b; return y; } public int max( int a, int b){ int max = a; if (b>a){ max=b; } return max; } Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Understanding Mutation Analysis public int eval( int x){ int a=3, b=1, y; • y = a - x; • y = a + x; ⇒ y = a * x; = • y = a / x; y += b; return y; } public int max( int a, int b){ int max = a; • if(b < a) • if(b != a) if (b>a){ ⇒ = max=b; • if(b == a) } return max; } Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Understanding Mutation Analysis public int eval( int x){ Unbiased int a=3, b=1, y; and powerful y = a * x; method for assessing y += b; oracles and return y; } input values public int max( int a, int b){ int max = a; if (b>a){ max=b; } return max; } Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Understanding Mutation Analysis public int eval( int x){ Unbiased int a=3, b=1, y; and powerful y = a * x; method for assessing y += b; oracles and return y; } input values public int max( int a, int b){ Useful method int max = a; for fault seeding if (b>a){ during the max=b; empirical study } of testing return max; techniques } Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Mutation Analysis Challenges Mutant Generation Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Mutation Analysis Challenges Mutation Mutant Operators Generation Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Mutation Analysis Challenges Program Mutation Mutant Operators Generation Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Mutation Analysis Challenges Program Mutation Mutant Mutants Operators Generation Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Mutation Analysis Challenges Often Yields a Substantial Num- Program ber of Mutants Mutation Mutant Mutants Operators Generation Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Mutation Analysis Challenges Often Yields a Substantial Num- Program ber of Mutants Mutation Mutant Mutants Operators Generation High Time Over- head for Generation Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Mutation Analysis Challenges Often Yields a Substantial Num- Program ber of Mutants Mutation Mutant Mutants Operators Generation Mutation Analysis High Time Over- head for Generation Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Introduction Mutation Analysis Empirical Evaluation Conclusion Fundamental Concepts Mutation Analysis Challenges Often Yields a Substantial Num- Program ber of Mutants Mutation Mutant Mutants Operators Generation Mutation Tests Analysis High Time Over- head for Generation Kapfhammer Allegheny College Efficient and Effective Mutation Testing: Supporting the Implementation of Quality Software by Purposefully Inserting Defects
Recommend
More recommend