Proceedings Article10.1145/1111037.1111059
Hybrid type checking
Cormac Flanagan
- 11 Jan 2006
- Vol. 41, Iss: 1, pp 245-256
TL;DR: This paper explores the key ideas and implications of hybrid type checking, in the context of the simply-typed λ-calculus with arbitrary refinements of base types.
read more
Abstract: Traditional static type systems are very effective for verifying basic interface specifications, but are somewhat limited in the kinds specifications they support. Dynamically-checked contracts can enforce more precise specifications, but these are not checked until run time, resulting in incomplete detection of defects.Hybrid type checking is a synthesis of these two approaches that enforces precise interface specifications, via static analysis where possible, but also via dynamic checks where necessary. This paper explores the key ideas and implications of hybrid type checking, in the context of the simply-typed λ-calculus with arbitrary refinements of base types.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Software model checking
Ranjit Jhala,Rupak Majumdar +1 more
TL;DR: A survey of recent progress in software model checking finds that the current state of the art in model checking is improving, but the pace of improvement is still slow.
Gradual Typing for Functional Languages
Jeremy G. Siek,Walid Taha +1 more
- 01 Jan 2006
TL;DR: In this paper, the authors propose a gradual type system for functional languages with structural types, based on the intuition that the structure of a type may be partially known/unknown at compiletime and the job of the type system is to catch incompatibilities between the known parts of types.
Program synthesis from polymorphic refinement types
Nadia Polikarpova,Ivan Kuraj,Armando Solar-Lezama +2 more
- 02 Jun 2016
TL;DR: The tool was able to synthesize more complex programs than those reported in prior work, as well as most of the benchmarks tackled by existing synthesizers, often starting from a more concise and intuitive user input.
277
Active property checking
Patrice Godefroid,Michael Y. Levin,David Molnar +2 more
- 19 Oct 2008
TL;DR: It is shown how static and dynamic type checking can be extended with active type checking and results of experiments with media playing applications on Windows are discussed, where active property checking was able to detect several new security-related bugs.
References
•Book
The Java Language Specification
James Gosling,Bill Joy,Guy L. Steele +2 more
- 12 Sep 1996
TL;DR: The Java Language Specification, Second Edition is the definitive technical reference for the Java programming language and provides complete, accurate, and detailed coverage of the syntax and semantics of the Java language.
Proof-carrying code
George C. Necula
- 01 Jan 1997
TL;DR: It is shown in this paper how proof-carrying code might be used to develop safe assembly-language extensions of ML programs and the adequacy of concrete representations for the safety policy, the safety proofs, and the proof validation is proved.
1.9K
DART: directed automated random testing
Koushik Sen
- 19 Oct 2009
TL;DR: Direct automated random testing is described, an efficient approach which combines random and symbolic testing, and several heuristic search strategies are presented, including a novel strategy guided by the control flow graph of the program under test.
Related Papers (5)
Robert Bruce Findler,Matthias Felleisen +1 more
- 17 Sep 2002
Jeremy G. Siek,Walid Taha +1 more
- 01 Jan 2006
Philip Wadler,Robert Bruce Findler +1 more
- 28 Mar 2009
Hongwei Xi,Frank Pfenning +1 more
- 01 Jan 1999
Timothy S. Freeman,Frank Pfenning +1 more
- 01 May 1991