PLSEMar 27, 2012

A Programmer-Centric Approach to Program Verification in ATS

arXiv:1203.6102v1
Originality Incremental advance
AI Analysis

This work addresses the challenge of program verification for software developers, but it is incremental as it builds on existing verification techniques in ATS.

The paper tackles the difficulty of ensuring that software implementations meet their formal specifications by introducing a programmer-centric verification style in ATS, which emphasizes literate explanations from programmers to bridge the gap between specification and code, resulting in a method that facilitates verifiably correct software construction.

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.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes