, . , , Eiffel, .
ommunications of the ACM.
. . , Eiffel Design by Contract ( ), , .
, , . , ,
x.f,
f ( ) ,
x. , null, Nil Void, (, : next , , ). ,
x.f x, ,
f.
- ,
x.f . ( , ?). , , , , . , .
, . ,
. .
, , (CVE), -. , .
.
CVE-2016-9113:
NULL imagetobmp convertbmp.c:980 OpenJPEG 2.1.2 image->comps[0].data (NULL). .
, JPEG. , . ( 2016) , , Gotha -,
Google Microsoft (, , )
Red Hat Cisco.
NVIDIA : NVIDIA Quadro, NVS Ge-Force, NVIDIA Windows GPU Display Driver R340 342.00 R375 375.63 (nvlddmkm.sys), NULL, , .
, . , ( TCP/IP ), , ?
Eiffel, , . , , data race SCOOP. . Eiffel . , , x.f, x , .
? , ,
. , . .
- (ECOOP) 2005 . ,
, : , void safety, , . .
. . . . , , , , , : ( ), ( !), . , , .
, . , : .
(attached) (detachable) .
1 (, PERSON), , ..
1 . . ,
2 ,
detachable PERSON. :
1 2, . , :
1 . .
, - , . , :
if p2 /= Void then p2.f end, , ( . , , ,
2 f. ).
, , . ( , Eiffel). , , . void safety , (CAPs), . . , ( Isabelle/HOL),
, , .
void safety , , , . .
, ?
https://habrahabr.ru/post/333622/