Abuin, Alex; Bolotov, Alexander; Hermo, Montserrat; Lucio, Paqui. Actas de las XX Jornadas de Programación y Lenguajes (PROLE 2021), 2021-09-22.
27th International Symposium on Temporal Representation and Reasoning, TIME 2020. 23-25 September 2020 - Bozen-Bolzano, Italy. LIPIcs, Vol 178, pages 14:1-14:20, Schloss Dagstuhl – Leibniz-Zentrum für Informatik, Dagstuhl Publishing, Germany. doi: 10.4230/LIPIcs.TIME.2020.14
Blázquez, Jorge; Montenegro, Manuel; Segura, Clara. Actas de las XX Jornadas de Programación y Lenguajes (PROLE 2021), 2021-09-22.
We address the verification of mutable, heap-allocated abstract data types (ADTs) in Dafny. In particular, we devise a generic verification methodology and apply it to the specification and implementation of linear collections such as stacks, queues, deques, and lists with iterators. The layered approach presented in this paper allows us to progressively refine some aspects of the specification, such as iterator invalidation. We also introduce a stratified view of the footprint of an instance (i.e. the set of memory locations owned by that instance), and identify the boilerplate conditions common to all operations of an ADT. We also show the usage of the resulting implementations by means of verified examples.