Generation of Efficient Test Cases for Mutation Testing
Faculty Mentor Information
Dr. Elena Sherman
Abstract
Testing is one of the mainstream program verification techniques where a program is executed on a set of program inputs. A single such input is referred to as a test case and a set of test cases are called a test suite. Forming such a test suite from infinitely many test cases is an important research approach in testing. One of the selection techniques is mutation testing. In this approach several copies of the original program are created with each copy slightly modified, or mutated. This modification simulates a defected version of this program. The goal is to create test cases that expose the bugs in the mutated copies, which are referred to as mutants. The goal of this project is to develop a framework that (1) generates mutants, (2) records possible program paths that could expose the mutation and (3) using dynamic symbolic execution generates a test suite that executes those paths. This framework will allow us to automatically and efficiently test the quality of programs, and in turn make sure the programs execute the way they are intended to.
Generation of Efficient Test Cases for Mutation Testing
Testing is one of the mainstream program verification techniques where a program is executed on a set of program inputs. A single such input is referred to as a test case and a set of test cases are called a test suite. Forming such a test suite from infinitely many test cases is an important research approach in testing. One of the selection techniques is mutation testing. In this approach several copies of the original program are created with each copy slightly modified, or mutated. This modification simulates a defected version of this program. The goal is to create test cases that expose the bugs in the mutated copies, which are referred to as mutants. The goal of this project is to develop a framework that (1) generates mutants, (2) records possible program paths that could expose the mutation and (3) using dynamic symbolic execution generates a test suite that executes those paths. This framework will allow us to automatically and efficiently test the quality of programs, and in turn make sure the programs execute the way they are intended to.
Comments
Poster #Th34