Formal verification of programs and their transformations

Update Item Information
Publication Type dissertation
School or College College of Engineering
Department Computing
Author Li, Guodong
Title Formal verification of programs and their transformations
Date 2010-12
Description Formal verification is an act of using formal methods to check the correctness of intended programs. The verification is done by providing a formal proof on an abstract mathematical model of the program, with respect to a certain formal specification or property. We present three case studies on using formal methods to verify programs and their transformations: (1) we use term rewriting and theorem proving to construct and validate a compiler from logic specifications to ARM assembly code; the equivalence of a source specification and the generated assembly code is proven mechanically with respect to the formal semantics; (2) we model, in an \executable" declarative language TLA+, the Message Passing Interface (MPI) 2.0 library as well as C programs using MPI calls for parallel computations; and use explicit model checking to check the specifications and programs; and (3) we model CUDA kernel programs as symbolic logical formulas, and use constraint solving to automatically reason about these Graphics Processing Unit (GPU) kernels.
Type Text
Publisher University of Utah
Subject Compiler verification; Formal verification; GPU program; Parallel program; SMT solving; Theorem proving
Subject LCSH Formal methods (College of Engineering; (School of);)
Dissertation Institution University of Utah
Dissertation Name PhD
Language eng
Rights Management ©Guodong Li
Format Medium application/pdf
Format Extent 1,114,550 bytes
Source Original in Marriott Library Special Collections, QA3.5 2010 .L5
ARK ark:/87278/s6qr5bq2
Setname ir_etd
ID 193394
Reference URL https://collections.lib.utah.edu/ark:/87278/s6qr5bq2
Back to Search Results