• Open Access IconOpen Access
  • Cite Icon27
  • https://doi.org/10.1145/1594834.1480889Copy DOI Icon

Static contract checking for Haskell

Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
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 approach is modular and gives precise blame assignments at compile-time in the presence of higher-order functions and laziness.

Similar Papers
  • Book Chapter
  • Citations4

Verification Technology for Object-Oriented/XML Transactions

  • Jan 01, 2010
  • Suad Alagić +2
  • Supplementary Content
  • Citations5

Automatic verification of Eiffel programs

  • Jan 01, 2009
  • Repository for Publications and Research Data (ETH Zurich)
  • Julian Tschannen
  • Research Article

Just-in-time bug classifier: A step towards integrating Automated Program Repair in CI/CD pipelines

  • Mar 07, 2026
  • Information and Software Technology
  • Vinay Kabadi +3
  • Research Article
  • Citations12

Some trade-offs in reducing the overhead of assertion run-time checks via static analysis

  • Dec 28, 2017
  • Science of Computer Programming
  • Nataliia Stulova +2
  • Book Chapter
  • Citations11

Static management of integrity in object-oriented databases: Design and implementation

  • Jan 01, 1998
  • Véronique Benzaken +1
  • PDF
  • Research Article
  • Citations1

Error detection in binary code with dynamic symbolic execution

  • Jan 01, 2022
  • Proceedings of the Institute for System Programming of the RAS
  • Alexey Vishnyakov +2
  • Conference Article
  • Citations9

Binary-oriented hybrid fuzz testing

  • Sep 01, 2015
  • Dong Fangquan +3
  • Conference Article
  • Citations11

ApproxSymate: path sensitive program approximation using symbolic execution

  • Jun 23, 2019
  • Himeshi De Silva +3
  • Research Article
  • Citations41

Semantics-Driven Language Design:: Statically Type-Safe Virtual Types in Object-Oriented Languages

  • Jan 01, 1999
  • Electronic Notes in Theoretical Computer Science
  • Kim B Bruce +1
  • Conference Article
  • Citations22

Modular verification of interrupt-driven software

  • Oct 01, 2017
  • Chungha Sung +2
  • Conference Article
  • Citations8

Static Performance Guarantees for Programs with Runtime Checks

  • Sep 03, 2018
  • Maximiliano Klemen +4
  • Book Chapter
  • Citations7

Automated Detection of Logical Errors in Programs

  • Jan 01, 2015
  • George Stergiopoulos +2
  • Book Chapter
  • Citations9

Symbolic Execution of Concurrent Objects in CLP

  • Jan 01, 2012
  • Elvira Albert +2
  • Research Article
  • Citations13

Programming errors in traversal programs over structured data

  • Feb 06, 2012
  • Science of Computer Programming
  • Ralf Lämmel +2
  • Dissertation

Suitability of Finite State Automata to Model String Constraints in Probablistic Symbolic Execution

  • Sep 26, 2019
  • Andrew Harris
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.