Can Haskell functions be proved/model-checked/verified with correctness properties?

后端 未结 11 1211
挽巷
挽巷 2021-01-29 18:46

Continuing on from ideas in: Are there any provable real-world languages?

I don\'t know about you, but I\'m sick of writing code that I can\'t guarantee.

11条回答
  •  轮回少年
    2021-01-29 19:18

    Have a look at Zeno. Quoting the wiki page:

    Zeno is an automated proof system for Haskell program properties; developed at Imperial College London by William Sonnex, Sophia Drossopoulou and Susan Eisenbach. It aims to solve the general problem of equality between two Haskell terms, for any input value.

    Many program verification tools available today are of the model checking variety; able to traverse a very large but finite search space very quickly. These are well suited to problems with a large description, but no recursive datatypes. Zeno on the other hand is designed to inductively prove properties over an infinite search space, but only those with a small and simple specification.

提交回复
热议问题