Ravi Chugh — Curriculum Vitae
Contact Info
3357 Lebon Drive #102, San Diego, CA 92122
ravichugh.com | rchugh@cs.ucsd.edu | (267) 258-4933
Interests
Programming Languages, Compilers, Program Analysis, Dynamic Languages
Education
University of California, San Diego, La Jolla, CA
Ph.D., Computer Science, September 2013.
Dissertation Topic: "Nested Refinement Types for JavaScript"
Dissertation Advisor: Ranjit Jhala
University of Pennsylvania, Philadelphia, PA
M.S.E., B.S.E., Computer Science, May 2007.
Graduated summa cum laude.
Research Experience
University of California, San Diego, La Jolla, CA
Postdoctoral Scholar,
September 2013 – present.
Student Researcher,
June 2007 – September 2013.
Advisors: Ranjit Jhala, Sorin Lerner
Mozilla Research, San Francisco, CA
Research Intern,
January 2012 – April 2012.
Mentor: David Herman
Microsoft Research, Redmond, WA
Research Intern,
May 2009 – August 2009.
Mentor: Nikhil Swamy
Conference Papers
-
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),
pages 587-606, Tucson, AZ, October 2012.
-
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),
pages 231-244, Philadelphia, PA, January 2012.
-
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), pages 412-423, Toronto, Canada, June 2010.
-
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),
pages 529-549, Paphos, Cyprus, March 2010.
-
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), pages 50-62, Dublin, Ireland, June 2009.
-
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), pages 316-326, Tucson, AZ, June 2008.
Workshop Papers
-
Ravi Chugh.
A Fix for Dynamic Scope.
In ACM Workshop on ML,
Boston, MA, September 2013.
-
Ravi Chugh, David Herman, and Ranjit Jhala.
Status Report: Dependent Types for JavaScript.
In Workshop on Script to Program Evolution (STOP),
Beijing, China, June 2012.
-
Ravi Chugh, Ranjit Jhala, and Sorin Lerner.
Type Inference with Run-time Logs.
In Workshop on Script to Program Evolution (STOP),
Austin, TX, January 2011.
Selected Talks
A Fix for Dynamic Scope.
ML Workshop, Boston, MA. September 22, 2013.
Nested Refinement Types for JavaScript.
Northeastern University, Boston, MA. September 30, 2013.
University of California, San Diego. September 3, 2013. (Dissertation Defense)
University of California, San Diego. November 16, 2011. (Thesis Proposal)
Dependent Types for JavaScript.
HCSS, Annapolis, MD. May 7, 2013.
SoCal, Riverside, CA. November 30, 2012.
OOPSLA, Tucson, AZ. October 24, 2012.
Dagstuhl, "Web Application Security," Wadern, Germany. October 2, 2012.
JSTools, Beijing, China. June 13, 2012.
STOP, Beijing, China. June 11, 2012.
Nested Refinements: A Logic for Duck Typing.
POPL, Philadelphia, PA. January 26, 2012.
Dagstuhl, "Foundations of Scripting Languages," Wadern, Germany. January 4, 2012.
SoCal, La Jolla, CA. December 3, 2011.
Type Inference with Run-time Logs.
STOP, Austin, TX. January 29, 2011.
Kyoto University, Kyoto, Japan. January 17, 2011.
SoCal, Los Angeles, CA. December 4, 2010.
Fine + DCIL: End-to-end Verification of Security Enforcement.
Microsoft Research, Redmond, WA. August 7, 2009.
Staged Information Flow for JavaScript.
PLDI, Dublin, Ireland. June 16, 2009.
Teaching Experience
University of California, San Diego, La Jolla, CA
Instructor, January 2014 – March 2014 (upcoming)
"PL: Principles and Paradigms" (undergraduate; 1 quarter)
Topics in functional, object-oriented, and relational
programming languages.
Teaching Assistant, 2009 – 2010
"PL: Principles and Paradigms" (undergraduate; 2 quarters)
Introduced in-class, group assignments to help improve
class attendance.
Guest Lecturer, 2008 – 2009
"Advanced Compilers" (graduate; 2 lectures)
Presented topics in program analysis and type systems.
University of Pennsylvania, Philadelphia, PA
Co-instructor,
Summer Academy in Applied Science & Technology, July 2007
"Hardware and Software Algorithms" (high school; 3 weeks)
Designed course to complement introductory
programming curriculum.
Produced
reusable lecture notes (pdf), problem sets, and quizzes.
Taught 21 students for 1.75 hours 4 times per week.
Teaching Assistant, September 2004 – May 2007
"Mathematical Foundations of CS" (graduate; 2 semesters)
"Programming Languages and Techniques" (undergraduate; 3 semesters)
"Introduction to C#" (undergraduate; 2 semesters)
Led recitations of 10–25 students, office hours,
and review sessions.
Designed in-class and homework assignments.
Canadian Academy, Kobe, Japan
Guest Lecturer, January 2011
"AP Calculus" (high school; 1 lecture)
"IB Math Higher-Level" (high school; 1 lecture)
Introduced basic concepts and career opportunities
in computer science.
Professional Experience
Microsoft Corporation, Redmond, WA
Software Engineer Intern,
Windows Live Local,
May 2006 – August 2006
Program Manager Intern,
Internet Explorer,
May 2005 – August 2005
Professional Service
Program Committees: POPL 2015, OOPSLA 2014, FOOL 2013
External Review Committees: PLDI 2014
External Reviews: POPL 2014
Sub-reviews: OOPSLA 2011, ESOP 2011, CC 2009
Journal Article Reviews: TOPLAS (2013)
Personal
Spent academic year 2002–2003 at Maru-a-Pula School in Gaborone, Botswana.
Assisted and performed with acclaimed Maru-a-Pula Marimba Band, and served
as an aide to various teachers.
References
Ranjit Jhala, University of California, San Diego
Michael Hicks, University of Maryland, College Park
Shriram Krishnamurthi, Brown University
Sorin Lerner, University of California, San Diego
Nikhil Swamy, Microsoft Research