Seriously? Software has bugs. Aviation software has bugs. Planes crash. It sucks but it's the truth, 100% perfection in any non-trivial thing (whether hard or soft) is impossible. The list of examples is long (think Ariane 5, MPL, various F-22 crashes, Chinook ZD576, Osprey, etc).
Effective risk management is predicated on understanding that fact and designing systems to be fault tolerant. It's my understanding that most flight control software runs with redundant non-similar implementations which vote on the correct decision to try and handle spurious results. Why would you bother with that if there are no bugs?