Verifying software security - is it possible?

One of the biggest security problems for any system lies in software bugs. If software doesn't do what we expect of it – or does something that we don't expect of it – then that can create security issues that could have far-reaching ramifications. One of the biggest security problems for any system lies in software bugs. If software does something we don't expect, then that can create security issues that could have far-reaching ramifications. Traditionally, we have detected bugs using empirical evidence, by looking at software's behaviour to see if it does anything out of the ordinary. In many cases, of course, we only find out about the errors once the software is being used in the field. Danny Bradbury explores whether there are better ways of going about producing clean, safe software.