Killing Stubborn Mutants with Symbolic Execution

01/09/2020
by   Thierry Titcheu Chekam, et al.
0

We introduce SeMu, a Dynamic Symbolic Execution technique that generates test inputs capable of killing stubborn mutants (killable mutants that remain undetected after a reasonable amount of testing). SeMu aims at mutant propagation (triggering erroneous states to the program output) by incrementally searching for divergent program behaviours between the original and the mutant versions. We model the mutant killing problem as a symbolic execution search within a specific area in the programs' symbolic tree. In this framework, the search area is defined and controlled by parameters that allow scalable and cost-effective mutant killing. We integrate SeMu in KLEE and experimented with Coreutils (a benchmark frequently used in symbolic execution studies). Our results show that our modelling plays an important role in mutant killing. Perhaps more importantly, our results also show that, within a two-hour time limit, SeMu kills 37 none and where the mutant infection strategy (strategy suggested by previous research) kills 17

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/01/2020

TracerX: Dynamic Symbolic Execution with Interpolation

Dynamic Symbolic Execution (DSE) is an important method for the testing ...
research
02/15/2020

Legion: Best-First Concolic Testing

Legion is a grey-box concolic tool that aims to balance the complementar...
research
11/22/2017

Relational Symbolic Execution

Symbolic execution is a classical program analysis technique, widely use...
research
02/05/2018

Shadow Symbolic Execution with Java PathFinder

Regression testing ensures that a software system when it evolves still ...
research
06/03/2021

Distributed Symbolic Execution using Test-Depth Partitioning

Symbolic execution is a classic technique for systematic bug finding, wh...
research
12/05/2017

On Benchmarking the Capability of Symbolic Execution Tools with Logic Bombs

Symbolic execution is an important software testing approach. It has bee...
research
02/17/2022

Scheduling Complexity of Interleaving Search

miniKanren is a lightweight embedded language for logic and relational p...

Please sign up or login with your details

Forgot password? Click here to reset