article Open access

LJGS: Gradual Security Types for Object-Oriented Languages

  • DROPS (Schloss Dagstuhl – Leibniz Center for Informatics)
  • Schloss Dagstuhl – Leibniz Center for Informatics
Research footprint

At a glance

Citations
13
References
13
Comments
0
Paper overview

Öz

LJGS is a lightweight Java core calculus with a gradual security type system. The calculus guarantees secure information flow for sequential, class-based, typed object-oriented programming with mutable objects and virtual method calls. An LJGS program is composed of fragments that are checked either statically or dynamically. Statically checked fragments adhere to a security type system so that they incur no run-time penalty whereas dynamically checked fragments rely on run-time security labels. The programmer marks the boundaries between static and dynamic checking with casts so that it is always clear whether a program fragment requires run-time checks. LJGS requires security annotations on fields and methods. A field annotation either specifies a fixed static security level or it prescribes dynamic checking. A method annotation specifies a constrained polymorphic security signature. The types of local variables in method bodies are analyzed flow-sensitively and require no annotation. The dynamic checking of fields relies on a static points-to analysis to approximate implicit flows. We prove type soundness and non-interference for LJGS.

Record transparency

Publication details

DOI
10.4230/lipics.ecoop.2016.9
OpenAlex
W2538224465
Document type
article
Language
EN
Source
DROPS (Schloss Dagstuhl – Leibniz Center for Informatics)
Last metadata update
Community

Comments

Oturum Açın to join the discussion.

  1. No comments yet. Start the discussion.