Incorrectness logic

PW O'Hearn - Proceedings of the ACM on Programming Languages, 2019 - dl.acm.org
Program correctness and incorrectness are two sides of the same coin. As a programmer,
even if you would like to have correctness, you might find yourself spending most of your …

Polynomial reachability witnesses via Stellensätze

A Asadi, K Chatterjee, H Fu, AK Goharshady… - Proceedings of the …, 2021 - dl.acm.org
We consider the fundamental problem of reachability analysis over imperative programs
with real variables. Previous works that tackle reachability are either unable to handle …

Compositional recurrence analysis

A Farzan, Z Kincaid - 2015 Formal Methods in Computer-Aided …, 2015 - ieeexplore.ieee.org
This paper presents a new method for automatically generating numerical invariants for
imperative programs. The procedure computes a transition formula which overapproximates …

Transition power abstractions for deep counterexample detection

M Blicha, G Fedyukovich, AEJ Hyvärinen… - … Conference on Tools …, 2022 - Springer
While model checking safety of infinite-state systems by inferring state invariants has
steadily improved recently, most verification tools still rely on a technique based on bounded …

Proving non-termination via loop acceleration

F Frohn, J Giesl - arXiv preprint arXiv:1905.11187, 2019 - arxiv.org
We present the first approach to prove non-termination of integer programs that is based on
loop acceleration. If our technique cannot show non-termination of a loop, it tries to …

[HTML][HTML] Proving non-termination and lower runtime bounds with LoAT (system description)

F Frohn, J Giesl - International Joint Conference on Automated …, 2022 - Springer
Abstract We present the Loop Acceleration Tool (LoAT), a powerful tool for proving non-
termination and worst-case lower bounds for programs operating on integers. It is based on …

Powering the static driver verifier using corral

A Lal, S Qadeer - Proceedings of the 22nd ACM SIGSOFT International …, 2014 - dl.acm.org
The application of software-verification technology towards building realistic bug-finding
tools requires working through several precision-scalability tradeoffs. For instance, a critical …

Automatic loop summarization via path dependency analysis

X Xie, B Chen, L Zou, Y Liu, W Le… - IEEE Transactions on …, 2017 - ieeexplore.ieee.org
Analyzing loops is very important for various software engineering tasks such as bug
detection, test case generation and program optimization. However, loops are very …

A calculus for modular loop acceleration

F Frohn - International Conference on Tools and Algorithms for …, 2020 - Springer
Loop acceleration can be used to prove safety, reachability, runtime bounds, and (non-)
termination of programs operating on integers. To this end, a variety of acceleration …

Incremental bounded model checking for embedded software

P Schrammel, D Kroening, M Brain, R Martins… - Formal Aspects of …, 2017 - Springer
Program analysis is on the brink of mainstream usage in embedded systems development.
Formal verification of behavioural requirements, finding runtime errors and test case …