๐ค AI Summary
This work addresses the challenge of debugging complex and opaque outputs generated by compositional symbolic execution (CSE) tools. To this end, it presents the first general-purpose debugging interface tailored for CSE, seamlessly integrated into Visual Studio Code, which enables visualization and interactive exploration of symbolic execution trees. The design is interfaced with the Gillian multi-language CSE platform and maintains tool-agnosticism, facilitating straightforward adaptation to other symbolic analysis frameworks. User studies demonstrate that the debugger significantly enhances novicesโ comprehension of CSE principles and effectively supports the verification of fundamental data structure algorithms.
๐ Abstract
In recent years, compositional symbolic execution (CSE) tools have been growing in prominence and are becoming more and more applicable to real-world codebases. Still to this day, however, debugging the output of these tools remains difficult, even for specialist users. To address this, we introduce a debugging interface for symbolic execution tools, integrated with Visual Studio Code and the Gillian multi-language CSE platform, with strong focus on visualisation, interactivity, and intuitive representation of symbolic execution trees. We take care in making this interface tool-agnostic, easing its transfer to other symbolic analysis tools in future. We empirically evaluate our work with a user study, the results of which show the debugger's usefulness in helping early researchers understand the principles of CSE and verify fundamental data structure algorithms in Gillian.