The Science of Debugging