A modular way to reason about iteration

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

Abstract

In this paper we present an approach to specify programs performing iterations. The idea is to specify iteration in terms of the finite sequence of the elements enumerated so far, and only those. In particular, we are able to deal with non-deterministic and possibly infinite iteration. We show how to cope with the issue of an iteration no longer being consistent with mutable data. We validate our proposal using the deductive verification tool Why3 and two iteration paradigms, namely cursors and higher-order iterators. For each paradigm, we verify several implementations of iterators and client code. This is done in a modular way, i.e., the client code only relies on the specification of the iteration.

Original languageEnglish
Title of host publicationNASA Formal Methods - 8th International Symposium, NFM 2016, Proceedings
EditorsOksana Tkachuk, Sanjai Rayadurgam
PublisherSpringer Verlag
Pages322-336
Number of pages15
ISBN (Print)9783319406473
DOIs
Publication statusPublished - 1 Jan 2016
Externally publishedYes
Event8th International Symposium on NASA Formal Methods, NFM 2016 - Minneapolis, United States
Duration: 7 Jun 20169 Jun 2016

Publication series

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

Conference

Conference8th International Symposium on NASA Formal Methods, NFM 2016
Country/TerritoryUnited States
CityMinneapolis
Period7/06/169/06/16

Fingerprint

Dive into the research topics of 'A modular way to reason about iteration'. Together they form a unique fingerprint.

Cite this