Model Driven Engineering Languages and Systems

Volume 4735 of the series Lecture Notes in Computer Science pp 666-681

Model-Driven Construction of Certified Binaries

  • Sagar ChakiAffiliated withSoftware Engineering Institute
  • , James IversAffiliated withSoftware Engineering Institute
  • , Peter LeeAffiliated withComputer Science Department, Carnegie Mellon University
  • , Kurt WallnauAffiliated withSoftware Engineering Institute
  • , Noam ZeilbergerAffiliated withComputer Science Department, Carnegie Mellon University


Proof-Carrying Code (PCC) and Certifying Model Checking (CMC) are established paradigms for certifying the run-time behavior of programs. While PCC allows us to certify low-level binary code against relatively simple (e.g., memory-safety) policies, CMC enables the certification of a richer class of temporal logic policies, but is typically restricted to high-level (e.g., source) descriptions. In this paper, we present an automated approach to generate certified software component binaries from UML Statechart specifications. The proof certificates are constructed using information that is generated via CMC at the specification level and transformed, along with the component, to the binary level. Our technique combines the strengths of PCC and CMC, and demonstrates that formal certification technology is compatible with, and can indeed exploit, model-driven approaches to software development. We describe an implementation of our approach that targets the Pin component technology, and present experimental results on a collection of benchmarks.