Layered Security Approaches
Security measures should be viewed as a layered approach, where one solution alone may not suffice. By employing formal methods, critical aspects of software can be mathematically proven to be correct and free from runtime errors. For less critical elements, fuzz testing can provide additional assurance, helping to build a compelling case for the overall security of the system.In this clip
From this podcast

Software Engineering Radio - the podcast for professional software developers
Episode 474: Paul Butcher on Fuzz Testing
Related Questions