Equational reasoning based verification address some of the limitations of classical testing. The Curry-Howard correspondence shows a direct link between type systems and mathematical logic based proofs. Agda is a language with totality and dependent types which makes use of the CH isomorphism to support equational reasoning in its programs. ‘agda2hs’ attempts to bring this formal verification to the Haskell ecosystem, by providing a translation between Haskell and Agda programs. This project will serve to test the viability of this framework by re-writing the Haskell library ‘Data.Map’ in the subset of Agda defined by agda2hs and verifying properties of various functions in the library using Agda and dependent types
We propose a program verification method that combines random testing, model checking and interactiv...
A benefit of pure functional programming is that it encourages equational reasoning. However, the Ha...
Refactoring tools are an important tool for developers, but their reliability can be questionable at...
Abstract Proof assistants based on dependent type theory are closely relatedto functional programmin...
Purely functional languages are advantageous in that it is easy to reason about the correctness of f...
The formal verification of concurrent programs is of particular importance, because concurrent progr...
We propose a method for improving confidence in the correctness of Haskell programs by combining tes...
Formal verification works better than testing, since the correctness of a program is proven. It is r...
Agda allows for writing code that can be mathematically proven and verified to be correct, this type...
Formal verification of software is a largely underrepresented discipline in practice. While it is no...
agda2hs is a project that aims to combine the best parts of Haskell and Agda by providing a common s...
Agda2hs is a program which compiles a subset of Agda to Haskell. In this paper, an implementation of...
When designing critical software, great care must be taken to guarantee its correctness. Refactoring...
Agda2hs is a tool that allows developers to write verified programs using Agda and then translate th...
The use of typed intermediate languages can significantly increase the reliability of a compiler. By...
We propose a program verification method that combines random testing, model checking and interactiv...
A benefit of pure functional programming is that it encourages equational reasoning. However, the Ha...
Refactoring tools are an important tool for developers, but their reliability can be questionable at...
Abstract Proof assistants based on dependent type theory are closely relatedto functional programmin...
Purely functional languages are advantageous in that it is easy to reason about the correctness of f...
The formal verification of concurrent programs is of particular importance, because concurrent progr...
We propose a method for improving confidence in the correctness of Haskell programs by combining tes...
Formal verification works better than testing, since the correctness of a program is proven. It is r...
Agda allows for writing code that can be mathematically proven and verified to be correct, this type...
Formal verification of software is a largely underrepresented discipline in practice. While it is no...
agda2hs is a project that aims to combine the best parts of Haskell and Agda by providing a common s...
Agda2hs is a program which compiles a subset of Agda to Haskell. In this paper, an implementation of...
When designing critical software, great care must be taken to guarantee its correctness. Refactoring...
Agda2hs is a tool that allows developers to write verified programs using Agda and then translate th...
The use of typed intermediate languages can significantly increase the reliability of a compiler. By...
We propose a program verification method that combines random testing, model checking and interactiv...
A benefit of pure functional programming is that it encourages equational reasoning. However, the Ha...
Refactoring tools are an important tool for developers, but their reliability can be questionable at...