Can large language models reason about program invariants?
Identifying invariants is an important program analysis task with applications towards
program understanding, bug finding, vulnerability analysis, and formal verification. Existing …
program understanding, bug finding, vulnerability analysis, and formal verification. Existing …
Finding invariants of distributed systems: It's a small (enough) world after all
Today's distributed systems are increasingly complex, leading to subtle bugs that are difficult
to detect with standard testing methods. Formal verification can provably rule out such bugs …
to detect with standard testing methods. Formal verification can provably rule out such bugs …
Finding inductive loop invariants using large language models
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 …
properties about a given loop's behavior. When they additionally are inductive, they become …
Lemur: Integrating large language models in automated program verification
The demonstrated code-understanding capability of LLMs raises the question of whether
they can be used for automated program verification, a task that typically demands high …
they can be used for automated program verification, a task that typically demands high …
Learning contract invariants using reinforcement learning
Due to the popularity of smart contracts in the modern financial ecosystem, there has been
growing interest in formally verifying their correctness and security properties. Most existing …
growing interest in formally verifying their correctness and security properties. Most existing …
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 …
verification engines, like third-party library calls, inline assembly and SIMD instructions …
Learning to find proofs and theorems by learning to refine search strategies: The case of loop invariant synthesis
J Laurent, A Platzer - Advances in Neural Information …, 2022 - proceedings.neurips.cc
We propose a new approach to automated theorem proving where an AlphaZero-style agent
is self-training to refine a generic high-level expert strategy expressed as a nondeterministic …
is self-training to refine a generic high-level expert strategy expressed as a nondeterministic …
Formal mathematical reasoning: A new frontier in ai
AI for Mathematics (AI4Math) is not only intriguing intellectually but also crucial for AI-driven
discovery in science, engineering, and beyond. Extensive efforts on AI4Math have mirrored …
discovery in science, engineering, and beyond. Extensive efforts on AI4Math have mirrored …
Survey of machine learning for software-assisted hardware design verification: Past, present, and prospect
With the ever-increasing hardware design complexity comes the realization that efforts
required for hardware verification increase at an even faster rate. Driven by the push from …
required for hardware verification increase at an even faster rate. Driven by the push from …
Reinforcement Learning and Data-Generation for Syntax-Guided Synthesis
Program synthesis is the task of automatically generating code based on a specification. In
Syntax-Guided Synthesis (SyGuS) this specification is a combination of a syntactic template …
Syntax-Guided Synthesis (SyGuS) this specification is a combination of a syntactic template …