Code deficiencies and bugs constitute an unavoidable part of software systems. In safety-critical systems, like aircrafts or medical equipment, even a single bug can lead to catastrophic impacts such as injuries or death. Formal verification can be used to statically track code deficiencies by proving or disproving correctness properties of a system. However, at its current state formal verification is a cumbersome process that is rarely used by mainstream developers, mostly because it targets non general purpose languages (e.g., Coq, Agda, Dafny).We present Liquid Haskell, a usable program verifier that aims to establish formal verification as an integral part of the development process. Liquid Haskell naturally integrates the specificatio...
International audienceRefinement types allow for lightweight program verification by enriching types...
Because every aspect of our lives is now inexorably dependent on software, it is crucial that the so...
If software code is developed by humans, can we as users rely on its absolute correctness? Today's s...
Haskell has many delightful features. Perhaps the one most beloved by its users is its type system t...
We propose a method for improving confidence in the correctness of Haskell programs by combining tes...
Equational reasoning is one of the key features of pure functional languages such as Haskell. To dat...
We propose a program verification method that combines random testing, model checking and interactiv...
Program errors are hard to detect and are costly, to both programmers who spend sig-nificant efforts...
Liquid Haskell is an extension to the type system of Haskell that supports formal reasoning about pr...
Abstract. We compare Haskell with Standard ML as programming languages for verification tools based ...
AbstractPlover is an automated property-verifier for Haskell programs that has been under developmen...
The formal verification of concurrent programs is of particular importance, because concurrent progr...
Using proof assistants to perform formal, mechanical software verification is a powerful technique f...
Lava is a system for designing, specifying, verifying and implementing hardware. It is embedded in t...
Because of our increasing dependence on software in every aspect of our lives, it is crucial that ou...
International audienceRefinement types allow for lightweight program verification by enriching types...
Because every aspect of our lives is now inexorably dependent on software, it is crucial that the so...
If software code is developed by humans, can we as users rely on its absolute correctness? Today's s...
Haskell has many delightful features. Perhaps the one most beloved by its users is its type system t...
We propose a method for improving confidence in the correctness of Haskell programs by combining tes...
Equational reasoning is one of the key features of pure functional languages such as Haskell. To dat...
We propose a program verification method that combines random testing, model checking and interactiv...
Program errors are hard to detect and are costly, to both programmers who spend sig-nificant efforts...
Liquid Haskell is an extension to the type system of Haskell that supports formal reasoning about pr...
Abstract. We compare Haskell with Standard ML as programming languages for verification tools based ...
AbstractPlover is an automated property-verifier for Haskell programs that has been under developmen...
The formal verification of concurrent programs is of particular importance, because concurrent progr...
Using proof assistants to perform formal, mechanical software verification is a powerful technique f...
Lava is a system for designing, specifying, verifying and implementing hardware. It is embedded in t...
Because of our increasing dependence on software in every aspect of our lives, it is crucial that ou...
International audienceRefinement types allow for lightweight program verification by enriching types...
Because every aspect of our lives is now inexorably dependent on software, it is crucial that the so...
If software code is developed by humans, can we as users rely on its absolute correctness? Today's s...