Relational bytecode correlations

Lennart Beringer
2010 The Journal of Logic and Algebraic Programming  
We present a calculus for tracking equality relationships between values through pairs of bytecode programs. The calculus may serve as a certification mechanism for noninterference, a well-known program property in the field of language-based security, and code transformations. Contrary to previous type systems for non-interference, no restrictions are imposed on the control flow structure of programs. Objects, static and virtual methods are included, and heap-local reasoning is supported by
more » ... me rules. In combination with polyvariance, the latter enable the modular verification of programs over heap-allocated data structures, which we illustrate by verifying and comparing different implementations of list copying. The material is based on a complete formalisation in Isabelle/HOL.
doi:10.1016/j.jlap.2010.07.005 fatcat:cs2xqciovbhori3r4q7hljgsoa