Quantitative Symbolic Patch Impact Analysis
Laboni Sarker, Abdus Satter, Tevfik Bultan

TL;DR
This paper introduces a method for quantifying behavioral differences between original and patched programs using symbolic analysis, providing detailed impact assessment beyond simple equivalence classification.
Contribution
It presents a novel quantitative partial equivalence analysis approach that measures behavioral divergence, improving patch impact analysis with a range-based heuristic for numerical domains.
Findings
Effectively characterizes and quantifies patch impact on 90 CVE patches.
Identifies five C program pairs mislabeled as equivalent in benchmarks.
Provides input conditions where program behaviors diverge.
Abstract
Traditional equivalence checking classifies programs as equivalent or non-equivalent, providing insufficient information for tasks like patch impact analysis where it is expected the patched version of the program to be non-equivalent to the original program. When two program versions are non-equivalent, determining under what conditions they differ and what percentage of inputs are affected remains an open challenge. In this work, we introduce quantitative partial equivalence analysis, an approach for assessing software patches by quantifying behavioral differences between the original (vulnerable) code and the patched code. Using symbolic analysis, we identify input conditions under which patched and original programs exhibit identical or divergent behaviors. Our approach refines non-equivalence by measuring the extent of behavioral divergence across the input domain. For efficient…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
