Chyby v softwaru: škody za desítky miliard USD ročně

Pády letadel, selhání družic, dopravní nehody, ekologické katastrofy a nervy uživatelů v kýblu. To vše je jen část daní, které platíme za chyby v software. Vinu na tomto stavu ale nesou i uživatelé.
Chyby v softwaru: škody za desítky miliard USD ročně
Počítačové programy by mohly být mnohem spolehlivější – jen kdyby se jejich výrobci více snažili, tvrdí odborníci na tuto problematiku. A většina z nich věří, že by výrazně pomohlo, kdyby tvůrci software nesli zodpovědnost za lajdácké programování.

Nejen padající letadla

Chybný programový kód může způsobit víc než jen finanční náklady na nápravu. Následky vadných programů mohou být velice závažné. Jen pro příklad: špatně naprogramovaný systém pro sledování výšky letu byl zodpovědný za pád letounu Korejských aerolinek, který stál život 228 lidí, pád sondy Mars Polar Lander z výšky 30 metrů a její zničení zavinil vadný software, který předčasně zastavil přívod paliva do motorů, chyba v ovládacím programu v systému ABS zavinila stažení 39 000 nákladních automobilů v roce 2000, selhání počítačových systémů bylo pravděpodobně příčinou i některých nehod během války v Iráku.

Miliardová cena nedostatečného testování

Studie Národního institutu pro standardizaci a technologie za rok 2002 prokázala, že americká ekonomika přišla v důsledku chyb v softwarových produktech o 59.5 miliard dolarů, což je 0.6 % HDP. Více než polovinu těchto nákladů nesli uživatelé, zbytek vývojáři a prodejci software.

Většina komerčního software se na trh dostává bez pořádného testování. Tvrdí to vedoucí laboratoře počítačové vědy institutu SRI International (Stanford Research Institute) Peter Neumann. Jeho skupina spolupracovala s NASA na vývoji SW pro vesmírné rakety. Během pracovního dne každý programátor vytvořil pouze tři řádky kódu. Toto pomalé a opatrné tempo mělo zajistit, že ve výsledném produktu nebude jediná chyba. Takto pomalý postup je ale v běžném informačním průmyslu, kde mnohé aplikace mají až milion řádek zdrojového kódu, nemyslitelný.

Vývojáři vysvětlují chybovost svých produktů mnoha faktory, jako je složitost kódu, tlak na co nejrychlejší uvedení produktu na trh, špatnými metodami práce nebo nedostatečnou zodpovědností výrobců SW za své produkty.

Typický programátor tráví polovinu času při vývoji programu vlastním programováním, zbytek pak věnuje vyhledávání nedostatků a jejich opravám. Tento přístup je používán už od počátků programování, kdy byly aplikace jednoduché a zdrojové kódy měly řádově tisíce řádek. Od té doby se průměrná délka zdrojáků přibližně zdvojnásobuje každý rok a půl, podobně jako se zvyšuje rychlost procesorů.

Dříve byla chybovost mnohem menší, ale dnes je běžné, že v programu existuje pět až deset chyb v každém tisíci řádků zdrojového kódu. Zdrojový kód aplikace s milionem řádků tak obsahuje až 10 000 chyb. Jejich vyhledání a oprava by zabrala týmu padesáti lidí celý rok práce.

Důvěryhodné počítače od MS

Na problém s chybovostí softwaru reaguje i iniciativa Trustworthy Computing společnosti Microsoft, jejíž pověst, co se týká spolehlivosti SW, není nijak dobrá. Součástí projektu „Důvěryhodných počítačů“ bylo školení pracovníků v lepším plánování a hlídání kvality. Prvním produktem ovlivněným novými snahami Microsoftu je Windows Server 2003, jehož uvedení na trh bylo o rok odloženo. Toto zpoždění si podle Microsoftu vyžádaly právě práce na zvýšení spolehlivosti a bezpečnosti konečného produktu.

Hodnocení spolehlivosti

Zvýšení spolehlivosti Windows Serveru 2003 ukáže až čas, ale zákazníci si ji předem ověřit nemohou. Po nákupu software a pozdějším odhalení chyb už ale bude pozdě. Licenční ujednání téměř všech komerčních softwarových produktů obsahují klauzuli o tom, že výrobce poskytuje program tak, jak je a nenese zodpovědnost za... vlastně za nic.

Sdružení uživatelů softwaru Sustainable Computing Consortium. Chce tento stav změnit. Jeho cílem je vytvoření automatických nástrojů pro analýzu software a ohodnocení jeho spolehlivosti. Vytvoření hodnověrného ratingu by umožnilo uživateli lepší rozhodování před koupí programu.

Bič na vývojáře

Nezávislý rating může fungovat jako mírný nátlakový prostředek, ale podle některých expertů potřebuje softwarový průmysl mnohem důraznější pobídku pro zkvalitnění své práce. Software je z právního hlediska naprosto výlučným typem zboží. I když je jasné, že 100% bezchybný software není možné v praxi vyrobit, nulová zodpovědnost výrobců za své produkty je absurdní.

Podle profesora programování na floridském Technologickém institutu Cema Kanera je současná legislativa okolo počítačových programů výsledkem nechuti politiků omezit v rozletu nejrychleji se vyvíjející se průmyslové odvětví. Microsoft odmítá návrhy zavedení právní odpovědnosti za chyby v software tím, že by to znamenalo zpomalení inovací a náklady na soudní spory a náhrady škod by se odrazily ve vyšších cenách software. Cem Karner nabízí kompromis v podobě omezené zodpovědnosti softwarových společností pouze na chyby, které společnost nezveřejní. Odpovědnost by také měla být zákonem omezena na určité případy a limitované by měly být i náhrady škod.

Obavy softwarových společností ze soudních pří při zavedení zákonem dané zodpovědnosti za škody způsobené softwarovými produkty jsou z části oprávněné, stačí si vzpomenout na obrovské sumy, které se snaží vysoudit kuřáci z tabákových společností. Za mnohé si ale mohou uživatelé sami. I když současná podoba licenčních ujednání, které zbavují výrobce SW jakékoliv zodpovědnosti, leží v žaludku mnoha firmám i jednotlivcům, nedávají to dostatečně najevo. Většina domácích uživatelů pak hledá software, který je jednoduchý a hezky vypadá, místo aby se zajímala o to, jak stabilní a bezpečný jejich software je.

Diskuze (89) Další článek: Telecom chce v létě 2,5krát zrychlit internet přes ADSL

Témata článku: Software, Programování, Softwarový produkt, Chyba, Výrobce automobilů, Nákladní automobil, Pořádný software, Určitý nedostatek, Polar, Právní odpovědnost, Průměrná délka, USD, Americká ekonomika, Domácí NAS, Současná legislativa, Jednoduchá oprava, Vývoj automobilu, Rating

Určitě si přečtěte


Aktuální číslo časopisu Computer

Test 6 odolných telefonů a 22 powerbank

Srovnání technologií QLED a OLED

Měřte své sportovní výkony

Sady pro chytrou domácnost