# Jif Documentation

Jif Version 2.0.0

Jif is a security-typed programming language that extends Java with support for static information flow control. The Jif compiler checks how information flows within programs, rejecting programs that use confidential information improperly. As a result, Jif programs are secure in an end-to-end sense. Jif is based on the language described in the 1999 paper, Practical Mostly-Static Information Flow Control, published in the Proceedings of the 26th ACM Symposium on Principles of Programming Languages (POPL), pp. 228-241, January 1999, by Andrew C. Myers. Another source of documentation for Jif can be found in Andrew Myers' thesis, linked to from the Jif web site. However, the language has developed since that time, and some features in this version of Jif are not documented in the thesis.

This document describes Version 2.0.0 of the Jif programming language. The document is a work in progress, and is by no means complete. Please contact the developers if you have questions or problems that this document does not address.

## Table of Contents

- Installing and Configuring Jif
- Jif Reference Manual: Programming in Jif
- Compiling and Running Jif Programs
- Change log
- License
- Javadoc APIs
  - Jif Compiler API
  - Jif Runtime API