Lessons of Formal Program Design in Dafny

Ran Ettinger

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

Building on the long tradition of program derivation, whereby starting from a formal specification and progressing in small steps of refinement we end-up with correct executable code, this paper presents an approach for teaching that craft using the language and verifier Dafny. Some lessons from the first six years of teaching this material to final-year CS and SE undergraduate students are reported, with emphasis on the merits (and challenges) of using Dafny during live interactive sessions in the classroom.

Original languageEnglish
Title of host publicationFormal Methods Teaching - 4th International Workshop and Tutorial, FMTea 2021, Proceedings
EditorsJoão F. Ferreira, Alexandra Mendes, Claudio Menghi
PublisherSpringer Science and Business Media Deutschland GmbH
Pages84-100
Number of pages17
ISBN (Print)9783030915490
DOIs
StatePublished - 1 Jan 2021
Event4th International Workshop and Tutorial, FMTea 2021, held as part of the 4th World Congress on Formal Methods, FM 2021 - Virtual, Online
Duration: 21 Nov 202121 Nov 2021

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume13122 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference4th International Workshop and Tutorial, FMTea 2021, held as part of the 4th World Congress on Formal Methods, FM 2021
CityVirtual, Online
Period21/11/2121/11/21

Keywords

  • Auto-active verification
  • Insertion sort
  • Refinement laws
  • Specification statement

ASJC Scopus subject areas

  • Theoretical Computer Science
  • General Computer Science

Fingerprint

Dive into the research topics of 'Lessons of Formal Program Design in Dafny'. Together they form a unique fingerprint.

Cite this