Building certified libraries for PCC: dynamic storage allocation

  • Authors:
  • Dachuan Yu;Nadeem A. Hamid;Zhong Shao

  • Affiliations:
  • Department of Computer Science, Yale University, New Haven, CT;Department of Computer Science, Yale University, New Haven, CT;Department of Computer Science, Yale University, New Haven, CT

  • Venue:
  • Science of Computer Programming - Special issue on 12th European symposium on programming (ESOP 2003)
  • Year:
  • 2004

Quantified Score

Hi-index 0.01

Visualization

Abstract

Proof-carrying code (PCC) allows a code producer to provide to a host a program along with its formal safety proof. The proof attests to a certain safety policy enforced by the code, and can be mechanically checked by the host. While this language-based approach to code certification is very general in principle, existing PCC systems have only focused on programs whose safety proofs can be automatically generated. As a result, many low-level system libraries (e.g., memory management) have not yet been handled. In this paper, we explore a complementary approach in which general properties and program correctness are semi-automatically certified. In particular, we introduce a low-level language, CAP, for building certified programs and present a certified library for dynamic storage allocation.