Kosmiczne bugi. Największe błędy w historii oprogramowania. Lista subiektywna cz. II

Kosmiczne bugi. Największe błędy w historii oprogramowania. Lista subiektywna cz. II
Błędów w kosmicznym oprogramowaniu jest wbrew pozorom całkiem sporo i wszystkie są bardzo szeroko komentowane. Szczególnie pomyłki programistyczne, powodujące wielkie eksplozje są  bardzo spektakularne, ale też drogie i zabójcze dla kariery osób odpowiedzialnych za ich przeoczenie.


Są żywym przypomnieniem tego, że dla najwyżej pewności należy sprawdzać, i ponownie sprawdzać (i sprawdzać, sprawdzać, sprawdzać) każdą linijkę kodu.


  • Mars Climate Orbiter nie orbituje.

W 1998 roku sprzęt wart 327,6 miliona dolarów zagubił się gdzieś w kosmosie z powodu drobnej pomyłki programistycznej.
Od początku misji wydarzyło się kilka problemów ale największym okazało się to, że w różnych zespołach inżynierowie używali różnych jednostek miar. Jedna grupa pracowała nad sterami strumieniowymi, gdzie jednostką miary były kilogramy na sekundę, inni używali Newtonów na sekundę. Nikt nie zauważył pomyłki, wynikiem której silniki miały 4,45 razy więcej mocy, niż powinny wchodząc w orbitę czerwonej planety. Ofiara tej nieuwagi orbituje dziś w przestrzeni.


  • Pierwszy lot sondy Mariner1- 5 minutowy

W dniu 22 lipca 1962 z Cape Canaveral wystrzelono pierwszą sonda Mariner programu NASA na misję oblatywania  Wenus. Po kilku minutach, Mariner 1 zaczęła zbaczać z kursu. Systemowi naprowadzania nie udało się skorygować trajektorii, nie powiodła się także próba ręcznego sterowania.
Rakieta zboczyła w kierunku szlaków żeglugowych Północnego Atlantyku, więc jedyne co ​​mógł zrobić specjalista ds. bezpieczeństwa, to wysadzić ją w powietrze. Po czterech minutach i 55 sekundach misja Mariner1 eksplodowała.
Dodatkowej pikanterii całej sytuacji nadawało to, że NASA ze swoją Mariner1 rywalizowała z radzieckim Sputnikiem, a wypadek sondy był kolejnym międzynarodowym blamażem dla agencji. Po tej klęsce NASA określiła problem jako "niewłaściwe działanie sprzętu naprowadzającego Atlas" - choć później okazało się, że przeoczenie jednego znaku interpunkcyjnego przez inżyniera spowodowało błąd krytyczny oprogramowania. Winnym znakiem interpunkcyjnym był górny pasek nad symbolem promienia napisany odręcznie w zeszycie. Niewiele osób wie, że overbar wyglądający jak zwykły myślnik oznacza funkcję koordynowania lokalizacji, więc formuła powinna była obliczyć wartość pochodnej czasowej promienia. Bez funkcji koordynowania lokalizacji, nawet drobne wahania prędkości powodowały zagrożenie.


  • Czterdzieści sekund Ariane-5

Europejska Agencja Kosmiczna (ESA) również doznał wstydu z powodu wadliwego oprogramowania. Inauguracyjny lot rakiety piątej generacji Ariane pokonał nawet niechlubny rekord sondy Mariner1: trwał tylko 40 sekund, zanim wystrzelono ją w powietrze.
W dniu 4 czerwca 1996 po dramatycznym starcie Ariane-5 odwróciła się i zaczęła się rozpadać, a później całkowicie eksplodowała. Już 30 sekund po starcie rakieta straciła wytyczne i całkowicie zbaczając z kursu uległa automatycznemu samozniszczeniu.
Problemem było to, że przekształcano dane z  64-bitowych w 16-bitowe wartości całkowite. Wynikiem przeliczenia danych była zbyt duża jak na 16-bitów liczba całkowita, co spowodowało przepełnienie arytmetyczne w hardwerze. W przypadku ESA software, który mogłyby rozwiązać problemem był wyłączony, więc nie było możliwości powstrzymania kaskady awarii systemowych, które doprowadziły do ​​zniszczenia.
7510

Powiązane szkolenia

05-06
czerwca
2023
Jarosław Hryszko
online
Praktyka testowania
1 750PLN
Testowanie aplikacji internetowych
12
Wolnych miejsc
Rezerwuj
06-07
marca
2023
Arnika Hryszko
online
Praktyka testowania
1 770PLN
Testowanie użyteczności
9
Wolnych miejsc
Rezerwuj
20-21
kwietnia
2023
Rafał Stańczak
online
Dobre praktyki testowania
1 700PLN
Testowanie w metodykach Agile
12
Wolnych miejsc
Rezerwuj
23-24
marca
2023
Krzysztof Kołodziejczyk
online
Praktyka testowania
1 770PLN
Testowanie aplikacji mobilnych - Android
9
Wolnych miejsc
Rezerwuj
12-13
czerwca
2023
Krzysztof Skarbiński
online
Automatyzacja testowania
1 800PLN
Testowanie REST API dla początkujących w języku python
11
Wolnych miejsc
Rezerwuj
27-28
lutego
2023
Krzysztof Kołodziejczyk
online
Języki programowania dla testerów
1 800PLN
JavaScript dla testerów oprogramowania
10
Wolnych miejsc
Rezerwuj
10-12
kwietnia
2023
Krzysztof Kołodziejczyk
online
Praktyka testowania
3 000PLN
Tester gier
11
Wolnych miejsc
Rezerwuj
13
marca
2023
-09
kwietnia
2023
Krzysztof Kołodziejczyk
online
Automatyzacja testowania
5 500PLN
Praktyka automatyzacji testowania
5
Wolnych miejsc
Rezerwuj

To powinno Cię zainteresować