Enchanting program specification synthesis by large language models using static analysis and program verification

C Wen, J Cao, J Su, Z Xu, S Qin, M He, H Li… - … on Computer Aided …, 2024 - Springer
Formal verification provides a rigorous and systematic approach to ensure the correctness
and reliability of software systems. Yet, constructing specifications for the full proof relies on …

Finding real bugs in big programs with incorrectness logic

QL Le, A Raad, J Villard, J Berdine, D Dreyer… - Proceedings of the …, 2022 - dl.acm.org
Incorrectness Logic (IL) has recently been advanced as a logical theory for compositionally
proving the presence of bugs—dual to Hoare Logic, which is used to compositionally prove …

Enhancing automated program repair with deductive verification

XBD Le, QL Le, D Lo… - 2016 IEEE International …, 2016 - ieeexplore.ieee.org
Automated program repair (APR) is a challenging process of detecting bugs, localizing
buggy code, generating fix candidates and validating the fixes. Effectiveness of program …

Termination and non-termination specification inference

TC Le, S Qin, WN Chin - Proceedings of the 36th ACM SIGPLAN …, 2015 - dl.acm.org
Techniques for proving termination and non-termination of imperative programs are usually
considered as orthogonal mechanisms. In this paper, we propose a novel mechanism that …

JaVerT 2.0: Compositional symbolic execution for JavaScript

J Fragoso Santos, P Maksimović, G Sampaio… - Proceedings of the …, 2019 - dl.acm.org
We propose a novel, unified approach to the development of compositional symbolic
execution tools, bridging the gap between classical symbolic execution and compositional …

Low-level bi-abduction

L Holík, P Peringer, A Rogalewicz, V Šoková… - arXiv preprint arXiv …, 2022 - arxiv.org
The paper proposes a new static analysis designed to handle open programs, ie, fragments
of programs, with dynamic pointer-linked data structures-in particular, various kinds of lists …

Automatic cyclic termination proofs for recursive procedures in separation logic

RNS Rowe, J Brotherston - Proceedings of the 6th ACM SIGPLAN …, 2017 - dl.acm.org
We describe a formal verification framework and tool implementation, based upon cyclic
proofs, for certifying the safe termination of imperative pointer programs with recursive …

Satisfiability modulo heap-based programs

QL Le, J Sun, WN Chin - … International Conference, CAV 2016, Toronto, ON …, 2016 - Springer
In this work, we present a semi-decision procedure for a fragment of separation logic with
user-defined predicates and Presburger arithmetic. To check the satisfiability of a formula …

SLING: using dynamic analysis to infer program invariants in separation logic

TC Le, G Zheng, TV Nguyen - Proceedings of the 40th ACM SIGPLAN …, 2019 - dl.acm.org
We introduce a new dynamic analysis technique to discover invariants in separation logic for
heap-manipulating programs. First, we use a debugger to obtain rich program execution …

A decidable fragment in separation logic with inductive predicates and arithmetic

QL Le, M Tatsuta, J Sun, WN Chin - … , July 24-28, 2017, Proceedings, Part II …, 2017 - Springer
We consider the satisfiability problem for a fragment of separation logic including inductive
predicates with shape and arithmetic properties. We show that the fragment is decidable if …