http://www.oopsla.org/2006/2006/index.php?option=com_content&task=view&id=47&Itemid=169

program registration submissions committee lodging portland

An Operational Semantics and Type Safety Proof for Multiple Inheritance in C++

An Operational Semantics and Type Safety Proof for Multiple Inheritance in C++

Research Paper

Thursday, Oct 26, from 13:30 to 15:00

We present an operational semantics and type safety proof for multiple inheritance in C++. The semantics models the behavior of method calls, field accesses, and two forms of casts in C++ class hierarchies exactly, and the type safety proof was formalized and machine-checked in Isabelle/HOL. Our semantics enables one, for the first time, to understand the behavior of operations on C++ class hierarchies without referring to implementation-level artifacts such as virtual function tables. Moreover, it can---as the semantics is executable---act as a reference for compilers, and it can form the basis for more advanced correctness proofs of, e.g., automated program transformations. The paper presents the semantics and type safety proof, and a discussion of the many subtleties that we encountered in modeling the intricate multiple inheritance model of C++.

Daniel Wasserrab, Universität Passau
Tobias Nipkow, Technische Universität München
Gregor Snelting, Universität Passau
Frank Tip, IBM T.J. Watson Research Center

 
Research Papers in the same session
Related Onward! Papers
Related Panels
Related Practitioner Reports
Related Research Papers
Related Tutorials
Related Workshops

While Space Available
Search
program registration submissions committee lodging portland
For comments and questions about the web site
please contact us at support@oopsla.org
© 2005 OOPSLA