Nasa ke­hit­tää bu­gin­met­säs­tä­jää

Yhdysvaltain avaruushallinto Nasa kehittää tarkistusohjelmistoa, joka pystyy löytämään muissa tietokoneohjelmistoissa olevia virheitä eli bugeja.

Yhdysvaltain avaruushallinto Nasa kehittää tarkistusohjelmistoa, joka pystyy löytämään muissa tietokoneohjelmistoissa olevia virheitä eli bugeja. Jos ohjelmistovirheiden etsinnän automatisointi onnistuu, sillä on merkittäviä vaikutuksia ohjelmistoteollisuuteen.

Virheiden etsiminen ja korjaaminen aiheuttaa tyypillisesti noin puolet ohjelmistoyritysten tuotantokuluista ja usein viivyttää ohjelmistojen valmistumista. Julkaistuihin ohjelmistoversioihin asti päässeet virheet taas voivat aiheuttaa suuriakin vahinkoja.

"Bugien poistaminen on Nasalle tärkeää, koska hyvinkin yksinkertainen virhe voi aiheuttaa koko lennon menetyksen", ohjelmistoa kehittävän ryhmän tutkija Guillaume Brat toteaa Nasan tiedotteessa. CGS-virheenkorjausohjelmiston avulla pyritään nopeuttamaan ohjelmistotuotantoa ja parantamaan ohjelmistojen laatua.

CGS (C Global Surveyor) käyttää matemaattisia menetelmiä tietokoneohjelmiston oikeellisuuden arviointiin. Se pystyy käymään muutamissa minuuteissa läpi tuhansien koodirivien mittaisia ohjelmistoja - mihin ihmiseltä kuluu päiväkausia.

CGS käy läpi C-kielistä ohjelmakoodia ja erottelee sitä kolmeen luokkaan: virheettömään, virheelliseen ja lisätarkistuksia tarvitsevaan. Se pystyy myös havaitsemaan virheitä, jotka tulevat esiin vain sellaisissa poikkeustilanteissa, joiden mahdollisuutta avaruuslennon suunnittelijat eivät edes tule ajatelleiksi.

Ensimmäisiä koeversioita CGS:stä on testattu Nasan vanhojen Mars-luotainten ja 1999 lähetetyn Deep Space 1 -luotaimen ohjelmistoilla. Useiden satojen tuhansien rivien mittaiset ohjelmistot tulivat tarkistetuiksi 25 minuutissa.

CGS:n ensimmäisen täyden version on määrä olla testausvalmiina syyskuuhun 2005 mennessä. Tavoitteena on saada ohjelmisto valmiiksi siten, että sillä pystytään tarkistamaan vuonna 2009 lähetettävän Marsin tutkimuslaboratorion tietokoneiden ohjelmistot.

Ilmoita asiavirheestä