Model-Driven Construction of Certified Binaries

Sagar Chaki, James Ivers, Peter Lee, Kurt Wallnau, Noam Zeilberger, Proceedings of the ACM/IEEE 10th International Conference on Model Driven Engineering Languages and Systems (MODELS), LNCS 4735, page 666-681, September 30-October 5, 2007.

Abstract: 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.