A survey of machine learning for big code and naturalness

M Allamanis, ET Barr, P Devanbu… - ACM Computing Surveys …, 2018 - dl.acm.org
Research at the intersection of machine learning, programming languages, and software
engineering has recently taken important steps in proposing learnable probabilistic models …

Can large language models reason about program invariants?

K Pei, D Bieber, K Shi, C Sutton… - … Conference on Machine …, 2023 - proceedings.mlr.press
Identifying invariants is an important program analysis task with applications towards
program understanding, bug finding, vulnerability analysis, and formal verification. Existing …

Learning loop invariants for program verification

X Si, H Dai, M Raghothaman… - Advances in Neural …, 2018 - proceedings.neurips.cc
A fundamental problem in program verification concerns inferring loop invariants. The
problem is undecidable and even practical instances are challenging. Inspired by how …

Synthesizing barrier certificates using neural networks

H Zhao, X Zeng, T Chen, Z Liu - … of the 23rd international conference on …, 2020 - dl.acm.org
This paper presents an approach of safety verification based on neural networks for
continuous dynamical systems which are modeled as a system of ordinary differential …

Finding inductive loop invariants using large language models

A Kamath, A Senthilnathan, S Chakraborty… - arxiv preprint arxiv …, 2023 - arxiv.org
Loop invariants are fundamental to reasoning about programs with loops. They establish
properties about a given loop's behavior. When they additionally are inductive, they become …

Horn-ICE learning for synthesizing invariants and contracts

P Ezudheen, D Neider, D D'Souza, P Garg… - Proceedings of the …, 2018 - dl.acm.org
We design learning algorithms for synthesizing invariants using Horn implication
counterexamples (Horn-ICE), extending the ICE-learning model. In particular, we describe a …

Almost correct invariants: Synthesizing inductive invariants by fuzzing proofs

S Lahiri, S Roy - Proceedings of the 31st ACM SIGSOFT International …, 2022 - dl.acm.org
Real-life programs contain multiple operations whose semantics are unavailable to
verification engines, like third-party library calls, inline assembly and SIMD instructions …

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 …

Mostly Automated Proof Repair for Verified Libraries

K Gopinathan, M Keoliya, I Sergey - Proceedings of the ACM on …, 2023 - dl.acm.org
The cost of maintaining formally specified and verified software is widely considered
prohibitively high due to the need to constantly keep code and the proofs of its correctness in …

Neural termination analysis

M Giacobbe, D Kroening, J Parsert - Proceedings of the 30th ACM Joint …, 2022 - dl.acm.org
We introduce a novel approach to the automated termination analysis of computer
programs: we use neural networks to represent ranking functions. Ranking functions map …