kirancodes.me
To Proof Maintenance & Beyond!

2LS: Memory Safety and Non-termination - (Competition Contribution)

Viktor Malík, Stefan Marticek, Peter Schrammel, Mandayam K. Srivas, Tomás Vojnar, Johanan Wahlang

Abstract

2LS is a C program analyser built upon the CPROVER infrastructure. 2LS is bit-precise and it can verify and refute program assertions and termination. 2LS implements template-based synthesis techniques, e.g. to find invariants and ranking functions, and incremental loop unwinding techniques to find counterexamples and k-induction proofs. New features in this year’s version are improved handling of heap-allocated data structures using a template domain for shape analysis and two approaches to prove program non-termination.

Related papers