Publication Details
2LS: Arrays and Loop Unwinding (Competition Contribution)
Nečas František, Ing.
SCHRAMMEL, P.
Vojnar Tomáš, prof. Ing., Ph.D. (DITS)
program analysis, formal verification, invariant inference, loop invariants, abstract interpretation, k-induction, loop unwinding, array abstract domain, array contents analysis
2LS is a C program analyser built upon the CPROVER infrastructure that can verify and refute program assertions, memory safety, and termination. Until now, one of the main drawbacks of 2LS was its inability to verify most programs with arrays. This paper introduces a new abstract domain in 2LS for reasoning about the contents of arrays. In addition, we introduce an improved approach to loop unwinding, a crucial component of the 2LS' verification algorithm, which particularly enables finding proofs and counterexamples for programs working with dynamic memory.
@inproceedings{BUT187453,
author="MALÍK, V. and NEČAS, F. and SCHRAMMEL, P. and VOJNAR, T.",
title="2LS: Arrays and Loop Unwinding (Competition Contribution)",
booktitle="Proceedings of the 29th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, part 2",
year="2023",
series="Lecture Notes in Computer Science",
volume="13994",
pages="529--534",
publisher="Springer International Publishing",
address="Paris",
doi="10.1007/978-3-031-30820-8\{_}31",
isbn="978-3-031-30819-2",
url="https://link.springer.com/content/pdf/10.1007/978-3-031-30820-8_31.pdf?pdf=inline%20link"
}