Publications

2019
  1. Cyrus Omar, Ian Voysey, Ravi Chugh, and Matthew A. Hammer. Live Functional Programming with Typed Holes. In Proceedings of the ACM on Programming Languages (PACMPL), Issue POPL, Lisbon, Portugal, January 2019.

2018
  1. Mikaël Mayer, Viktor Kunčak, and Ravi Chugh. Bidirectional Evaluation with Direct Manipulation. In Proceedings of the ACM on Programming Languages (PACMPL), Issue OOPSLA, Boston, MA, November 2018.

  2. Brian Hempel, Justin Lubin, Grace Lu, and Ravi Chugh. Deuce: A Lightweight User Interface for Structured Editing. In Proceedings of the International Conference on Software Engineering (ICSE), Gothenburg, Sweden, May 2018.

2016
  1. Brian Hempel and Ravi Chugh. Semi-Automated SVG Programming via Direct Manipulation. In Proceedings of the ACM Symposium on User Interface Software and Technology (UIST), Tokyo, Japan, October 2016.

  2. Ravi Chugh, Brian Hempel, Mitchell Spradlin, and Jacob Albers. Programmatic and Direct Manipulation, Together at Last. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), Santa Barbara, CA, June 2016.

  3. Ravi Chugh. Prodirect Manipulation: Bidirectional Programming for the Masses. In Companion Proceedings of the International Conference on Software Engineering (ICSE-C), Visions of 2025 and Beyond Track (V2025), Austin, TX, May 2016.

2015
  1. Ravi Chugh. IsoLate: A Type System for Self-Recursion. In Proceedings of the 24th European Symposium on Programming (ESOP), London, UK, April 2015.

2008 – 2013
  1. Ravi Chugh. Nested Refinement Types for JavaScript.
    Ph.D. Dissertation, University of California, San Diego, September 2013. [ slides ]

  2. Ravi Chugh, David Herman, and Ranjit Jhala. Dependent Types for JavaScript. In Proceedings of the ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), Tucson, AZ, October 2012.
    [ appendix | updated results (sep 2012) | github ]

  3. Ravi Chugh, Patrick M. Rondon, and Ranjit Jhala. Nested Refinements: A Logic for Duck Typing. In Proceedings of the ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), Philadelphia, PA, January 2012.
    [ tech report ]

  4. Juan Chen, Ravi Chugh, and Nikhil Swamy. Type-preserving Compilation for End-to-end Verification of Security Enforcement. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), Toronto, Canada, June 2010.

  5. Nikhil Swamy, Juan Chen, and Ravi Chugh. Enforcing Stateful Authorization and Information Flow Policies in Fine. In Proceedings of the 19th European Symposium on Programming (ESOP), Paphos, Cyprus, March 2010.
    [ tech report ]

  6. Ravi Chugh, Jeffrey A. Meister, Ranjit Jhala, and Sorin Lerner. Staged Information Flow for JavaScript. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), Dublin, Ireland, June 2009.

  7. Ravi Chugh, Jan W. Voung, Ranjit Jhala, and Sorin Lerner. Dataflow Analysis for Concurrent Programs using Datarace Detection. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), Tucson, AZ, June 2008.

Informal Workshop Papers

2017
  1. Ravi Chugh. Direct Manipulation Programming Systems (A Brief Introduction). White paper, ISAT/DARPA "Augmented Developers: Tools for Hybrid Man-Machine Software Engineering" Workshop, February 2017.

2013
  1. Ravi Chugh. A Fix for Dynamic Scope. In ACM SIGPLAN Workshop on ML (ML), Boston, Massachusetts, September 2013.

2012
  1. Ravi Chugh, David Herman, and Ranjit Jhala. Status Report: Dependent Types for JavaScript. In International Workshop on Script to Program Evolution (STOP), Beijing, China, June 2012.

2011
  1. Ravi Chugh, Ranjit Jhala, and Sorin Lerner. Type Inference with Run-time Logs. In International Workshop on Script to Program Evolution (STOP), Austin, TX, January 2011.