Show simple item record

dc.contributor.author
Bílý, Aurel
dc.contributor.author
Hansen, Jonas
dc.contributor.author
Müller, Peter
dc.contributor.author
Summers, Alexander J.
dc.date.accessioned
2023-11-24T11:21:37Z
dc.date.available
2023-11-23T12:42:32Z
dc.date.available
2023-11-24T08:55:20Z
dc.date.available
2023-11-24T11:21:37Z
dc.date.issued
2023-10-24
dc.identifier.uri
http://hdl.handle.net/20.500.11850/643457
dc.identifier.doi
10.3929/ethz-b-000643457
dc.description.abstract
Iteration is a control-flow mechanism that consists of repeating statements. Iterators provide an object-oriented abstraction to iteration. Simple iterators confer access to elements of a data structure, but modern languages such as Rust, Java, and C# generalise iteration far beyond this simple use case, allowing iterators to be parameterised with closures (which can modify their captured state as a side effect) and supporting the composition of iterators to form iterator chains, where each iterator in the chain consumes values from its predecessor and produces values for its successor. Such generalisations pose four major challenges for modular specification and verification of iterators and the client code using them: (1) How can parameterised iterators be specified modularly and their (accumulated) side effects reasoned about? (2) How can the behaviour of an iterator chain be derived from the specifications of its component iterators? (3) How can proofs about such iterators be automated? (4) How to integrate a concrete methodology into the standard library, without requiring the client code to change? We present a methodology for the modular specification and verification of advanced iteration idioms with computations affecting captured state as a side effect. It addresses the four challenges above using a combination of inductive two-state invariants, higher-order closure contracts, separation logic-like ownership, and a novel type of out-of-band contracts. We implement our methodology in a state-of-the-art SMT-based Rust verifier. Our evaluation shows that our methodology is sufficiently expressive to handle advanced, idiomatic iteration patterns and requires modest annotation overhead.
en_US
dc.format
application/pdf
en_US
dc.language.iso
en
en_US
dc.publisher
SPLASH 2023
en_US
dc.rights.uri
http://rightsstatements.org/page/InC-NC/1.0/
dc.title
Compositional Reasoning about Advanced Iterator Patterns in Rust
en_US
dc.type
Conference Paper
dc.rights.license
In Copyright - Non-Commercial Use Permitted
ethz.book.title
IWACO 2023 Accepted Papers
en_US
ethz.size
10 p.
en_US
ethz.version.deposit
acceptedVersion
en_US
ethz.event
IWACO 2023
en_US
ethz.event.location
Cascais, Portugal
en_US
ethz.event.date
October 22-27, 2023
en_US
ethz.notes
Conference lecture held on October 24, 2023.
en_US
ethz.publication.place
s.l.
en_US
ethz.publication.status
published
en_US
ethz.leitzahl
ETH Zürich::00002 - ETH Zürich::00012 - Lehre und Forschung::00007 - Departemente::02150 - Dep. Informatik / Dep. of Computer Science::02664 - Inst. f. Programmiersprachen u. -systeme / Inst. Programming Languages and Systems::03653 - Müller, Peter / Müller, Peter
en_US
ethz.leitzahl.certified
ETH Zürich::00002 - ETH Zürich::00012 - Lehre und Forschung::00007 - Departemente::02150 - Dep. Informatik / Dep. of Computer Science::02664 - Inst. f. Programmiersprachen u. -systeme / Inst. Programming Languages and Systems::03653 - Müller, Peter / Müller, Peter
en_US
ethz.identifier.url
https://2023.splashcon.org/details/iwaco-2023-papers/6/Compositional-Reasoning-about-Advanced-Iterator-Patterns-in-Rust
ethz.date.deposited
2023-11-23T12:42:32Z
ethz.source
FORM
ethz.eth
yes
en_US
ethz.availability
Open access
en_US
ethz.rosetta.installDate
2023-11-24T11:21:38Z
ethz.rosetta.lastUpdated
2023-11-24T11:21:38Z
ethz.rosetta.versionExported
true
ethz.COinS
ctx_ver=Z39.88-2004&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.atitle=Compositional%20Reasoning%20about%20Advanced%20Iterator%20Patterns%20in%20Rust&rft.date=2023-10-24&rft.au=B%C3%ADl%C3%BD,%20Aurel&Hansen,%20Jonas&M%C3%BCller,%20Peter&Summers,%20Alexander%20J.&rft.genre=proceeding&rft.btitle=IWACO%202023%20Accepted%20Papers
 Search print copy at ETH Library

Files in this item

Thumbnail

Publication type

Show simple item record