POPL 2024
Sun 14 - Sat 20 January 2024 London, United Kingdom
Sun 14 Jan 2024 11:54 - 12:12 at Turing Lecture - Testing and Teaching / Comparison Chair(s): Joseph Tassarotti

Verification tools like Dafny are slowly being adopted in software engineering practice — if not for entire projects, then at least for safety or security critical kernels of large systems. Verification offers a direct to the essential complexity of software development – building a correct system — rather than the accidental complexity induced by learning how to use a particular language or toolset, with their accompanying quirks, oddities, and idiosyncrasies.

Graduate software engineers need to be exposed to verification tools, and the formal methods, techniques, and concepts underlying those tools, even if only to be prepared when they come across those tools later in their professional careers. Unfortunately, we have found that many software engineering students resist formal methods — whether due to perceived difficulty, suspected practical irrelevance, or overall mathematicity.

In this presentation, we will outline how Dafny can be incorporated into a programming first software correctness course. We then reflect on some particular features of Dafny’s design, and hypothesize how relatively small improvements to Dafny could remove some of the accidental complexity which seems attendant with students learning the language, hopefully allowing them to focus further on the essential complexity of verification.

James Noble (kjx@acm.org) is an independent creative researcher & programmer based in Wellington, New Zealand. After completing honours and doctoral degrees at Victoria University of Wellington (VUW), James worked at the University of Technology, Sydney, the Microsoft Research Institute at Macquarie University, and is recovering from a long stint as professor of computer science & software engineering at VUW.

James’s research centres around software design. This includes the design of the users’ interface, the parts of software that users have to deal with every day, and the programmers’ interface, the internal structures and organisations of software that programmers see only when they are designing, building, or modifying software.

James’s research in both of these areas is coloured by a longstanding interest in object-oriented approaches to design, and topics he has studied range from aliasing and object ownership, programming languages, design patterns, agile methodology, via usability, visualisation and computer music, to postmodernism and the semiotics of programming.

Sun 14 Jan

Displayed time zone: London change

11:00 - 12:30
Testing and Teaching / ComparisonDafny at Turing Lecture
Chair(s): Joseph Tassarotti NYU
11:00
18m
Talk
Dafny Test Generationremote
Dafny
Aleksandr Fedchin Tufts University, Jeffrey S. Foster Tufts University, Zvonimir Rakamaric Amazon Web Services, Aaron Tomb Amazon Web Services
11:18
18m
Talk
Randomised Testing of the Dafny Compiler
Dafny
Alastair F. Donaldson Imperial College London, Dilan Sheth Imperial College London, Jean-Baptiste Tristan Amazon Web Services, Alex Usher Imperial College London
11:36
18m
Talk
Teaching Logic and Set Theory with Dafny
Dafny
Ran Ettinger NVIDIA and Ben-Gurion University of the Negev and Israel Academic College in Ramat Gan, Hezi Daniel Israel Academic College in Ramat Gan
11:54
18m
Talk
Learn 'em Dafny
Dafny
James Noble Creative Research & Programming
Pre-print
12:12
18m
Talk
Colouring Flags with Dafny & Idris
Dafny
Jan de Muijnck-Hughes University of Strathclyde, James Noble Creative Research & Programming