2010
DOI: 10.1145/1707801.1706316
|View full text |Cite
|
Sign up to set email alerts
|

Low-level liquid types

Abstract: We present Low-Level Liquid Types, a refinement type system for C based on Liquid Types. Low-Level Liquid Types combine refinement types with three key elements to automate verification of critical safety properties of low-level programs: First, by associating refinement types with individual heap locations and precisely tracking the locations referenced by pointers, our system is able to reason about complex invariants of in-memory data structures and sophisticated uses of pointer arithmetic. Second, by addin… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
37
0

Year Published

2012
2012
2021
2021

Publication Types

Select...
5
2
1

Relationship

2
6

Authors

Journals

citations
Cited by 25 publications
(37 citation statements)
references
References 42 publications
0
37
0
Order By: Relevance
“…Examples include DML [47], ATS [9], and X10's constrained types [36]. The refinement language is often also restricted to some theory that can be effectively decided by an SMT solver, as in Liquid Types [41]. RGREF allows refinements to depend on mutable heap data, and does not artificially restrict the properties that can be verified (at the cost of requiring manual guidance for proofs).…”
Section: Related Workmentioning
confidence: 99%
“…Examples include DML [47], ATS [9], and X10's constrained types [36]. The refinement language is often also restricted to some theory that can be effectively decided by an SMT solver, as in Liquid Types [41]. RGREF allows refinements to depend on mutable heap data, and does not artificially restrict the properties that can be verified (at the cost of requiring manual guidance for proofs).…”
Section: Related Workmentioning
confidence: 99%
“…This means that a series of writes that individually violate a guarantee but in aggregate satisfy it are disallowed. This is a common challenge for verification techniques [3,5,41], and we expect related work to inspire sufficient solutions.…”
Section: Future Work: Extensions and Adaptationsmentioning
confidence: 99%
“…In the preceding, we gave explicit loop invariants and heap effects where necessary. Later in this paper, we explain how we use Liquid Type inference [28] to reduce the annotation burden on the programmer by automatically inferring the loop invariants and heap effects given above.…”
Section: User-defined Effectsmentioning
confidence: 99%
“…Most of the expression forms for expressing sequential computation are standard or covered extensively in previous work [28]; the expression forms for parallel computation are new to this work.…”
Section: Programsmentioning
confidence: 99%
See 1 more Smart Citation