The field of program verification has as its goal the construction of computer systems for determining whether a given program is correct. Although automatic proofs of the correctness of large programs may be a long w...
详细信息
The field of program verification has as its goal the construction of computer systems for determining whether a given program is correct. Although automatic proofs of the correctness of large programs may be a long way off, it is evident that the techniques being developed will be useful to find the bugs in faulty programs and to give confidence in correct ones. Once techniques for proving program correctness are available, they should be used to ensure the correctness of the program while it is being constructed rather than waiting to apply them after the program is complete. Program verification relies on automatic theorem-proving techniques that employ principles of deductive reasoning that can be employed in an "automatic synthesis system." Such a system accepts specifications that express the purpose of the program to be constructed, without giving any hint of the algorithm to be employed. The basic approach is to transform the specifications repeatedly according to certain transformation rules, until a satisfactory program is produced. These rules are guided by a number of strategic controls. A running program-synthesis system, called DEDALUS, incorporates these techniques. The methods of synthesis can be applied to various aspects of programming.
暂无评论