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. Developing Verified Software Using Leon
 
conference paper

Developing Verified Software Using Leon

Kuncak, Viktor  
Havelund, K
•
Holzmann, G
Show more
2015
Nasa Formal Methods (Nfm 2015)
7th NASA Formal Methods Symposium (NFM)

We present Leon, a system for developing functional Scala programs annotated with contracts. Contracts in Leon can themselves refer to recursively defined functions. Leon aims to find counterexamples when functions do not meet the specifications, and proofs when they do. Moreover, it can optimize run-time checks by eliminating statically checked parts of contracts and doing memoization. For verification Leon uses an incremental function unfolding algorithm (which could be viewed as k-induction) and SMT solvers. For counterexample finding it uses these techniques and additionally specification-based test generation. Leon can also execute specifications (e.g. functions given only by postconditions), by invoking a constraint solver at run time. To make this process more efficient and predictable, Leon supports deductive synthesis of functions from specifications, both interactively and in an automated mode. Synthesis in Leon is currently based on a custom deductive synthesis framework incorporating, for example, syntax-driven rules, rules supporting synthesis procedures, and a form of counterexample-guided synthesis. We have also developed resource bound invariant inference for Leon and used it to check abstract worst-case execution time. We have also explored within Leon a compilation technique that transforms realvalued program specifications into finite-precision code while enforcing the desired end-to-end error bounds. Recent work enables Leon to perform program repair when the program does not meet the specification, using error localization, synthesis guided by the original expression, and counterexample-guided synthesis of expressions similar to a given one. Leon is open source and can also be tried from its web environment at leon.epfl.ch.

  • Details
  • Metrics
Type
conference paper
DOI
10.1007/978-3-319-17524-9_2
Web of Science ID

WOS:000361977000002

Author(s)
Kuncak, Viktor  
Editors
Havelund, K
•
Holzmann, G
•
Joshi, R
Date Issued

2015

Publisher

Springer-Verlag Berlin

Publisher place

Berlin

Published in
Nasa Formal Methods (Nfm 2015)
ISBN of the book

978-3-319-17524-9

978-3-319-17523-2

Total of pages

4

Series title/Series vol.

Lecture Notes in Computer Science

Volume

9058

Start page

12

End page

15

Editorial or Peer reviewed

REVIEWED

Written at

EPFL

EPFL units
LARA  
Event nameEvent placeEvent date
7th NASA Formal Methods Symposium (NFM)

Pasadena, CA

APR 27-29, 2015

Available on Infoscience
December 2, 2015
Use this identifier to reference this record
https://infoscience.epfl.ch/handle/20.500.14299/121362
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