‹Programming› 2019
Mon 1 - Thu 4 April 2019 Genoa, Italy
Wed 3 Apr 2019 16:30 - 17:00 at Bellini - Demos

This demo introduces static program verification for JavaScript and shows how interactive development tools can support the programmer with understanding and resolving verification issues. No prior experience with formal verification is assumed.

In general, program verification relies on source code annotations such as pre-, postconditions and invariants in order to check the program for correctness for all possible inputs. By specifying the expected behavior in terms of logical propositions, program verifiers can support dynamically-typed languages such as JavaScript (including dynamic programming idioms and higher-order functions). However, the verification process can become complex, so simple error messages may not be sufficient to explain verification problems. In this demo, I will present an integrated development and verification environment based on the JavaScript program verifier. In particular, I will use a series of small examples to illustrate how counterexamples, an interactive verification inspector and an integrated step-by-step debugger can be used to understand and debug verification issues.

Wed 3 Apr

16:00 - 17:30: Demos - Demos at Bellini
programming-2019-Demos16:00 - 16:30
Pascal WeisenburgerTechnische Universität Darmstadt
programming-2019-Demos16:30 - 17:00
Christopher SchusterUniversity of California, Santa Cruz, Cormac FlanaganUniversity of California, Santa Cruz
programming-2019-Demos17:00 - 17:30
Matteo MarraVrije Universiteit Brussel