TY - GEN
T1 - Tactics for the Dafny Program Verifier
AU - Grov, Gudmund
AU - Tumas, Vytautas
PY - 2016/4/9
Y1 - 2016/4/9
N2 - Many modern program verifiers are based on automated theorem provers, which enable full hiding of proof details and allow users to focus all their effort on the program text. This has the advantage that the additional expertise of theorem provers is not required, but has the drawback that when the prover fails to verify a valid program, the user has to annotate the program text with guidance for the verifier. This can be tedious, low-level and repetitive, and may impact on the annotation overhead, readability of the program text and overall development time. Inspired by proof tactics for interactive theorem provers , a notion of `tactics' for the state-of-the-art Dafny program verifier, called Tacny, is developed. With only minor extensions to the Dafny syntax, a user can encode high-level proof patterns as Dafny tactics, liberating herself from low-level and repetitive search tasks, whilst still working with familiar Dafny programming constructs. Manual search and guidance can be replaced with calls to such tactics, which will automate this task. We provide syntax and semantics for Tacny, and show feasibility through a prototype implementation, applied to several examples.
AB - Many modern program verifiers are based on automated theorem provers, which enable full hiding of proof details and allow users to focus all their effort on the program text. This has the advantage that the additional expertise of theorem provers is not required, but has the drawback that when the prover fails to verify a valid program, the user has to annotate the program text with guidance for the verifier. This can be tedious, low-level and repetitive, and may impact on the annotation overhead, readability of the program text and overall development time. Inspired by proof tactics for interactive theorem provers , a notion of `tactics' for the state-of-the-art Dafny program verifier, called Tacny, is developed. With only minor extensions to the Dafny syntax, a user can encode high-level proof patterns as Dafny tactics, liberating herself from low-level and repetitive search tasks, whilst still working with familiar Dafny programming constructs. Manual search and guidance can be replaced with calls to such tactics, which will automate this task. We provide syntax and semantics for Tacny, and show feasibility through a prototype implementation, applied to several examples.
U2 - 10.1007/978-3-662-49674-9_3
DO - 10.1007/978-3-662-49674-9_3
M3 - Conference contribution
SN - 9783662496732
T3 - Lecture Notes in Computer Science
SP - 36
EP - 53
BT - Tools and Algorithms for the Construction and Analysis of Systems
A2 - Chechik, Marsha
A2 - Raskin, Jean-François
PB - Springer
T2 - 22nd International Conference on Tools and Algorithms for the Construction and Analysis of Systems 2016
Y2 - 2 April 2016 through 8 April 2016
ER -