Sparse

From Wikipedia, the free encyclopedia

Remove ads

Sparse on C-kielen semanttinen parseri, jota käytetään muun muassa Linux-ytimen kehityksessä mahdollisten ongelmakohtien havaitsemiseen.[2][3] Ohjelman alkuperäinen tekijä on Linus Torvalds, joka aloitti ohjelman kehittämisen vuonna 2003.[2][4]

Pikafaktoja Kehityshistoria, Tiedot ...

Ohjelma tekee staattisen analyysin lähdekoodista.[4] Ohjelman ensimmäinen ylläpitäjä oli Josh Triplett vuodesta 2006, jonka jälkeen seurasivat Christopher Li vuodesta 2009 ja Luc Van Oostenryck vuodesta 2018.[4]

Torvalds on sanonut saaneensa inspiraatiota ”Stanford checker” -ohjelmasta, jonka lähdekoodit eivät olleet saatavilla.[5] ”Stanford checkerin” kehittäjät perustivat yhtiön nimeltä Coverity ja julkaisivat ohjelmansa kaupallisena ohjelmana nimeltä ”SWAT”.[6]

Ohjelma voi tunnistaa ja seurata annotaation avulla eri osoiteavaruuksien käyttöä kuten ytimen avaruuden ja käyttäjäavaruuden osoitteiden käyttöä, joiden eroista GCC-kääntäjä ei ole tietoinen.[5]

Yksi ohjelman tavoitteista on ollut saada vahvempi staattinen tyyppijärjestelmä kuin dynaaminen tyyppitarkistus lisäämättä suoritusaikaista kuormaa.[5] Ohjelmaa suoritetaan osana Linux-ytimen automaattista testaamista linux-next versiohallintahaarasta.[7] Smatch on sparsen päälle rakennettu työkalu, joka on tehty seuraamaan tietoja ja löytämään tilanteita jotka ovat aina (tai ei koskaan) tosia.[8]

Remove ads

Lähteet

Aiheesta muualla

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads