NASA Logo

NTRS

NTRS - NASA Technical Reports Server

Press Enter or click the Search button to begin your search.

Back to Results
Precise and Efficient Static Array Bound Checking for Large Embedded C ProgramsIn this paper we describe the design and implementation of a static array-bound checker for a family of embedded programs: the flight control software of recent Mars missions. These codes are large (up to 250 KLOC), pointer intensive, heavily multithreaded and written in an object-oriented style, which makes their analysis very challenging. We designed a tool called C Global Surveyor (CGS) that can analyze the largest code in a couple of hours with a precision of 80%. The scalability and precision of the analyzer are achieved by using an incremental framework in which a pointer analysis and a numerical analysis of array indices mutually refine each other. CGS has been designed so that it can distribute the analysis over several processors in a cluster of machines. To the best of our knowledge this is the first distributed implementation of static analysis algorithms. Throughout the paper we will discuss the scalability setbacks that we encountered during the construction of the tool and their impact on the initial design decisions.
Document ID
20040081118
Acquisition Source
Ames Research Center
Document Type
Preprint (Draft being sent to journal)
Authors
Venet, Arnaud
(Kestrel Technology, LLC Moffett Field, CA, United States)
Date Acquired
September 7, 2013
Publication Date
January 1, 2004
Subject Category
Cybernetics, Artificial Intelligence And Robotics
Report/Patent Number
ACM-1-58113-807-5
Report Number: ACM-1-58113-807-5
Meeting Information
Meeting: PLDI 2004
Location: Washington, DC
Country: United States
Start Date: June 9, 2004
End Date: June 11, 2004
Funding Number(s)
CONTRACT_GRANT: QSS-132
Distribution Limits
Public
Copyright
Public Use Permitted.
No Preview Available