2009
DOI: 10.1145/1594834.1480889
|View full text |Cite
|
Sign up to set email alerts
|

Static contract checking for Haskell

Abstract: Program errors are hard to detect and are costly both to programmers who spend significant efforts in debugging, and for systems that are guarded by runtime checks. Static verification techniques have been applied to imperative and object-oriented languages, like Java and C#, but few have been applied to a higher-order lazy functional language, like Haskell. In this paper, we describe a sound and automatic static verification framework for Haskell, that is based on contracts and symbolic execution. Our approac… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
59
0

Year Published

2010
2010
2018
2018

Publication Types

Select...
6
3

Relationship

0
9

Authors

Journals

citations
Cited by 28 publications
(59 citation statements)
references
References 41 publications
0
59
0
Order By: Relevance
“…A completely different but more powerful approach can be found in ESC/Haskell [38] and its successor [39]. ESC/Haskell is based on preconditions and contracts, so, it is able to detect far more defects in programs: pattern matching failures, division by zero, out of bounds array indexing, etc.…”
Section: Verification Toolsmentioning
confidence: 99%
“…A completely different but more powerful approach can be found in ESC/Haskell [38] and its successor [39]. ESC/Haskell is based on preconditions and contracts, so, it is able to detect far more defects in programs: pattern matching failures, division by zero, out of bounds array indexing, etc.…”
Section: Verification Toolsmentioning
confidence: 99%
“…The key idea of nested Hoare triples is also similar to static contract checking for higher order languages [23,29], which requires a pure specification of any callback's behavior up front. It is also similar to [22], except that it relies on separation logic and is applied to a stronger heap abstraction.…”
Section: Related Workmentioning
confidence: 99%
“…http://dx.doi.org/10. 1145/2737924.2737971 when verification fails (e.g., Rondon et al [2008]; Xu et al [2009]; Kawaguchi et al [2010]; Vytiniotis et al [2013]; Tobin-Hochstadt and Van Horn [2012]; Nguyễn et al [2014]). …”
Section: Introductionmentioning
confidence: 99%