PhD: Can computers understand their own programs?

108
Опубликовано 12 августа 2016, 1:39
In his centenary year, it is appropriate to address a question that interested him. I will suggest that an answer can be found in TuringΓÇÖs own works. Turing invented the stored-program digital computer in 1936, with the specific purpose of defining clear limits to the understanding a computer can have of its own programs. He proved that a computer cannot always reliably answer a most important question: Will its own program ever terminate? This impossibility theorem has ever since lain at the foundation of computer science. But let us accept a lower criterion of computer understanding, that allows occasional failure to answer questions. In 1947, Turing gave a much more positive answer to my question. He showed how a computer could often reason correctly about the correctness of its own programs. My entire research career has been devoted to the development of TuringΓÇÖs method for reasoning about programs. I now see his method used in the worldwide software industry to reduce the cost of testing programs and the risk of residual program errors in service. With further research and development, IΓÇÖm confident that computers will routinely be able to answer a programmerΓÇÖs general questions about program properties and behaviour. The answers will be useful at all stages of program design, development, and evolution. The collaboration of the programmer with the computer will reveal that the computer understands the details of the program, perhaps not perfectly, but certainly better than the programmer. (But the programmer understands much better the purpose of the program!). I suggest that Turing would accept this test as a relevant analogue (in the specialised field of software engineering) of his famous Turing test for more general computer intelligence. But one question that remains for philosophical speculation is: Will a computer ever realise that it is reasoning about itself?
автотехномузыкадетское