Repository logo

Infoscience

  • English
  • French
Log In
Logo EPFL, École polytechnique fédérale de Lausanne

Infoscience

  • English
  • French
Log In
  1. Home
  2. Academic and Research Output
  3. Conferences, Workshops, Symposiums, and Seminars
  4. Generalized Arrays for Stainless Frames
 
conference paper

Generalized Arrays for Stainless Frames

Schmid, Georg Stefan  
•
Kuncak, Viktor  orcid-logo
January 14, 2022
Verification, Model Checking, and Abstract Interpretation
23rd International Conference on Verification, Model Checking, and Abstract Interpretation (VMCAI 2022)

We present an approach for verification of programs with shared mutable references against specifications such as assertions, preconditions, postconditions, and read/write effects. We implement our tool in the Stainless verification system for Scala. A novelty of our approach is to translate imperative function contracts (including frame conditions) using quantifier-free formulas in first-order logic, instead of quantifiers or separation logic. Our quantifier-free encoding enables SMT solvers to both prove safety and to report counterexamples relative to the semantics of procedure contracts. Our encoding is possible thanks to the expressive power of the extended array theory of de Moura and Bjorner, implemented in the SMT solver Z3, whose map operators allow us to project heaps before and after the call onto the declared reads and modifies clauses. To support inductive proofs about the preservation of invariants, our approach permits capturing a projection of heap state as a history variable and evaluating imperative ghost code in the specified captured heap. We also retain the efficiency of reasoning about purely functional layers of data structures, which need not be represented using heap references but often map directly to SMT-LIB algebraic data types and arrays. We thus obtain a combination of expressiveness for shared mutable data where needed, while retaining automation for purely functional program aspects. We illustrate our approach by proving detailed correctness properties of examples manipulating mutable linked structures.

  • Files
  • Details
  • Metrics
Type
conference paper
DOI
10.1007/978-3-030-94583-1_17
Author(s)
Schmid, Georg Stefan  
Kuncak, Viktor  orcid-logo
Date Issued

2022-01-14

Publisher

Springer, Cham

Published in
Verification, Model Checking, and Abstract Interpretation
ISBN of the book

978-3-030945-82-4

Total of pages

23

Series title/Series vol.

Lecture Notes in Computer Science; 13182

Start page

332

End page

354

Subjects

verification

•

satisfiability modulo theories

•

shared mutable data structures

•

array theories

•

dynamic frames

Editorial or Peer reviewed

REVIEWED

Written at

EPFL

EPFL units
LARA  
Event nameEvent placeEvent date
23rd International Conference on Verification, Model Checking, and Abstract Interpretation (VMCAI 2022)

Philadelphia, PA, USA

January 16-18, 2022

Available on Infoscience
March 3, 2022
Use this identifier to reference this record
https://infoscience.epfl.ch/handle/20.500.14299/186002
Logo EPFL, École polytechnique fédérale de Lausanne
  • Contact
  • infoscience@epfl.ch

  • Follow us on Facebook
  • Follow us on Instagram
  • Follow us on LinkedIn
  • Follow us on X
  • Follow us on Youtube
AccessibilityLegal noticePrivacy policyCookie settingsEnd User AgreementGet helpFeedback

Infoscience is a service managed and provided by the Library and IT Services of EPFL. © EPFL, tous droits réservés