I detta papper beskriver vi utformningen och genomförandet av en statisk array-bound checker för en familj av inbäddade program: flygkontroll programvara för senaste Mars uppdrag. Dessa koder är stora (upp till 280 KLOC), pekarintensiva, kraftigt flertrådiga och skrivna i en objektorienterad stil, vilket gör deras analys mycket utmanande. Vi designade ett verktyg som heter C Global Surveyor (CGS) som kan analysera den största koden på ett par timmar med en precision på 80%. Analysatorns skalbarhet och precision uppnås genom att använda en inkrementell ram där en pekaranalys och en numerisk analys av matrisindex ömsesidigt förfinar varandra. CGS har utformats så att den kan distribuera analysen över flera processorer i ett kluster av maskiner. Såvitt vi vet är detta den första distribuerade implementeringen av statiska analysalgoritmer. Genom hela pappret kommer vi att diskutera de skalbarhetsbakgrunder som vi stötte på under konstruktionen av verktyget och deras inverkan på de ursprungliga designbesluten.  Kategorier och ämnesdeskriptorer Algoritmer, Språk, Verifiering Abstract tolkning, programverifiering, pekaranalys, array-bunden kontroll, skillnadsbundna matriser
C Global Surveyor (CGS) REF ] som utförde matrisgränser kontroll var det första försöket till distribuerad abstrakt tolkning.
Precise and efficient static array bound checking for large embedded C programs
{'venue': "PLDI '04", 'journal': None, 'mag_field_of_study': ['Computer Science']}