Analitycy: około 2 tys. błędów w kodzie oprogramowania Curiosity
Analitycy dokonują badania kodu źródłowego systemu operacyjnego i aplikacji łazika Curiosity. Na podstawie dotąd wykonanych analiz liczba błędów w kodzie szacowana jest na 2 tys. To jednak nie znaczy, że misja jest zagrożona - poinformowały media.
Analitycy, korzystając z narzędzia do badania oprogramowania - Coverity, dokonują na zlecenie NASA analizy 2 mln linii kodu oprogramowania łazika Curiosity. Według portalu technologicznego The Register, analizie poddawano zarówno aplikacje jak i system operacyjny komputera głównego Curiosity. Zbadany został już system kontroli lotu używany w locie Curiosity do Czerwonej Planety, zaś obecnie badaniu podlega zainstalowany właśnie system operacyjny i aplikacje zawiadujące zrobotyzowanym ramieniem łazika.
Jak stwierdził główny inżynier z firmy Coverity, Andy Chou, można przyjąć na podstawie dotąd dokonanych analiz kodu iż łączna ilość błędów sięga około 2 tys. „Dla typowego oprogramowania komercyjnego nie jest niczym dziwnym, kiedy znajduje się jeden błąd na każde 100. linii kodu. Dla projektu dedykowanego, złożonego z 2 mln linii kodu także nie byłoby niczym dziwnym, gdyby Coverity znalazło 2 tys. błędów” – stwierdził Chou.
NASA wstrzymuje się obecnie z podaniem liczby błędów, choć inżynierowie Agencji także dokonują szacunków na podstawie obecnych analiz kodu. Jak twierdzą eksperci, obecnie korekcja każdego poważniejszego błędu jest bardzo skomplikowana –. konieczne jest bowiem sporządzenie zbiorczego uaktualnienia i zainstalowanie go w komputerze Curiosity na Marsie, co jest „operacją trudną i niebezpieczną” – twierdzą eksperci NASA.
Narzędzie do analizy kodu zostało wykonane przez naukowców ze Stanford University. Analizuje ono kod w językach C/C++, Java i C# i w jaki sposób została wykonana kompilacja, pod kątem wystąpienia takich błędów krytycznych jak błędy pamięci, zły przydział zasobów czy błąd dereferencji pustego wskaźnika.
Według EETimes zwykle błędy w kodzie źródłowym systemów operacyjnych i aplikacji nie są na tyle krytyczne, aby być przyczyną katastrofy misji kosmicznych, choć w przypadku dużych pomyłek i złej kompilacji program badań może być znacznie ograniczony. Jednak takie błędy w kodzie źródłowym występują rzadko.
Gorsze są tzw. błędy głupie wynikające z przeoczeń. Taki właśnie błąd stał się przyczyną utraty przez NASA satelity Mars Climate Orbiter w 199. roku, kiedy to złe przeliczenie miar imperialnych (funtów) na jednostki SI (newtony) spowodowało zejście z zaplanowanej orbity, wejście w atmosferę Marsa i zniszczenie satelity. Błędów tego typu jak dotąd w kodzie oprogramowania Curiosity nie wykryto.