Shadow Symbolic Execution with Java PathFinder

02/05/2018
by   Yannic Noller, et al.
0

Regression testing ensures that a software system when it evolves still performs correctly and that the changes introduce no unintended side-effects. However, the creation of regression test cases that show divergent behavior needs a lot of effort. A solution is the idea of shadow symbolic execution, originally implemented based on KLEE for programs written in C, which takes a unifed version of the old and the new program and performs symbolic execution guided by concrete values to explore the changed behavior. In this work, we apply the idea of shadow symbolic execution to Java programs and, hence, provide an extension of the Java PathFinder (JPF) project to perform shadow symbolic execution on Java bytecode. The extension has been applied on several subjects from the JPF test classes where it successfully generated test inputs that expose divergences relevant for regression testing.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/16/2017

Enhancing Symbolic Execution of Heap-based Programs with Separation Logic for Test Input Generation

Symbolic execution is a well established method for test input generatio...
research
06/11/2023

Attention, Compilation, and Solver-based Symbolic Analysis are All You Need

In this paper we present a Java-to-Python (J2P) and Python-to-Java (P2J)...
research
03/17/2023

On the Effect of Instrumentation on Test Flakiness

Test flakiness is a problem that affects testing and processes that rely...
research
03/12/2019

RocketRML - A NodeJS implementation of a use-case specific RML mapper

The creation of Linked Data from raw data sources is, in theory, no rock...
research
01/09/2020

Killing Stubborn Mutants with Symbolic Execution

We introduce SeMu, a Dynamic Symbolic Execution technique that generates...
research
04/13/2018

Active Learning for Efficient Testing of Student Programs

In this work, we propose an automated method to identify semantic bugs i...
research
12/19/2017

An Exploratory Survey of Hybrid Testing Techniques Involving Symbolic Execution and Fuzzing

Recent efforts in practical symbolic execution have successfully mitigat...

Please sign up or login with your details

Forgot password? Click here to reset