Symbolic Execution for Sequential and Multi-Process Programs with Unbounded Loops

semanticscholar(2011)

引用 0|浏览0
暂无评分
摘要
Symbolic execution is a powerful technique for automatically verifying properties of programs. Symbolic techniques have been developed for a variety of classes of assertions, to verify parallel as well as sequential programs, and even to verify functional equivalence of two programs. However, one limitation of these applications is that they typically require that constant (often small) bounds be imposed on the number of loop iterations. We present a generalization of symbolic execution that can reason about loops without bounds. This approach requires a user-provided loop invariant, but is otherwise fully automatic. Most importantly, it generalizes naturally to multi-process message-passing programs, and to verification of functional equivalence. We have realized the technique in the Toolkit for Accurate Scientific Software and demonstrated its effectiveness on several examples.
更多
查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要