Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network

  Advanced Search  

A Compositional Logic for Control Flow and Andrew W. Appel2

Summary: A Compositional Logic for Control Flow
Gang Tan1
and Andrew W. Appel2
Computer Science Department, Boston College. gtan@cs.bc.edu
Computer Science Department, Princeton University. appel@cs.princeton.edu
Abstract. We present a program logic, Lc, which modularly reasons
about unstructured control flow in machine-language programs. Unlike
previous program logics, the basic reasoning units in Lc are multiple-
entry and multiple-exit program fragments. Lc provides fine-grained com-
position rules to compose program fragments. It is not only useful for
reasoning about unstructured control flow in machine languages, but
also useful for deriving rules for common control-flow structures such
as while-loops, repeat-until-loops, and many others. We also present a
semantics for Lc and prove that the logic is both sound and complete
with respect to the semantics. As an application, Lc and its semantics
have been implemented on top of the SPARC machine language, and are
embedded in the Foundational Proof-Carrying Code project to produce
memory-safety proofs for machine-language programs.


Source: Appel, Andrew W. - Department of Computer Science, Princeton University


Collections: Computer Technologies and Information Sciences