About
Paragon is a language extension to the programming language Java that enables practical programming with information flow controls.
Download
To compile and run a Paragon program you need the Paragon compiler as well as a collection of interface files and the Paragon run time environment. Select the right version:
Paragon 0.1
Supports explicit actors (as in the
POPL '10 paper).
Paragon 0.2
Supports objects as actors (as in the
APLAS '13 paper).
Interface files | Runtime | |||||
Paragon 0.1 | 32 bit | 64 bit | 64 bit | source | libPI.zip | libs |
Paragon 0.2 | 32 bit | 64 bit | 64 bit | source | libPI.zip | paragon_rt.jar |
Paragon 0.2 can also be installed from Hackage: cabal install paragon
Tutorials
Get started with Paragon via our online interactive tutorial, or take a look at some of our case studies.
- Tutorial: interactive or as pdf.
- Case study: Sealed Bid Auction.
- Case study: Social Network.
- Case study: Mental Poker.
- Case study: ParaJPMail.
Publications
Selected publications:
- Paragon for Practical Programming with Information-Flow Control Asian Symposium on Programming Languages and Systems (APLAS) 2013, Springer [ .pdf ] [ Technial Report ] Introduction of the Paragon programming language.
- Paralocks - role-based information flow control and beyond POPL'10, Proceedings of the 37th Annual ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages [ .pdf ] Description of the Paralocks language used for specifying information flow policies.
Other publications:
- A Datalog Semantics for Paralocks Proceedings of the 8th International Workshop on Security and Trust Management (STM) 2012, Springer [ .pdf ] A renewed, more intuitive semantics for the Paralocks language is presented.
- Flow-sensitive semantics for dynamic information flow policies ACM SIGPLAN Fourth Workshop on Programming Languages and Analysis for Security (PLAS 2009) [ .pdf ] A continuation on Flow Locks, the earlier edition of Paralocks, with a renewed semantics.
- Flow locks: Towards a core calculus for dynamic flow policies Programming Languages and Systems. 15th European Symposium on Programming, ESOP 2006, Springer Verlag [ .pdf ] [ Extended version ] An earlier version of the Paralocks policy specification language. Interesting but obsolete to the current project.
- Programming with Information Flow-Control Implementation report [ .pdf ] A report on the implementation of our null-pointer analysis.
Contact
Questions regarding Paragon can be addressed to the current developers: Niklas Broberg, Bart van Delft and David Sands.
Previous contributors: Filippo Del Tedesco, Jens Lideström, Dmytro Lypai, Shayan Najd Javadipour, Javed Nazir and Yannick Zakowski.