TY - GEN
T1 - Regression verification for unbalanced recursive functions
AU - Strichman, Ofer
AU - Veitsman, Maor
N1 - Publisher Copyright: © Springer International Publishing AG 2016.
PY - 2016
Y1 - 2016
N2 - We address the problem of proving the equivalence of two recursive functions that have different base-cases and/or are not in lockstep. None of the existing software equivalence checkers (like RÊVE, RVT, SYMDIFF), or general unbounded software model-checkers (like SEAHORN, HSFC, AUTOMIZER) can prove such equivalences. We show a proof rule for the case of different base cases, based on separating the proof into two parts—inputs which result in the base case in at least one of the two compared functions, and all the rest. We also show how unbalanced unrolling of the functions can solve the case in which the functions are not in lock-step. In itself this type of unrolling may again introduce the problem of the different base cases, and we show a new proof rule for solving it. We implemented these rules in our regression-verification tool RVT. We conclude by comparing our approach to that of Felsig et al.’s counterexample-based refinement, which was implemented lately in their equivalence checker RÊVE.
AB - We address the problem of proving the equivalence of two recursive functions that have different base-cases and/or are not in lockstep. None of the existing software equivalence checkers (like RÊVE, RVT, SYMDIFF), or general unbounded software model-checkers (like SEAHORN, HSFC, AUTOMIZER) can prove such equivalences. We show a proof rule for the case of different base cases, based on separating the proof into two parts—inputs which result in the base case in at least one of the two compared functions, and all the rest. We also show how unbalanced unrolling of the functions can solve the case in which the functions are not in lock-step. In itself this type of unrolling may again introduce the problem of the different base cases, and we show a new proof rule for solving it. We implemented these rules in our regression-verification tool RVT. We conclude by comparing our approach to that of Felsig et al.’s counterexample-based refinement, which was implemented lately in their equivalence checker RÊVE.
UR - http://www.scopus.com/inward/record.url?scp=84996479816&partnerID=8YFLogxK
U2 - https://doi.org/10.1007/978-3-319-48989-6_39
DO - https://doi.org/10.1007/978-3-319-48989-6_39
M3 - منشور من مؤتمر
SN - 9783319489889
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 645
EP - 658
BT - FM 2016
A2 - Heitmeyer, Constance
A2 - Philippou, Anna
A2 - Gnesi, Stefania
A2 - Fitzgerald, John
T2 - 21st International Symposium on Formal Methods, FM 2016
Y2 - 9 November 2016 through 11 November 2016
ER -