abstract mathematical or physical statement, not something specific. The way scientific programmers most frequently verify that their programs are correct is to examine their results on a series of problems that have known solutions. Since the program must be prepared to solve a general problem, it produces only an approximate answer to a specific problem. It takes judgment to decide whether the program is operating correctly--that is, if the differences between the actual and desired answer are a result of numerical noise, the approximations chosen, inaccurate models of physical properties, or actual coding errors. I have spent many hours in meetings with scientists discussing whether an observed little "wiggle" in an answer is a bug or a modeling problem. Many bugs are indistinguishable from errors in modeling or deficiencies in numerical techniques. At worst, a bug may cause us to make an erroneous decision to revise a model or abandon a certain approach. At best, bugs can...
Paul F. Dubois