SEJan 22, 2016

Regression Testing of Virtual Prototypes Using Symbolic Execution

arXiv:1601.05850v14 citations
AI Analysis

This addresses a specific problem for electronics companies in accelerating software development, but it is incremental as it applies existing symbolic execution techniques to virtual prototypes.

The paper tackles the challenge of testing and validating virtual prototypes by introducing a regression testing approach using symbolic execution to compare device states between old and new versions, detecting numerous differences in experiments.

Recently virtual platforms and virtual prototyping techniques have been widely applied for accelerating software development in electronics companies. It has been proved that these techniques can greatly shorten time-to-market and improve product quality. One challenge is how to test and validate a virtual prototype. In this paper, we present how to conduct regression testing of virtual prototypes in different versions using symbolic execution. Suppose we have old and new versions of a virtual prototype, we first apply symbolic execution to the new version and collect all path constraints. Then the collected path constraints are used for guiding the symbolic execution of the old version. For each path explored, we compare the device states between two versions to check if they behave the same. We have applied this approach to a widely-used virtual prototype and detected numerous differences. The experimental results show that our approach is useful and efficient.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes