A Hybrid Approach for Safe Memory Management in C

  • Authors:
  • Syrine Tlili;Zhenrong Yang;Hai Zhou Ling;Mourad Debbabi

  • Affiliations:
  • Computer Security Laboratory (CSL) Concordia Institute for Information Systems Engineering, Concordia University, Montreal, Canada;Computer Security Laboratory (CSL) Concordia Institute for Information Systems Engineering, Concordia University, Montreal, Canada;Computer Security Laboratory (CSL) Concordia Institute for Information Systems Engineering, Concordia University, Montreal, Canada;Computer Security Laboratory (CSL) Concordia Institute for Information Systems Engineering, Concordia University, Montreal, Canada

  • Venue:
  • AMAST 2008 Proceedings of the 12th international conference on Algebraic Methodology and Software Technology
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper, we present a novel approach that establishes a synergy between static and dynamic analyses for detecting memory errors in Ccode. We extend the standard Ctype system with effect, region, and host annotations that are relevant to memory management. We define static memory checks to detect memory errors using these annotations. The statically undecidable checks are delegated to dynamic code instrumentation to secure program executions. The static analysis guides its dynamic counterpart by locating instrumentation points and their execution paths. Our dynamic analysis instruments programs with in-lined monitors that observe program executions and ensure safe-fail when encountering memory errors. We prototype our approach by extending the GCC compiler with our type system, a dynamic monitoring library, and code instrumentation capabilities.