Yuan, Y., Zhou, Z., Belyakova, J., & Jagannathan, S. (2024). Derivative-Guided Symbolic Execution. In Proceedings of ABC ‘00 (pp. 1–12). ACM. https://doi.org/10.1145/nnnnnnn.nnnnnnn
This paper addresses the challenge of performing symbolic execution on functional programs that utilize effectful libraries with opaque implementations. The authors aim to develop an efficient symbolic execution procedure that leverages behavioral specifications, expressed as LTL formulae, to guide path exploration and identify potential safety violations in such programs.
The authors propose a novel symbolic execution framework that represents program states as traces of method invocations and return values. These traces are constrained by LTL specifications, which are interpreted as symbolic finite automata (SFAs). The key innovation lies in the use of symbolic derivatives, a mechanism inspired by Brzozowski derivatives, to efficiently explore the SFA structures and guide the symbolic execution engine towards potential error states.
The paper demonstrates that symbolic derivatives enable the symbolic execution procedure to:
The proposed derivative-guided symbolic execution framework offers a powerful approach for verifying safety properties in functional programs that interact with opaque libraries. By leveraging the temporal constraints encoded in LTL specifications, the technique significantly improves the efficiency of symbolic execution, enabling the analysis of more complex programs and specifications.
This research contributes to the field of program analysis by introducing a novel and efficient symbolic execution technique for programs interacting with opaque libraries. The use of symbolic derivatives for specification-guided path exploration presents a promising direction for improving the scalability and effectiveness of symbolic execution in practical software development.
The paper primarily focuses on safety properties and LTL specifications. Future work could explore the applicability of the approach to other types of program properties and specification languages. Additionally, investigating the integration of the technique with existing symbolic execution engines and tools would be beneficial for practical adoption.
To Another Language
from source content
arxiv.org
Key Insights Distilled From
by Yongwei Yuan... at arxiv.org 11-06-2024
https://arxiv.org/pdf/2411.02716.pdfDeeper Inquiries