What can binary analysis prove?
Binary analysis recovers what compiled code does, not the source code it came from. Names, comments and structure that the compiler discarded do not come back, so recovered pseudocode is a new description of the program rather than the original.
Results also differ in how much they prove. A readable function is not a verified function, and one observed run does not settle every other input. A Devirt result declares what was counted, the exact build and its assumptions, and places every unit in the agreed scope in one of four states: proven, runtime-dependent, unresolved or bounded, so nothing in scope drops out of the count. How to read a devirtualization coverage figure explains what each state means.
For protected or ordinary binaries you are authorized to analyze:See binary reverse engineering
Nothing disappears from the denominator.
This teaching ledger contains 100 selected operations: 86 proven, 7 runtime-dependent, 2 unresolved, and 5 permanently bounded. Every unit is counted exactly once.
Synthetic, not a service benchmark. Solver SAT and timeout counts are separate outcomes, not extra coverage buckets.
