English

A Programmer-Centric Approach to Program Verification in ATS

Programming Languages 2012-03-29 v1 Software Engineering

Abstract

Formal specification is widely employed in the construction of high-quality software. However, there is often a huge gap between formal specification and actual implementation. While there is already a vast body of work on software testing and verification, the task to ensure that an implementation indeed meets its specification is still undeniably of great difficulty. ATS is a programming language equipped with a highly expressive type system that allows the programmer to specify and implement and then verify within the language itself that an implementation meets its specification. In this paper, we present largely through examples a programmer-centric style of program verification that puts emphasis on requesting the programmer to explain in a literate fashion why his or her code works. This is a solid step in the pursuit of software construction that is verifiably correct according to specification.

Keywords

Cite

@article{arxiv.1203.6102,
  title  = {A Programmer-Centric Approach to Program Verification in ATS},
  author = {Zhiqiang Ren and Hongwei Xi},
  journal= {arXiv preprint arXiv:1203.6102},
  year   = {2012}
}

Comments

15 pages, 11 figures. Examples available on-line http://www.ats-lang.org/EXAMPLE/PCPV

R2 v1 2026-06-21T20:40:52.316Z