How You Can Avoid Software Bugs Upfront