Sound Symbolic Execution via Abstract Interpretation and its Application to Security
Ignacio Tiraboschi, Tamara Rezk, Xavier Rival

TL;DR
This paper introduces RedSoundRSE, a novel static analysis method that combines symbolic execution and abstract interpretation to verify security properties like noninterference, providing soundness and counterexample generation within bounds.
Contribution
It proposes a new combined approach called RedSoundRSE that integrates symbolic execution with abstract interpretation for enhanced security analysis.
Findings
RedSoundRSE is sound and relatively precise within bounds.
It can generate counterexample traces for security violations.
Prototype implementation demonstrates effectiveness on challenging examples.
Abstract
Symbolic execution is a program analysis technique commonly utilized to determine whether programs violate properties and, in case violations are found, to generate inputs that can trigger them. Used in the context of security properties such as noninterference, symbolic execution is precise when looking for counterexample pairs of traces when insecure information flows are found, however it is sound only up to a bound thus it does not allow to prove the correctness of programs with executions beyond the given bound. By contrast, abstract interpretation-based static analysis guarantees soundness but generally lacks the ability to provide counterexample pairs of traces. In this paper, we propose to weave both to obtain the best of two worlds. We demonstrate this with a series of static analyses, including a static analysis called RedSoundRSE aimed at verifying noninterference.…
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.
