diff --git a/documentation/current/eiffel/Technical_papers/void-safety-how-eiffel-removes-null-pointer-dereferencing.wiki b/documentation/current/eiffel/Technical_papers/void-safety-how-eiffel-removes-null-pointer-dereferencing.wiki index effc78ac..7aa5432f 100644 --- a/documentation/current/eiffel/Technical_papers/void-safety-how-eiffel-removes-null-pointer-dereferencing.wiki +++ b/documentation/current/eiffel/Technical_papers/void-safety-how-eiffel-removes-null-pointer-dereferencing.wiki @@ -1,7 +1,7 @@ [[Property:title|Void-safety: how Eiffel removes null-pointer dereferencing]] [[Property:weight|0]] [[Property:uuid|d9380464-4312-b76e-9bfd-e57df0f59b4a]] -This white paper (see [[file:void-safe-eiffel.pdf|"Attachment" link ]] below) presents the Eiffel void-safety mechanism, fully implemented in EiffelStudio 6.4. +This white paper (see [[file:void-safe-eiffel.pdf|document as pdf]]) 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 failures and other abnormal behaviors result from void calls. @@ -9,21 +9,17 @@ While extensive testing can decrease the likelihood of a void call, it cannot 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": - +:"The invention of the null reference in 1965" [the source of void calls] "has led to innumerable errors, vulnerabilities, and system crashes, which have probably caused a billion dollars of pain and damage in the last forty years." -(Citation at: http://qconlondon.com/london-2009/presentation/Null+References:+The+Billion+Dollar+Mistake .) +(Citation at: [http://qconlondon.com/london-2009/presentation/Null+References:+The+Billion+Dollar+Mistake] ) The Eiffel solution relies on a combination of language mechanisms: - - -The White Paper (see the link below) describes the theoretical and practical challenges of ensuring void-safety and presents the Eiffel mechanism.- +The White Paper (see the link below) describes the theoretical and practical challenges of ensuring void-safety and presents the Eiffel mechanism. diff --git a/documentation/current/eiffel/_files/void-safe-eiffel.pdf b/documentation/current/eiffel/_files/void-safe-eiffel.pdf new file mode 100644 index 00000000..a736f52a Binary files /dev/null and b/documentation/current/eiffel/_files/void-safe-eiffel.pdf differ