diff --git a/documentation/current/papers/void-safety-how-eiffel-removes-null-pointer-dereferencing.wiki b/documentation/current/papers/void-safety-how-eiffel-removes-null-pointer-dereferencing.wiki index 5d26ebb4..3235b0a5 100644 --- a/documentation/current/papers/void-safety-how-eiffel-removes-null-pointer-dereferencing.wiki +++ b/documentation/current/papers/void-safety-how-eiffel-removes-null-pointer-dereferencing.wiki @@ -1,6 +1,28 @@ -[[Property:title|Void safety]] +[[Property:title|Void safety: how Eiffel removes void references]] [[Property:link_title|Void-safety: how Eiffel removes null-pointer dereferencing]] [[Property:weight|0]] [[Property:uuid|d9380464-4312-b76e-9bfd-e57df0f59b4a]] -Here is the paper. +This white paper (see link below) presents the Eiffel void safety mechanism, fully implemented in EiffelStudio 6.4. + +In almost every program running today there is a ticking time bomb: the risk of a "void call". A void call is possible in programs written in almost any programming language; its effect is usually to crash the program. Many unexplained program crashes and other abnormal behaviors result from void calls. While extensive testing can decrease the likelihood of a void call, it cannot remove the possibility. The solution has to com from the programming language. + +Professor C.A.R. Hoare from Microsoft Research, winner of the Turing Award and the Kyoto Prize, calls the presence of void calls in modern programming languages the "billion-dollar mistake": + +