Loop invariants: Analysis, classification, and examples

CA Furia, B Meyer, S Velder - ACM Computing Surveys (CSUR), 2014 - dl.acm.org
Software verification has emerged as a key concern for ensuring the continued progress of
information technology. Full verification generally requires, as a crucial step, equip** each …

I4: incremental inference of inductive invariants for verification of distributed protocols

H Ma, A Goel, JB Jeannin, M Kapritsos… - Proceedings of the 27th …, 2019 - dl.acm.org
Designing and implementing distributed systems correctly is a very challenging task.
Recently, formal verification has been successfully used to prove the correctness of …

Inferring better contracts

Y Wei, CA Furia, N Kazmin, B Meyer - Proceedings of the 33rd …, 2011 - dl.acm.org
Considerable progress has been made towards automatic support for one of the principal
techniques available to enhance program reliability: equip** programs with extensive …

Proteus: Computing disjunctive loop summary via path dependency analysis

X **e, B Chen, Y Liu, W Le, X Li - Proceedings of the 2016 24th ACM …, 2016 - dl.acm.org
Loops are challenging structures for program analysis, especially when loops contain
multiple paths with complex interleaving executions among these paths. In this paper, we …

Gradual verification of recursive heap data structures

J Wise, J Bader, C Wong, J Aldrich, É Tanter… - Proceedings of the …, 2020 - dl.acm.org
Current static verification techniques do not provide good support for incrementality, making
it difficult for developers to focus on specifying and verifying the properties and components …

An extension of lazy abstraction with interpolation for programs with arrays

F Alberti, R Bruttomesso, S Ghilardi, S Ranise… - Formal Methods in …, 2014 - Springer
Lazy abstraction with interpolation-based refinement has been shown to be a powerful
technique for verifying imperative programs. In presence of arrays, however, the method …

Bidirectional symbolic analysis for effective branch testing

M Baluda, G Denaro, M Pezzè - IEEE Transactions on Software …, 2015 - ieeexplore.ieee.org
Structural coverage metrics, and in particular branch coverage, are popular approaches to
measure the thoroughness of test suites. Unfortunately, the presence of elements that are …

Inferring loop invariants by mutation, dynamic analysis, and static checking

JP Galeotti, CA Furia, E May, G Fraser… - IEEE transactions on …, 2015 - ieeexplore.ieee.org
Verifiers that can prove programs correct against their full functional specification require, for
programs with loops, additional annotations in the form of loop invariants-properties that …

Automated Generation of Code Contracts: Generative AI to the Rescue?

S Greiner, N Bühlmann, M Ohrndorf… - Proceedings of the 23rd …, 2024 - dl.acm.org
Design by Contract represents an established, lightweight paradigm for engineering reliable
and robust software systems by specifying verifiable expectations and obligations between …

Loop verification with invariants and contracts

G Ernst - … Conference on Verification, Model Checking, and …, 2022 - Springer
Invariants are the predominant approach to verify the correctness of loops. As an alternative,
loop contracts, which make explicit the premise and conclusion of the underlying induction …