Abstract

A common program view adapted by most contemporary compilers is Static Single Assignment (SSA) which can be realized as transitional form (TF). In SSA, each variable is modified by exactly one assignment. SSA is based on splitting variables of the original program into many versions. Power constraints of sequential programming led parallel programming to be the main programming style today for performance boosting. The single program, multiple data (SPMD) style of parallelism is a prevalent model of parallel computing. A Proof-Carrying Code package typically consists of the original code, a proof that is checkable by a machine, and the code's correctness specification. A new technique for constructing a static single assignment form for SPMD programs is introduced in this paper. The proposed technique is in the form of a system of inference rules. The input of our proposed technique is a SPMD program and the output is a SSA form of the program. Judgment derivations in the proposed system are convenient choices for proof parts of a PCC packages. Therefore the resulting SSA form is certified in terms of proof-carrying code area of research.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call