Regression Testing of Virtual Prototypes Using Symbolic Execution
Bin Lin, Dejun Qian

TL;DR
This paper presents a symbolic execution-based method for regression testing virtual prototypes, enabling efficient detection of behavioral differences between different versions to ensure correctness and consistency.
Contribution
It introduces a novel approach that guides symbolic execution of old versions using constraints from new versions for effective regression testing.
Findings
Detected numerous behavioral differences between prototype versions
Proved the approach is useful for virtual prototype validation
Showed the method is efficient in practice
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Software Reliability and Analysis Research · Advanced Malware Detection Techniques
