A Certified Lightweight Non-Interference Java Bytecode Verifier - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Other Publications Year : 2007

A Certified Lightweight Non-Interference Java Bytecode Verifier


Non-interference is a semantical condition on programs that guarantees the absence of illicit information flow throughout their execution, and that can be enforced by appropriate information flow type systems. Much of previous work on type systems for non-interference has focused on calculi or high-level programming languages, and existing type systems for low-level languages typically omit objects, exceptions, and method calls, and/or do not prove formally the soundness of the type system. We define an information flow type system for a sequential JVM-like language that includes classes, objects, arrays, exceptions and method calls, and prove that it guarantees non-interference. For increased confidence, we have formalized the proof in the proof assistant Coq; an additional benefit of the formalization is that we have extracted from our proof a certified lightweight bytecode verifier for information flow. Our work provides, to our best knowledge, the first sound and implemented information flow type system for such an expressive fragment of the JVM.
Fichier principal
Vignette du fichier
main.pdf (822.11 Ko) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

inria-00106182 , version 1 (13-10-2006)
inria-00106182 , version 2 (31-01-2008)


  • HAL Id : inria-00106182 , version 2


Gilles Barthe, David Pichardie, Tamara Rezk. A Certified Lightweight Non-Interference Java Bytecode Verifier. 2007. ⟨inria-00106182v2⟩
186 View
261 Download


Gmail Facebook Twitter LinkedIn More