Automated Synthesis of Software Contracts with KindSpec.

Analysis, Verification and Transformation for Declarative Programming and Intelligent Systems(2023)

引用 0|浏览1
暂无评分
摘要
In this paper, we describe KindSpec, an automated tool that synthesizes software contracts from programs that are written in a significant fragment of C that supports pointer-based structures, heap manipulation, and recursion. By relying on a semantic definition of the C language in the $$\mathbb {K}$$ semantic framework, KindSpec leverages the symbolic execution capabilities of $$\mathbb {K}$$ to axiomatically explain any program function. This is done by using observer routines in the same program to characterize the program states before and after the function execution. The generated contracts are expressed in the form of logical axioms that specify the precise input/output behavior of the C routines, including both general axioms for default behavior and exceptional axioms for the specification error behavior. We summarize the main services provided by KindSpec, which also include a novel refinement facility that improves the quality and accuracy of the synthesized contracts. Finally, we provide an experimental evaluation that assesses its effectiveness.
更多
查看译文
关键词
software contracts,synthesis
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要