Automatically Generating Test Cases for Safety-Critical Software via Symbolic Execution
Elson Kurian, Daniela Briola, Pietro Braione, Giovanni Denaro

TL;DR
This paper demonstrates that symbolic execution can effectively generate high-quality test cases for safety-critical software developed in Scade, addressing challenges posed by language constraints and supporting industrial safety standards.
Contribution
It introduces a novel test generator tailored for Scade, showcasing its practical application and effectiveness in a real-world railway safety-critical system.
Findings
Symbolic execution successfully generated test cases for Scade programs.
The approach met safety-critical testing standards in a railway system case study.
Empirical evidence supports symbolic execution as a viable testing method for safety-critical software.
Abstract
Automated test generation based on symbolic execution can be beneficial for systematically testing safety-critical software, to facilitate test engineers to pursue the strict testing requirements mandated by the certification standards, while controlling at the same time the costs of the testing process. At the same time, the development of safety-critical software is often constrained with programming languages or coding conventions that ban linguistic features which are believed to downgrade the safety of the programs, e.g., they do not allow dynamic memory allocation and variable-length arrays, limit the way in which loops are used, forbid recursion, and bound the complexity of control conditions. As a matter of facts, these linguistic features are also the main efficiency-blockers for the test generation approaches based on symbolic execution at the state of the art. This paper…
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 Engineering Research · Model-Driven Software Engineering Techniques
