VSL 2014: VIENNA SUMMER OF LOGIC 2014

Optimal Guard Synthesis for Memory Safety

Authors: Thomas Dillig, Isil Dillig and Swarat Chaudhuri

PapersPapers with AbstractsPrefaceAuthor IndexKeyword Index

Paper Information

Title:Optimal Guard Synthesis for Memory Safety
Authors:Thomas Dillig, Isil Dillig and Swarat Chaudhuri
Proceedings:CAV 2014 LNCS Proceedings
Editors: Armin Biere, Swen Jacobs and Roderick Bloem
Keywords:program synthesis, memory safety, abductive reasoning
Abstract:

ABSTRACT. This paper presents a new synthesis-based approach for helping programmers write low-level memory-safe code. Specifically, given a partial program with missing guards, our algorithm synthesizes concrete predicates to plug in for the missing guards such that all buffer accesses in the program are guaranteed to be memory safe. Furthermore, our algorithm gives a guarantee of optimality in that the synthesized guards are provably the simplest (that is, with the fewest number of variables) and weakest among guards that guarantee memory safety. Our approach is fully automatic and does not require any hints, such as templates, from the user. We have implemented our proposed algorithm in a prototype synthesis tool for C programs. Our experimental evaluation on a set of real-world C programs shows that the proposed approach is able to successfully synthesize guards that closely match hand-written programmer code.

Pages:17
Talk:Jul 21 11:45
Paper:
Disclaimer | Powered by EasyChair Smart Program