Working drafts and new technical reports


Safe and Efficient Gradual Typing for TypeScript
Aseem Rastogi, Nikhil Swamy, Cedric Fournet, Gavin Bierman, Panagiotis Vekris
July 2014
[ abstract | .pdf | bib ]

Calibrating Research in Program Synthesis Using 72,000 Hours of Programmer Time
Takuya Akiba, Kentaro Imajo, Hiroaki Iwami, Yoichi Iwata, Toshiki Kataoka, Naohiro Takahashi, Michal Moskal and Nikhil Swamy
December 2013
[ abstract | .pdf | bib ]


Selected papers


Polymonadic Programming
Michael Hicks, Gavin Bierman, Nataliya Guts, Daan Leijen, and Nikhil Swamy
July 2012
[ abstract | .pdf | bib ]

Gradual Typing Embedded Securely in JavaScript
Nikhil Swamy, Cedric Fournet, Aseem Rastogi, Karthikeyan Bhargavan, Juan Chen, Pierre-Yves Strub, Gavin Bierman
ACM Conference on Principles of Programming Languages (POPL), Jan. 2014 (to appear)
[ abstract | .pdf ]

Probabilistic Relational Verification for Cryptographic Implementations
Gilles Barthe, Cedric Fournet, Benjamin Gregoire, Pierre-Yves Strub, Nikhil Swamy, and Santiago Zanella Beguelin
ACM Conference on Principles of Programming Languages (POPL), Jan. 2014 (to appear)
[ abstract | .pdf ]

Verifying Higher-order Programs with the Dijkstra Monad
Nikhil Swamy, Joel Weinberger, Cole Schlesinger, Juan Chen and Ben Livshits
ACM Conference on Programming Language Design and Implementation (PLDI), June 2013
[ abstract | .pdf | bib | supplementary material ]

DKAL*: Constructing Executable Specifications of Authorization Protocols
Jean-Baptiste Jeannin, Guido de Caso, Juan Chen, Yuri Gurevich, Prasad Naldurg and Nikhil Swamy
International Symposium on Engineering Secure Software and Systems (ESSoS), February 2013
[ abstract | .pdf | bib ]

Increasing Human-Compiler Interaction
Thomas Ball, Peli de Halleux, Daan Leijen and Nikhil Swamy
Off the Beaten Track Workshop (OBT), January 2013
(2 page paper; lightly reviewed)
[ abstract | .pdf ]

Fully Abstract Compilation to JavaScript
Cedric Fournet, Nikhil Swamy, Juan Chen, Pierre-Evariste Dagand, Pierre-Yves Strub and Ben Livshits
ACM Symposium on Principles of Programming Languages (POPL), January 2013
[ abstract | .pdf | bib | supplementary material ] ]

Self-certification: Bootstrapping certified typecheckers in F* with Coq
Pierre-Yves Strub, Nikhil Swamy, Cedric Fournet, and Juan Chen
ACM Symposium on Principles of Programming Languages (POPL), January 2012
[ abstract | .pdf | bib ]

Lightweight Monadic Programming in ML
Nikhil Swamy, Nataliya Guts, Daan Leijen, and Michael Hicks
International Conference on Functional Programming (ICFP), September 2011
[ abstract | .pdf | bib ]

Secure Distributed Programming with Value-Dependent Types
Nikhil Swamy, Juan Chen, Cedric Fournet, Pierre-Yves Strub, Karthikeyan Bhargavan and Jean Yang
International Conference on Functional Programming (ICFP), September 2011
[ abstract | .pdf | bib ]

Modular Protections against Non-control Data Attacks
Cole Schlesinger, Karthik Pattabiraman, Nikhil Swamy, David Walker and Ben Zorn
IEEE Symposium on Computer Security Foundations (CSF), June 2011
[ abstract | .pdf | bib ]

Verified Security for Browser Extensions
Arjun Guha, Matthew Fredrikson, Benjamin Livshits, and Nikhil Swamy
In Proceedings of the IEEE Symposium on Security and Privacy (Oakland), May 2011
[ abstract | .pdf | bib ]

Verifying Stateful Programs with Substructural State and Hoare Types
Johannes Borgstrom, Juan Chen, and Nikhil Swamy
In ACM SIGPLAN Workshop on Programming Languages meet Program Verification (PLPV), January 2011
[ abstract | .pdf | bib ]

Type-preserving Compilation for End-to-end Verification of Security Enforcement
Juan Chen, Ravi Chugh, and Nikhil Swamy
In ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), June 2010
[ abstract | .pdf | bib ]

Enforcing Stateful Authorization and Information Flow Policies in Fine
Nikhil Swamy, Juan Chen, and Ravi Chugh
In European Symposium on Programming (ESOP), 2010
[ abstract | .pdf | TR.pdf | bib ]

A Theory of Typed Coercions and its Applications
Nikhil Swamy, Michael Hicks, and Gavin Bierman
In Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP), 2009
[ abstract | .pdf | bib ]

Cross-tier, Label-based Security Enforcement for Web Applications
Brian J. Corcoran, Nikhil Swamy and Michael Hicks
In Proceedings of the ACM SIGMOD International Conference on the Management of Data, (SIGMOD) 2009
[ abstract | .pdf | bib ]

Verified Enforcement of Stateful Information Release Policies
Nikhil Swamy and Michael Hicks, March 2008.
In Proceedings of the ACM SIGPLAN Workshop on Programming Langauges and Analysis for Security, (PLAS) 2008.
(One of two best papers.)
[ abstract | .pdf | TR.pdf | bib ]

Fable: A Language for Enforcing User-defined Security Policies
Nikhil Swamy, Brian Corcoran, and Michael Hicks
In Proceedings of the IEEE Symposium on Security and Privacy (Oakland), May 2008.
[ abstract | .pdf | TR.pdf | bib ]

Verified Implementations of the Information Card Federated Identity-Management Protocol
Karthikeyan Bhargavan and Cedric Fournet and Andrew D.Gordon and Nikhil Swamy
In Proceedings of the 2008 ACM Symposium on Information, Communication and Comunication Security (ASIACCS), March 2008.
[ abstract | .pdf | bib ]

Defeating Script Injection Attacks with Browser-Enforced Embedded Policies
Trevor Jim, Nikhil Swamy, and Michael Hicks
In Proceedings of the International World Wide Web Conference (WWW), pages 601-610, May 2007.
[ abstract | .pdf | bib ]

Managing Policy Updates in Security-Typed Languages
Nikhil Swamy, Michael Hicks, Stephen Tse, and Steve Zdancewic
In Proceedings of the Computer Security Foundations Workshop (CSFW), pages 202-216, July 2006.
[ abstract | .pdf | bib | TR ]

Finding and Removing Performance Bottlenecks in Large Systems
Glenn Ammons and Jong-Deok Choi and Manish Gupta and Nikhil Swamy
In Proceedings of the European Conference on Object-Oriented Programming (ECOOP), 2004
[ abstract | .pdf | bib ]
Articles in journals, books, theses


Language-based Enforcement of User-defined Security Policies
As Applied to Multi-tier Web Programs
Nikhil Swamy
Doctoral Dissertation, University of Maryland at College Park, August 2008
[ abstract | .pdf | bib ]

Safe Manual Memory Management in Cyclone
Nikhil Swamy, Michael Hicks, Greg Morrisett, Dan Grossman, and Trevor Jim.
Science of Computer Programming (SCP), 62(2):122-144, October 2006.
Special issue on memory management.
[ abstract | .pdf | bib ]

Dynamic Inference of Polymorphic Lock Types
James Rose, Nikhil Swamy, and Michael Hicks
Science of Computer Programming (SCP), 58(3):366-383, December 2005.
Special Issue on Concurrency and Synchronization in Java programs. (Supercedes 2004 CSJP paper of the same name.)
[ abstract | .pdf | bib ]

Quantum Computing Applications of Genetic Programming
Lee Spector and Howard Barnum and Herbert J. Bernstein and Nikhil Swamy
Advances in Genetic Programming 3 pp 135-160, MIT Press, 1999
[ abstract | .pdf | bib ]
Other peer-reviewed publications


Combining Provenance and Security Policies in a Web-based Document Management System
Brian Corcoran, Nikhil Swamy, and Michael Hicks
In On-line Proceedings of the Workshop on Principles of Provenance (PrOPr), November 2007. http://homepages.inf.ed.ac.uk/jcheney/propr/.
[ abstract | .pdf | bib ]

Verified Enforcement of Security Policies for Cross-Domain Information Flows
Nikhil Swamy, Michael Hicks, and Simon Tsang.
In Proceedings of the 2007 Military Communications Conference (MILCOM), October 2007.
[ abstract | .pdf | bib ]

Dynamic Inference of Polymorphic Lock Types
James Rose, Nikhil Swamy, and Michael Hicks
In Proceedings of the ACM Conference on Principles of Distributed Computing (PODC) Workshop on Concurrency and Synchronization in Java Programs (CSJP), pages 18-25, July 2004.
[ abstract | .pdf | bib ]

RGL Study in Hybrid Real-Time Systems
Ken Hennacy, Nikhil Swamy and Don Perlis
In Proceedings of Neural Networks and Computational Intelligence (NCI) May 2003
[ abstract | .pdf | bib ]

Finding a Better-than-classical Quantum AND/OR Algorithm
Lee Spector and Howard Barnum and Herbert J. Bernstein and Nikhil Swamy
In Proceedings of the Congress of Evolutionary Computation (CEC), 1999.
[ abstract | .pdf | bib ]
Unpublished notes etc.


A Distributed Algorithm for Constructing a Generalization of de Bruijn Graphs
Nikhil Swamy, Konstantinos Bitsakos and Nikolaos Frangiadakis
Department of Computer Science, University of Maryland, Technical Report CS-TR-4792, August 2006
[ abstract | .pdf | bib ]