Hostname: page-component-89b8bd64d-b5k59 Total loading time: 0 Render date: 2026-05-13T15:19:10.464Z Has data issue: false hasContentIssue false

A certified lightweight non-interference Java bytecode verifier

Published online by Cambridge University Press:  17 May 2013

GILLES BARTHE
Affiliation:
IMDEA Software Institute, Campus Montegancedo, 28660-Boadilla del Monte, Madrid, Spain Email: gilles.barthe@imdea.org
DAVID PICHARDIE
Affiliation:
INRIA Rennes–Bretagne Atlantique, Campus de Beaulieu, 35042 Rennes CedexFrance. Email: David.Pichardie@inria.fr
TAMARA REZK
Affiliation:
INRIA Sophia Antipolis–Méditerranée, 2004 Route des Lucioles, BP 93, 06902 Sophia Antipolis CedexFrance Email: Tamara.Rezk@inria.fr

Abstract

Non-interference guarantees the absence of illicit information flow throughout program execution. It can be enforced by appropriate information flow type systems. Much of the 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. We define an information flow type system for a sequential JVM-like language that includes all these programming features, and we prove, in the Coq proof assistant, that it guarantees non-interference. An additional benefit of the formalisation is that we have extracted from our proof a certified lightweight bytecode verifier for information flow. Our work provides, to the best of our knowledge, the first sound and certified information flow type system for such an expressive fragment of the JVM.

Information

Type
Paper
Copyright
Copyright © Cambridge University Press 2013 

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

Article purchase

Temporarily unavailable