Software Open Access

Not All Bugs Are Created Equal, But Robust Reachability Can Tell The Difference

Guillaume Girol; Sébastien Bardin; Benjamin Farinier

This paper introduces a new property called robust reachability which refines the standard notion of reachability in order to take replicability into account. A bug is robustly reachable if a controlled input can make it so the bug is reached whatever the value of uncontrolled input. Robust reachability is better suited than standard reachability in many realistic situations related to security (e.g., criticality assessment or bug prioritization) or software engineering (e.g., replicable test suites and flakiness). We propose a formal treatment of the concept, and we revisit existing symbolic bug finding methods through this new lens. Remarkably, robust reachability allows differentiating bounded model checking from symbolic execution while they have the same deductive power in the standard case. Finally, we propose the first symbolic verifoer dedicated to robust reachability: we use it for criticality assessment of existing vulnerabilities, and compare it with standard symbolic execution.

Files (5.4 GB)
Name Size
CavRobust3.ova
md5:d24a7b627807dffc2c3825c87d0fa8dc
5.4 GB Download
260
31
views
downloads
All versions This version
Views 260260
Downloads 3131
Data volume 168.0 GB168.0 GB
Unique views 231231
Unique downloads 2828

Share

Cite as