Automated Property Directed Self-Composition, ATVA 2023
Description
PdscSynth is a tool designed on top of PDSC (https://bitbucket.org/sharonsh/pdsc/src/master/), corresponding to the work presented in our ATVA 2023 submission (paper ID 51).
We consider the problem of hypersafety verification, i.e. of verifying k-safety properties of a program. While this can, in principle, be addressed by self composition, which reduces the k-safety verification task into a standard safety verification exercise, verifying self-composed programs is not easy. The proofs often require that the functionality of every component program be captured fully, making invariant inference a challenge. Recently, a technique for property directed self composition (or, PDSC) was proposed to tackle this problem. PDSC tries to come up with a semantic self-composition function, together with the inductive invariant that is needed to verify the safety of the self-composed program. One of its crucial limitations, however, is that it relies on users to supply a set of predicates in which the composition and the invariant may be expressed. It is quite challenging even for a user to supply such a set of predicates -- the set needs to be sufficiently expressive, so that the invariant can be expressed using those predicates (and their boolean combinations), but not overly expressive to increase the search-space unnecessarily. This paper proposes a technique to automate PDSC fully, by discovering new predicates whenever the given set is found to be insufficient.
Files
PdscSynth.zip
Files
(87.5 MB)
Name | Size | Download all |
---|---|---|
md5:bb4eedaf1f22d18d92f5250a24000244
|
87.5 MB | Preview Download |