Content area
Techniques derived from mathematical logic provide an alternative to conventional methodologies for constructing, debugging, and optimizing computer programs. These techniques will lead to the automation of several facets of the programming process. It is impossible to prove mathematically that a program is free from errors, but mathematical logic can be effective in detecting bugs in programs and in imparting greater confidence in program correctness. Mathematical logic has been applied to several areas of the programming process, including: 1. correctness - proving that a given program produces the intended results, 2. termination - proving that a given program will eventually stop, 3. transformation - changing a program into an equivalent one, often to improve its efficiency (optimization), and 4. development - constructing a program to meet a given specification. The techniques may be applied with the assistance of a computer. Figure.