Saved in:
Bibliographic Details
Main Authors: Kumar, Ashish, Zhang, Jilaun, Tizpaz-Niari, Saeid, Tan, Gang
Format: Preprint
Published: 2024
Subjects:
Online Access:https://arxiv.org/abs/2412.10657
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866909428235632640
author Kumar, Ashish
Zhang, Jilaun
Tizpaz-Niari, Saeid
Tan, Gang
author_facet Kumar, Ashish
Zhang, Jilaun
Tizpaz-Niari, Saeid
Tan, Gang
contents Despite the crucial need for formal safety and security verification of programs, discovering loop invariants remains a significant challenge. Static analysis is a primary technique for inferring loop invariants but often relies on substantial assumptions about underlying theories. Data-driven methods supported by dynamic analysis and machine learning algorithms have shown impressive performance in inferring loop invariants for some challenging programs. However, state-of-the-art data-driven techniques do not offer theoretical guarantees for finding loop invariants. We present a novel technique that leverages the simulated annealing (SA) search algorithm combined with SMT solvers and computational geometry to provide probabilistic guarantees for inferring loop invariants using data-driven methods. Our approach enhances the SA search with real analysis to define the search space and employs parallelism to increase the probability of success. To ensure the convergence of our algorithm, we adapt e-nets, a key concept from computational geometry. Our tool, DLIA2, implements these algorithms and demonstrates competitive performance against state-of-the-art techniques. We also identify a subclass of programs, on which we outperform the current state-of-the-art tool GSpacer.
format Preprint
id arxiv_https___arxiv_org_abs_2412_10657
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Probabilistic Guarantees for Practical LIA Loop Invariant Automation
Kumar, Ashish
Zhang, Jilaun
Tizpaz-Niari, Saeid
Tan, Gang
Programming Languages
Despite the crucial need for formal safety and security verification of programs, discovering loop invariants remains a significant challenge. Static analysis is a primary technique for inferring loop invariants but often relies on substantial assumptions about underlying theories. Data-driven methods supported by dynamic analysis and machine learning algorithms have shown impressive performance in inferring loop invariants for some challenging programs. However, state-of-the-art data-driven techniques do not offer theoretical guarantees for finding loop invariants. We present a novel technique that leverages the simulated annealing (SA) search algorithm combined with SMT solvers and computational geometry to provide probabilistic guarantees for inferring loop invariants using data-driven methods. Our approach enhances the SA search with real analysis to define the search space and employs parallelism to increase the probability of success. To ensure the convergence of our algorithm, we adapt e-nets, a key concept from computational geometry. Our tool, DLIA2, implements these algorithms and demonstrates competitive performance against state-of-the-art techniques. We also identify a subclass of programs, on which we outperform the current state-of-the-art tool GSpacer.
title Probabilistic Guarantees for Practical LIA Loop Invariant Automation
topic Programming Languages
url https://arxiv.org/abs/2412.10657