Nauka dla Społeczeństwa

02.05.2024
PL EN
24.08.2012 aktualizacja 24.08.2012

Analitycy: około 2 tys. błędów w kodzie oprogramowania Curiosity

Łazik Curiosity na Marsie. Źródło: PAP/EPA/NASA Łazik Curiosity na Marsie. Źródło: PAP/EPA/NASA

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 1000 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 1999 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. (PAP)

mmej/ ula/

Przed dodaniem komentarza prosimy o zapoznanie z Regulaminem forum serwisu Nauka w Polsce.

Copyright © Fundacja PAP 2024