Static analysis of string manipulations in critical embedded c programs

  • Authors:
  • Xavier Allamigeon;Wenceslas Godard;Charles Hymans

  • Affiliations:
  • EADS CCR DCR/STI/C, Suresnes, France;EADS CCR DCR/STI/C, Suresnes, France;EADS CCR DCR/STI/C, Suresnes, France

  • Venue:
  • SAS'06 Proceedings of the 13th international conference on Static Analysis
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper describes a new static analysis to show the absence of memory errors, especially string buffer overflows in C programs. The analysis is specifically designed for the subset of C that is found in critical embedded software. It is based on the theory of abstract interpretation and relies on an abstraction of stores that retains the length of string buffers. A transport structure allows to change the granularity of the abstraction and to concisely define several inherently complex abstract primitives such as destructive update and string copy. The analysis integrates several features of the C language such as multi-dimensional arrays, structures, pointers and function calls. A prototype implementation produces encouraging results in early experiments.