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]
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
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads