Static Single Assignment (SSA) intermediate representation is widely used to optimize and compile code in imperative and object-oriented languages, but it can also be useful for static type analysis. We introduce FJSSA, a Java-like imperative calculus supporting programs in SSA form; we de-ne its big-step operational semantics, and a judgment to statically check whether a program is in SSA form, and prove its soundness. FJSSA provides a formal basis for type analysis of programs in SSA form in object-oriented languages.
A formal account of SSA in Java-like languages
ANCONA, DAVIDE;CORRADI, ANDREA
2016-01-01
Abstract
Static Single Assignment (SSA) intermediate representation is widely used to optimize and compile code in imperative and object-oriented languages, but it can also be useful for static type analysis. We introduce FJSSA, a Java-like imperative calculus supporting programs in SSA form; we de-ne its big-step operational semantics, and a judgment to statically check whether a program is in SSA form, and prove its soundness. FJSSA provides a formal basis for type analysis of programs in SSA form in object-oriented languages.File in questo prodotto:
Non ci sono file associati a questo prodotto.
I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.