Blog IT, Blog Marketing

Drobne bugi – wielkie katastrofy. Najsłynniejsze programistyczne błędy w historii (cz. I)

Drobne bugi – wielkie katastrofy. Najsłynniejsze programistyczne błędy w historii (cz. I)

TeamQuest 23.07.2017 r.

Z tego wpisu dowiesz się:

  • dlaczego praca programisty bywa bardziej odpowiedzialna i stresująca niż mogłoby się wydawać?
  • do czego doprowadzić może niewykryty bug w kodzie?
  • jakie są najbardziej znane programistyczne błędy w historii?

Żyjemy w czasach, w których coraz trudniej wyobrazić sobie branżę, instytucję, firmę czy urządzenie, które nie korzystałoby z oprogramowania komputerowego. Na co dzień nie zdajemy sobie sprawy, jak wiele zależy od tego, czy stworzony przez developera kod będzie wolny od bugów. Oczywiście błąd w sztuce może zdarzyć się każdemu programiście i w większości wypadków skutki tego da się w mniej lub bardziej prosty sposób naprawić. Zdarzają się jednak sytuacje, kiedy niedopatrzenia programisty mogą mieć tragiczne i kosztowne skutki. Oto subiektywny przegląd najbardziej spektakularnych programistycznych błędów w historii.

Therac-25

Therac-25 to kanadyjskie urządzenie stosowane w latach 80. do radioterapii nowotworów. Między 1985 a 1987 rokiem odnotowano przynajmniej 6 przypadków, w których chorzy otrzymali niemal 100 razy silniejszą od zalecanej dawkę promieniowania. Efektem tego była choroba popromienna, w wyniku której pięciu pacjentów zmarło. Jak wykazało śledztwo, powodem tej tragedii był błąd programisty. Warta 1 mln dolarów maszyna została wyposażona w stworzone przez pojedynczą osobę oprogramowanie, w którym zabrakło jednego niezwykle istotnego wiersza kodu. Ponadto okazało się, że nie przeprowadzono dokładnych testów a w dodatku kod został zaimplementowany do nowszego modelu urządzenia niż pierwotnie zakładano.

Rakiety Patriot

Rakieta

25 lutego 1991 roku podczas wojny w Zatoce Perskiej iracka rakieta Scud trafiła w amerykańskie baraki w Dhahran zabijając 28 żołnierzy. Jak do tego doszło, skoro bezpieczeństwa bazy pilnowało aż 6 baterii systemu przeciwrakietowego Patriot znanego ze swojej skuteczności? Jak się okazało i tym razem zawinił bug. Otóż rakiety miały drobny problem z zegarem systemowym. Uruchomienie i działanie rakiet przez 100 godzin bez przerwy opóźniało go o 1/3 sekundy. Wada ta została przez wojsko izraelskie wykryta dwa tygodnia wcześniej. Jako tymczasowe rozwiązanie producent zalecił cykliczne restarty systemu w celu ponownej kalibracji zegara. Niestety operatorzy zaniechali tego środka, przez co Patriot nie był w stanie właściwie namierzyć rakiety Scud. Co ciekawe łatka programistyczna do oprogramowania pojawiła się dzień po tragedii.

Ariane-5

Niechlubny i kosztowny błąd programisty ma na swoim koncie również Europejska Agencja Kosmiczna (ESA). Otóż 4 lipca 1996 roku odbywał się, z dumą transmitowany, inauguracyjny lot Ariane -5. Niestety już 30 sekund po starcie rakieta zboczyła z kursu i zaczęła się rozpadać, po czym całkowicie eksplodowała. Na oczach zdumionych widzów 10 lat pracy i 7 mld dolarów, które włożono w budowę Ariane -5, obróciło się w zgliszcza. Co się okazało? Choć przed lotem próbnym przetestowano dokładnie cały sprzęt, nie przetestowano oprogramowania. Uznano, że nie ma takiej potrzeby, ponieważ w większości zostało ono skopiowane z Ariane -4, gdzie działał bez zarzutów. Niestety, Ariane 5 miał szybsze silniki niż jego poprzednik, przez co oprogramowanie generowało większe liczby. Nastąpił błąd konwersji danych między 64-bitowymi danymi zmiennoprzecinkowymi a 16-bitowymi całkowitymi. Wynik konwersji danych był zbyt duży i nastąpiło przepełnienie, wynikiem którego było zejście z toru i autodestrukcja rakiety. Porażce i kompromitacji można było zapobiec, gdyż istniał podprogram, który radził sobie z takimi problemami. Niestety podczas startu Ariane-5 był wyłączony.

W kolejnym wpisie weźmiemy pod lupę kolejne katastrofalne w skutkach błędy programistów, które niechlubnie zapisały się w historii:

Drobne bugi – wielkie katastrofy. Najsłynniejsze programistyczne błędy w historii (cz. II).

Najnowsze oferty pracy:

Polecane wpisy na blogu IT:

Szukasz pracownika IT?

Dostarczymy Ci najlepszych specjalistów z branży IT. Wyślij zapytanie

Wyrażam zgodę TeamQuest Sp. z o.o. na przetwarzanie moich danych osobowych w celu marketingu produktów i usług własnych TeamQuest, w tym na kontaktowanie się ze mną w formie połączenia telefonicznego lub środkami elektronicznymi.
Administratorem podanych przez Ciebie danych osobowych jest TeamQuest Sp. z o.o., z siedzibą w Warszawie (00-814), ul. Miedziana 3a/21, zwana dalej „Administratorem".
Jeśli masz jakiekolwiek pytania odnośnie przetwarzania przez nas Twoich danych, skontaktuj się z naszym Inspektorem Ochrony Danych (IOD). Do Twojej dyspozycji jest pod adresem e-mail: office@teamquest.pl.
W jakim celu i na jakiej podstawie będziemy wykorzystywać Twoje dane? Dowiedz się więcej