Když vidíte padat hvězdu, máte si přát něco pozitivního a prý se vám to splní. Jste-li obětí „pádu“ programu, přejete si chytit za krk někoho, kdo za to může. To se vám ovšem splní zřídka. Proč programy alespoň ve viditelném vesmíru padají mnohem, mnohem častěji než hvězdy? Historicky byly první programy něco jako umělecká díla, individuálně „vybroušené“ šperky. Potíž byla v tom, že když byly fyzicky odděleny od svého tvůrce, hynuly velmi rychle, často i s jejich uživateli. Technologie výroby programů od té doby výrazně pokročila a dnes je kódování nebo programování spíše pečením housek nebo sestavováním výrobku z polotovarů. Proč to tedy pořád nefunguje a je to dražší a dražší?
Zřejmým faktem je, že informační technologie výrazně prostoupily náš osobní i profesionální život. Není pochyby o tom, že většinou právem a život nám ulehčují a obohacují. Nicméně jsme na produktech informačního průmyslu velmi závislí. Programy se na rozdíl od nás zřídka kdy samy učí z chyb a chyby v nich zanechali lidé při výrobě. Padají v zásadě ze dvou důvodů. Buď se jejich tvůrci snaží nás přizpůsobit svému výrobku a nechápou, jak někdo může dělat při jeho ovládání tak „stupidní“ chyby, nebo jde o absenci rizikové analýzy spojené s užíváním programu. To se netýká jenom činnosti hackerů, kteří naše kritické aplikace napadají ať už pro zábavu, nebo pro peníze. Design většiny programů obsahuje slepé neprobádané uličky, a když do nich program vstoupí, má to obvykle nepředvídatelné a zřídkakdy pozitivní následky. Řada aplikací je konstruována jako skleničky na víno od Riedla. Jsou nádherné, ale běda, když je dáte do myčky. Kde jsou programy odolné jako notebooky vyvinuté pro používání v armádě a na bojišti?
Jak z této situace ven? Budeme stále tolerovat to, že většina výrobců softwaru z nás dělá testovací králíky? Necháme své kritické programy záplatovat jako duši na kole a smíříme se s tím, že po šesti záplatách musíme pumpovat každou půlhodinu? Myslím, že výrobci softwaru by měli vychovat a zaměstnat novou generaci testerů. Zadání pro jejich práci by bylo odhalit, kde mohou vzniknout škody pro potenciálního zákazníka, snažit se je vyvolat a pak nebezpečné slepé uličky zablokovat. Přemýšlet jako loupežníci a narušitelé. To je systémově podstatně jiná činnost než odhalovat jednotlivé „bugy“ v programech. Nebude to levné, stejně jako nejsou levné ani odolné notebooky. Měli bychom tedy podobnou strategii aplikovat jen tam, kde existují skutečně podstatná rizika. Brát kanon na vrabce je drahé. A neefektivní.