2008
DOI: 10.1145/1379022.1375602
|View full text |Cite
|
Sign up to set email alerts
|

Liquid types

Abstract: We present Logically Qualified Data Types , abbreviated to Liquid Types , a system that combines Hindley-Milner type inference with Predicate Abstraction to automatically infer dependent types precise enough to prove a variety of safety properties. Liquid types allow programmers to reap many of the benefits of dependent types, namely static verification of critical properties and the elimination of expensive run-tim… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
213
0

Year Published

2011
2011
2019
2019

Publication Types

Select...
7
1

Relationship

1
7

Authors

Journals

citations
Cited by 133 publications
(214 citation statements)
references
References 19 publications
0
213
0
Order By: Relevance
“…Hence, for example, if a list of prime numbers is passed in, the result is prime, and if a list of even numbers is passed in, the result is even. Thus, we can use refinement types [22] Here the % represents the modulus operator in the refinement logic [6] and we type the primitive mod :: x:Int -> y:Int -> {v: Int | v = x % y}. Verification proceeds as follows.…”
Section: Parametric Invariantsmentioning
confidence: 99%
See 2 more Smart Citations
“…Hence, for example, if a list of prime numbers is passed in, the result is prime, and if a list of even numbers is passed in, the result is even. Thus, we can use refinement types [22] Here the % represents the modulus operator in the refinement logic [6] and we type the primitive mod :: x:Int -> y:Int -> {v: Int | v = x % y}. Verification proceeds as follows.…”
Section: Parametric Invariantsmentioning
confidence: 99%
“…Several groups have shown how refinement types can be used to verify properties ranging from partial correctness concerns like array bounds checking [26,22] and data structure invariants [16] to the correctness of security protocols [2], web applications [14] and implementations of cryptographic protocols [10].…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation
“…We believe that the focus on counterexamples will make our approach very appealing to programmers that are not theorem proving experts. The HMC verifier [17] and DSolve [26] can automatically discover inductive invariants, so they have more automation, but it appears that certain properties involving multiple user-defined functions are not expressible in these systems. Recent results also demonstrate inference techniques for higherorder functional programs [19,17].…”
Section: Related Workmentioning
confidence: 99%
“…Meanwhile, we can utilise such works as our pure solver, for example the disjunction inference [10]. Semi-automatic approaches [37,38] are also used to infer numerical constraints for given type templates in functional programs, where data structures are mostly immutable.…”
Section: Related Workmentioning
confidence: 99%