Verifying Array Manipulating Programs with Full-Program Induction
Project Description
Formally verifying properties of programs that manipulate arrays
of parametric size, in loops is computationally challenging.
In this project, we have developed the Full-Program Induction
technique for proving (a sub-class of) quantified as well as
quantifier-free assertions in such programs. In this technique,
we induct over the entire program via the program parameter N.
We have demonstrated the effectiveness of our tool VAJRA vis-a-vis
several verification tools on a set of array manipulating benchmarks.
VAJRA is integrated into VeriAbs, a verification tool from TCS, which
has won several accolades at the International Software Verification
Competition.
Resources
-
This work is invited to the International Journal on Software Tools for Technology Transfer
STTT. It can be downloaded from
here.
-
TACAS 2020 conference paper is open-access and downloadable from
Springer and
arXiv.
-
TACAS 2020 Artifact can be found on
figshare
and
GitHub.
-
TACAS 2020 conference presentation (online from morressier) can be accessed
here.
-
VAJRA is integrated with the verification tool called VeriAbs since year 2020. VeriAbs participates in SV-COMP and won a Gold medal in the ReachSafety category in SV-COMP 2020 where VAJRA and TILER helped VeriAbs perform better on Arrays Sub-category as compared to previous years. A paper describing this integration is freely downloadable from
Springer.
-
A set of slides on this work are available
here.
-
An online presentation on this work was presented at the 5th Indian
SAT+SMT School 2020 is available on
YouTube.
-
An online presentation of this work was presented at
SERI 2020 is available on
YouTube.
-
A poster on this work was presented at the 4th Indian
SAT+SMT School 2019 can be seen
here.
|