Takmer každý deň sa možno dočítať o stále ďalších chybách v počítačových programoch. Bezpečnostné diery a vírusy, ktoré ich využívajú, sa už stali bežnou záležitosťou. Každý majiteľ počítača už má aj svoje skúsenosti s „padajúcimi“ programami. Ako je možné, že programy vytvárané dlhé roky množstvom odborníkov, na ktorých vývoj sa často minuli závratné sumy, stále obsahujú toľko chýb? Na vine je viacero faktorov. Väčšina z nich súvisí s rozsiahlosťou programu - čím viac kódu, tým vyššia je pravdepodobnosť, že zmena v jednej časti spôsobí neželané zmeny vo funkčnosti inej. Chyby sa však objavujú aj v relatívne malých programoch a dokonca aj v takých, do ktorých sa už dlho žiadne nové funkcie nepridávali.
Hlavný dôvod je totiž iný: nepredvídateľné používanie. Pri väčšine iných produktov je v návode vymenované, čo s nimi robiť nemôžete (respektíve by ste nemali) - najmä v prípade elektroniky to býva dosť dlhý zoznam. V prípade softvéru to väčšinou neprichádza do úvahy. Od programu sa očakáva, že sa bude správať korektne v každej situácii. Pritom faktorov, ktoré jeho funkčnosť ovplyvňujú, je veľké množstvo: od hardvérovej konfigurácie až po nepredvídané kombinácie nastavení samotného programu. Ani veľmi rozsiahle testovanie nemôže odskúšať všetky možnosti.
Ako keby to nestačilo, autori programov navyše nemôžu počítať s dobrými úmyslami používateľa - počítačoví „zlomyseľníci“ (crackeri) sa ho totiž snažia použiť na niečo úplne iné. Programátori ho preto musia zabezpečiť aj proti prípadom, ktoré za bežných okolností nikdy nemôžu nastať. (V jednej zo starších verzií Internet Explorera sa napríklad vyskytla chyba, keď bolo zadaných do políčka pre adresu niekoľko tisíc(!) znakov…)
Problémy, pochopiteľne, nespôsobujú len používatelia. Ani pri komunikácii s inými programami nemôžu programátori nič predpokladať. Veľa chýb vzniklo tak, že autor predpokladal korektné odpovede druhého programu, ale ten (či už vlastnou chybou alebo úmyselne) odpovedal nesprávne. Tento problém sa najviac prejavuje pri rozsiahlych programoch, kde je často veľmi ťažké zistiť, čo vlastne chybu spôsobuje.
Neustály tlak zo strany manažérov, ktorí vyžadujú nové funkcie a chcú ich čo najskôr, kvalite tiež určite neprospieva. Navyše, používatelia už ako keby si zvykli na nestabilné programy a napríklad pravidelné reštartovanie počítača už väčšina považuje za samozrejmosť.
Dá sa tento problém vôbec riešiť? Ako to už býva, žiadne „zázračné“ riešenie neexistuje. Ak niekto tvrdí, že jeho softvér neobsahuje žiadne chyby, takmer určite nehovorí pravdu (je síce zopár dôkladne otestovaných programov, vyvíjaných dlhé roky, ale istotu nemôžno mať ani pri nich). Existujú však postupy, ktoré umožňujú znížiť pravdepodobnosť chýb na minimum. Ich použitie však väčšinou znamená pomalší vývoj, menej nových funkcií a neraz aj väčšie obmedzenia v oblasti používateľskej prívetivosti.
A čo z toho vyplýva? Pokým budú pre používateľov nové funkcie dôležitejšie než stabilita a bezpečnosť so ftvéru, dovtedy sa väčšieho rozšírenia skutočne stabilných a bezpečných programov pravdepodobne nedočkáme. PETER VALACH
(Diskutujte na www.sme.sk/pocitace.)