Enhancing Loop-Invariant Synthesis via Reinforcement Learning

07/16/2021
by   Takeshi Tsukada, et al.
0

Loop-invariant synthesis is the basis of every program verification procedure. Due to its undecidability in general, a tool for invariant synthesis necessarily uses heuristics. Despite the common belief that the design of heuristics is vital for the effective performance of a verifier, little work has been performed toward obtaining the optimal heuristics for each invariant-synthesis tool. Instead, developers have hand-tuned the heuristics of tools. This study demonstrates that we can effectively and automatically learn a good heuristic via reinforcement learning for an invariant synthesizer PCSat. Our experiment shows that PCSat combined with the heuristic learned by reinforcement learning outperforms the state-of-the-art solvers for this task. To the best of our knowledge, this is the first work that investigates learning the heuristics of an invariant synthesis tool.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/07/2022

Scaling Directed Controller Synthesis via Reinforcement Learning

Directed Controller Synthesis technique finds solutions for the non-bloc...
research
06/23/2022

Algebra-Based Reasoning for Loop Synthesis

Provably correct software is one of the key challenges of our software-d...
research
01/12/2021

Automated Synthesis of Steady-State Continuous Processes using Reinforcement Learning

Automated flowsheet synthesis is an important field in computer-aided pr...
research
04/24/2020

Algebra-based Loop Synthesis

We present an algorithm for synthesizing program loops satisfying a give...
research
11/29/2017

Performance Heuristics for GR(1) Synthesis and Related Algorithms

Reactive synthesis for the GR(1) fragment of LTL has been implemented an...
research
11/22/2017

A Generic Framework for Engineering Graph Canonization Algorithms

The state-of-the-art tools for practical graph canonization are all base...
research
07/20/2019

Evaluating Heuristics for Iterative Impact Analysis

Iterative impact analysis (IIA) is a process that allows developers to e...

Please sign up or login with your details

Forgot password? Click here to reset