Jif: Language-based Information-flow Security in Java
  In this report, we examine Jif, a Java extension which augments the language with features related to security. Jif adds support for security labels to Java's type system such that the developer can specify confidentiality and integrity policies to the various variables used in their program. We list the main features of Jif and discuss the information flow problem that Jif helps to solve. We see how the information flow problem occurs in real-world systems by looking at two examples: Civitas, a ballot/voting system where voters do not necessarily trust voting agents, and SIF, a web application container implemented using Jif. Finally, we implement a small program that simulates information flow in a booking system containing sensitive data and discuss the usefulness of Jif based on this program. 
Kyle Pullicino
cs.PL cs.CR