2019
DOI: 10.48550/arxiv.1909.11542
|View full text |Cite
Preprint
|
Sign up to set email alerts
|

CLN2INV: Learning Loop Invariants with Continuous Logic Networks

Abstract: Program verification offers a framework for ensuring program correctness and therefore systematically eliminating different classes of bugs. Inferring loop invariants is one of the main challenges behind automated verification of real-world programs which often contain many loops. In this paper, we present Continuous Logic Network (CLN), a novel neural architecture for automatically learning loop invariants directly from program execution traces. Unlike existing neural networks, CLNs can learn precise and expl… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1

Citation Types

0
2
0

Year Published

2022
2022
2022
2022

Publication Types

Select...
2

Relationship

0
2

Authors

Journals

citations
Cited by 2 publications
(2 citation statements)
references
References 15 publications
0
2
0
Order By: Relevance
“…We provide examples of Code2Inv problems in Appendix C. Most existing invariant generation tools can only solve a subset of these problems [28]. To the best of our knowledge, only one existing tool can solve them all [29], but only by using specific optimization techniques that are not generalizable beyond the setting of purely numerical programs.…”
Section: Methodsmentioning
confidence: 99%
“…We provide examples of Code2Inv problems in Appendix C. Most existing invariant generation tools can only solve a subset of these problems [28]. To the best of our knowledge, only one existing tool can solve them all [29], but only by using specific optimization techniques that are not generalizable beyond the setting of purely numerical programs.…”
Section: Methodsmentioning
confidence: 99%
“…Loop Invariants: Finding loop invariants is one of the fundamental problems in program verification. Numerous works [15,16,41,42,61,79,81,93] have been proposed over the decades for detecting loop invariants, inferring them and then utilizing their knowledge for program verification. In contrast to the prior works, we explored the problem of detecting loop-invariants with the view of specific loop optimizations.…”
Section: Enhancing Backend Code Optimizationsmentioning
confidence: 99%