Optimal Guard Synthesis for Memory Safety
نویسندگان
چکیده
This paper presents a new synthesis-based approach for writing low-level memory-safe code. 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 memory safe. Furthermore, guards synthesized by our technique are the simplest and weakest among guards that guarantee memory safety, relative to the inferred loop invariants. Our approach is fully automatic and does not require any hints from the user. We have implemented our algorithm in a prototype synthesis tool for C programs, and we show that the proposed approach is able to successfully synthesize guards that closely match hand-written programmer code in a set of real-world C programs.
منابع مشابه
Investigating the physiological fit of janitor, safety guard and facility workers with their jobs
Background and Aim: One of the most important aspects of ergonomics is physiologic balance between human characteristics and their jobs. This study aimed to investigate the physiological characteristics of janitor, safety guard and facility workers of a work organization and determine their physiological fit Methods: seventy staff were evaluated using Queen's collage step test, N20 body compos...
متن کاملA Two-Threshold Guard Channel Scheme for Minimizing Blocking Probability in Communication Networks
In this paper, we consider the call admission problem in cellular network with two classes of voice users. In the first part of paper, we introduce a two-threshold guard channel policy and study its limiting behavior under the stationary traffic. Then we give an algorithm for finding the optimal number of guard channels. In the second part of this paper, we give an algorithm, which minimizes th...
متن کاملTHÈSE DE DOCTORAT DE L ’ ÉCOLE NORMALE SUPÉRIEURE DE CACHAN présentée par Ocan SANKUR pour obtenir le grade de DOCTEUR DE L ’ ÉCOLE NORMALE SUPÉRIEURE DE CACHAN Domaine : Informatique
Timed automata are a formalism to model, verify, and synthesize real-time systems. They have the advantage of having an abstract mathematical semantics, which allow formalizing and solving several verification and synthesis problems. However, timed automata are intended to design models, rather than completely describe real systems. Therefore, once the design phase is over, it remains to check ...
متن کاملCuckoo: a Language for Implementing Memory- and Thread-safe System Services
This paper is centered around the design of a threadand memory-safe language, primarily for the compilation of application-specific services for extensible operating systems. We describe various issues that have influenced the design of our language, called Cuckoo, that guarantees safety of programs with potentially asynchronous flows of control. Comparisons are drawn between Cuckoo and related...
متن کاملTHÈSE DE DOCTORAT DE L ’ ÉCOLE NORMALE SUPÉRIEURE DE CACHAN présentée par Ocan SANKUR pour obtenir le grade de DOCTEUR DE L ’ ÉCOLE NORMALE SUPÉRIEURE DE CACHAN
Timed automata are a formalism to model, verify, and synthesize real-time systems. They have the advantage of having an abstract mathematical semantics, which allow formalizing and solving several verification and synthesis problems. However, timed automata are intended to design models, rather than completely describe real systems. Therefore, once the design phase is over, it remains to check ...
متن کامل