Programming Languages
Group


Computer Science and
Electrical & Computer Engineering
University of Waterloo

Every aspect of computer science depends on programming languages to transform ideas into practical, functioning forms. There are many different programming languages, each addressing a well-defined purpose across a number of diverse computing environments. The Programming Languages Group (PLG) does research across this full spectrum: language design, parsing, type theory, static/dynamic analysis, code generation and runtime systems. PLG also examines the software life-cycle: development tools, code comprehension/transformation, performance, debugging, and programmer behaviour and productivity. The research goal is to ease transforming human ideas into an executable form by a computer, which can be accomplished at multiple levels in the highly complex software stack.

To receive any PLG-related updates, you can subscribe to our mailing list.

News

April 2016 The paper Feedback-Directed Instrumentation for Deployed JavaScript Applications by Magnus Madsen, Frank Tip, Esben Andreasen, Koushik Sen, and Anders Møller received the ACM SIGSOFT Distinguished Paper Award.
March 2016 The paper C++ const and Immutability: An Empirical Study of Writes-Through-const by Jon Eyolfson and Patrick Lam was accepted to ECOOP.
February 2016 Werner Dietl received a Google Faculty Research Award.
January 2016 The paper From Datalog to Flix: A Declarative Language for Fixpoints on Lattices by Magnus Madsen, Ming-Ho Yee, and Ondřej Lhoták, was accepted to PLDI.
December 2015 The paper Feedback-Directed Instrumentation for Deployed JavaScript Applications by Magnus Madsen, Frank Tip, Esben Andreasen, Koushik Sen, and Anders Møller was accepted to ICSE.
The journal article Type-Based Call Graph Construction Algorithms for Scala by Karim Ali, Marianna Rapoport, Ondřej Lhoták, Julian Dolby, and Frank Tip was accepted to TOSEM.
November 2015 Submit your best papers to European Conference on Object-Oriented Programming (ECOOP) 2016.
October 2015 Werner Dietl, together with Michael Ernst, gave three talks at JavaOne 2015: the tutorial Preventing Errors Before They Happen (TUT4416), the conference talk Collaborative Verification of the Information Flow for a High-Assurance App Store (CON4444), and the bird-of-a-feather session Using Type Annotations to Improve Your Code (BOF4390).
September 2015 Marianna Rapoport, Ondřej Lhoták, and Frank Tip received the Radhia Cousot award at SAS 2015.
May 2015 The paper Static analysis of event-driven Node.js JavaScript applications by Magnus Madsen, Frank Tip, and Ondřej Lhoták was accepted to OOPSLA.
The paper Precise data-flow analysis in the presence of correlated method calls by Marianna Rapoport, Ondřej Lhoták, and Frank Tip was accepted to SAS.