학술논문

Does Not Compute
Document Type
Periodical
Author
Source
IEEE Software IEEE Softw. Software, IEEE. 36(3):14-16 Jun, 2019
Subject
Computing and Processing
System verification
Encoding
Software reliability
Software development management
Memory management
Computational modeling
Language
ISSN
0740-7459
1937-4194
Abstract
Most of us who work with software know all too well how easy it is to make small mistakes that escape detection in tests and come back to haunt us later. Unfortunately, when you study formal software verification techniques, one of the first things you learn is that a foolproof method for analyzing your code to reliably prevent these types of unpleasantries does not exist. Worse, you learn that it cannot exist. Although you may not remember a proof, you?ve certainly heard of the halting problem. Alan Turing already showed in 1936 that there cannot be an algorithm that can decisively show whether an arbitrary program will terminate on a given input or not.