Najsłabszym ogniwem systemu jest człowiek. Oto największe katastrofy programistyczne w historii [TOPtech]

Żadne oprogramowanie nie jest wolne od błędów. Wynika to z faktu, że systemy komputerowe tworzą ludzie. Zazwyczaj jednak tego rodzaju usterki nie niosą za sobą żadnych poważnych konsekwencji.

Niestety zdarza się również tak, że awarie sprzętu bądź oprogramowania prowadzą do prawdziwych katastrof. Oto cztery błędy programistyczne, które skończyły się katastrofą.

Zobacz wideo Najsłabszym ogniwem systemu jest człowiek. Oto największe katastrofy programistyczne w historii [TOPtech]

Mariner 1 i najdroższy dywiz w historii

22 lipca 1962 r. z Przylądka Canaveral na Florydzie wystartowała rakieta, która miała wynieść na orbitę Wenus sondę kosmiczną Mariner 1. Celem tej misji miało być dostarczenie nowych informacji na temat najgorętszej planety w Układzie Słonecznym. Niestety lot Marynarza trwał zaledwie 294 sekundy. Po tym czasie inżynierowie NASA wysłali do systemu pokładowego rakiety Atlas Agena B polecenie autodestrukcji.

Późniejsze śledztwo wykazało, że za katastrofę Marinera 1 odpowiadała nie jedna, ale dwie awarie. Najpierw zawiodła antena, która miała odbierać komendy od zespołu kontroli naziemnej. Konstruktorzy rakiety byli jednak na ten scenariusz przygotowani. W przypadku awarii anteny komputer pokładowy miał wykonywać program lotu wedle poleceń zapisanych w pamięci. I tu pojawił się kolejny problem. Na skutek ludzkiego błędu w kodzie oprogramowania zabrakło jednego znaku, a konkretnie dywizu. Ta literówka sprawiła, że każda nawet najmniejsza zmiana wartości prędkości była traktowana przez system jako priorytetowa.

W efekcie rakieta wykonała szereg gwałtownych manewrów, a następnie zboczyła z wyznaczonego kursu. To z kolei zmusiło NASA do jej zniszczenia. Znany pisarz Arthur C. Clarke nazwał tę nieszczęsną literówkę mianem "najdroższego dywizu w historii".

Therac-25 i zabójcze promieniowanie

W latach 1985-1987 doszło do poważnych incydentów z udziałem maszyny do radioterapii nowotworów Therac-25. Na skutek awarii, które początkowo były ignorowane przez producenta, część pacjentów otrzymywała bardzo wysokie dawki promieniowania, czego efektem była śmierć co najmniej pięciu osób.

Okazało się, że przyczyną tych tragedii był specyficzny błąd oprogramowania oraz... oszczędności. W określonych warunkach, gdy operator maszyny obsługiwał ją w szybki sposób, system dopuszczał wykonywanie wielu operacji jednocześnie, co prowadziło do nieprawidłowej inicjalizacji parametrów zabiegu. Przeprowadzone później dochodzenie wykazało, że producent Therac-25 skopiował oprogramowanie ze starszych modeli urządzenia, a jednocześnie - w ramach redukcji kosztów - usunął stosowane w nich mechaniczne zabezpieczenia. Ta decyzja kosztowała co najmniej kilka ludzkich żyć.

Mars Climate Orbiter - funty czy niutony?

Celem misji Mars Climate Orbiter miało być zbadanie pogody oraz klimatu panującego na Czerwonej Planecie. 23 września 1999 roku sonda rozpoczęła kluczowy dla przebiegu misji manewr umieszczenia na orbicie Marsa. Wówczas utracono z nią kontakt radiowy, którego nigdy już nie odzyskano. Zamiast znaleźć się na planowanej przez NASA wysokości ok. 140-150 km nad powierzchnią Marsa orbiter trafił na wysokość zaledwie 57 km, co doprowadziło do jego zniszczenia w atmosferze planety.

Przeprowadzone przez NASA śledztwo wykazało, że przyczyną katastrofy marsjańskiej sondy był błąd ludzki, a raczej błąd w komunikacji pomiędzy dwoma zespołami odpowiedzialnymi za wartą setki milionów dolarów misję. Okazało się, że zespół kontroli naziemnej jako jednostki siły używał imperialnych funtów, z kolei oprogramowanie sondy stworzone przez inny zespół operowało w metrycznych niutonach. Sonda otrzymywała więc instrukcje w funtach, a interpretowała je w niutonach. W rezultacie po ponad dziewięciu miesiącach kosmicznej wędrówki trajektoria lotu obniżyła się w stosunku do zaplanowanej.

Ariane-5 i lenistwo programistów

Zaprojektowana m.in. przez Europejską Agencję Kosmiczną rakieta Ariane-5 miała być prawdziwą dumą europejskiej astronautyki. Dość powiedzieć, że prace nad nią trwały dekadę, a budżet projektu sięgnął siedmiu miliardów dolarów.

Niestety dziewiczy lot Ariane-5, który odbył się 4 czerwca 1996, zakończył się totalną klapą. Rakieta uległa autodestrukcji zaledwie kilkadziesiąt sekund po starcie. W toku późniejszego śledztwa okazało się, że oprogramowanie rakiety w dużej mierze zostało skopiowane od jej poprzedniczki - Ariane-4. Skopiowano również jedną z funkcji, która w nowej rakiecie była kompletnie zbędna. Sęk w tym, że to właśnie awaria tej funkcji podczas startu Ariane-5 rozpoczęła reakcję łańcuchową, która doprowadziła do gwałtownego zejścia rakiety z wyznaczonej trajektorii.

Więcej o: