2LS: Heap Analysis and Memory Safety (Competition Contribution)

03/02/2019
by   Viktor Malik, et al.
0

2LS is a framework for analysis of sequential C programs that can verify and refute program assertions and termination. The 2LS framework is built upon the CPROVER infrastructure and 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. The main improvements in this year's version are the ability of 2LS to analyse programs requiring combined reasoning about shape and content of dynamic data structures, and an instrumentation for memory safety properties.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/20/2023

Automated Termination Proofs for C Programs with Lists (Short WST Version)

There are many techniques and tools for termination of C programs, but u...
research
10/10/2017

Proofs as Relational Invariants of Synthesized Execution Grammars

The automatic verification of programs that maintain unbounded low-level...
research
07/12/2023

Sound One-Phase Shape Analysis with Biabduction

Biabduction-based shape analysis is a static analysis technique that can...
research
02/05/2023

2LS for Program Analysis

2LS ("tools") is a verification tool for C programs, built upon the CPRO...
research
05/05/2023

Completeness Thresholds for Memory Safety of Array Traversing Programs

We report on intermediate results of – to the best of our knowledge – th...
research
02/07/2021

Neural Termination Analysis

We introduce a novel approach to the automated termination analysis of c...
research
09/02/2021

A Reasoning Engine for the Gamification of Loop-Invariant Discovery

We describe the design and implementation of a reasoning engine that fac...

Please sign up or login with your details

Forgot password? Click here to reset