▲ | IshKebab 3 days ago | |
Sure it's possible in theory, but how many C codebases actually use formal verification? I don't think I've seen a single one. Git certainly doesn't do anything like that. I have occasionally used CBMC for isolated functions, but that must already put me in the top 0.1% of formal verification users. | ||
▲ | nanolith 3 days ago | parent [-] | |
It's not used more because it is unknown, not because it is difficult to use or that it is impractical. I've written several libraries and several services now that have 100% coverage via CBMC. I'm quite experienced with C development and with secure development, and reaching this point always finds a handful of potentially exploitable errors I would have missed. The development overhead of reaching this point is about the same as the overhead of getting to 80% unit test coverage using traditional test automation. |