Liquid types

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 be...

Full description

Bibliographic Details
Main Authors: Patrick Rondon, Ming Kawaguchi, Ranjit Jhala
Other Authors: The Pennsylvania State University CiteSeerX Archives
Format: Text
Language:English
Subjects:
DML
Online Access:http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.205.2392
http://pho.ucsd.edu/liquid/liquid_types_techrep.pdf
id ftciteseerx:oai:CiteSeerX.psu:10.1.1.205.2392
record_format openpolar
spelling ftciteseerx:oai:CiteSeerX.psu:10.1.1.205.2392 2023-05-15T16:01:55+02:00 Liquid types Patrick Rondon Ming Kawaguchi Ranjit Jhala The Pennsylvania State University CiteSeerX Archives application/pdf http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.205.2392 http://pho.ucsd.edu/liquid/liquid_types_techrep.pdf en eng http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.205.2392 http://pho.ucsd.edu/liquid/liquid_types_techrep.pdf Metadata may be used without restrictions as long as the oai identifier remains attached to it. http://pho.ucsd.edu/liquid/liquid_types_techrep.pdf text ftciteseerx 2016-01-07T17:36:10Z 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-time checks, without paying the heavy price of of manual annotation. We have implemented liquid type inference in Dsolve, which takes as input an Ocaml program and a set of logical qualifiers and infers dependent types for the expressions in the Ocaml program. To demonstrate the utility of our approach, we describe experiments using Dsolve to statically verify the safety of array accesses on a set of Ocaml benchmarks that were previously annotated with dependent types as part of the DML project. We show that when used in conjunction with an elementary method for automatically generating qualifiers from program text, Dsolve reduces the amount of manual annotation required for proving safety from 31 % of program text to under 1%. 1 Text DML Unknown
institution Open Polar
collection Unknown
op_collection_id ftciteseerx
language English
description 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-time checks, without paying the heavy price of of manual annotation. We have implemented liquid type inference in Dsolve, which takes as input an Ocaml program and a set of logical qualifiers and infers dependent types for the expressions in the Ocaml program. To demonstrate the utility of our approach, we describe experiments using Dsolve to statically verify the safety of array accesses on a set of Ocaml benchmarks that were previously annotated with dependent types as part of the DML project. We show that when used in conjunction with an elementary method for automatically generating qualifiers from program text, Dsolve reduces the amount of manual annotation required for proving safety from 31 % of program text to under 1%. 1
author2 The Pennsylvania State University CiteSeerX Archives
format Text
author Patrick Rondon
Ming Kawaguchi
Ranjit Jhala
spellingShingle Patrick Rondon
Ming Kawaguchi
Ranjit Jhala
Liquid types
author_facet Patrick Rondon
Ming Kawaguchi
Ranjit Jhala
author_sort Patrick Rondon
title Liquid types
title_short Liquid types
title_full Liquid types
title_fullStr Liquid types
title_full_unstemmed Liquid types
title_sort liquid types
url http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.205.2392
http://pho.ucsd.edu/liquid/liquid_types_techrep.pdf
genre DML
genre_facet DML
op_source http://pho.ucsd.edu/liquid/liquid_types_techrep.pdf
op_relation http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.205.2392
http://pho.ucsd.edu/liquid/liquid_types_techrep.pdf
op_rights Metadata may be used without restrictions as long as the oai identifier remains attached to it.
_version_ 1766397594587627520