ECE seminar: Language theory in practice, a play in three acts

Friday, February 18, 2022 10:00 am - 11:00 am EST (GMT -05:00)

Speaker:    NINGNING XIE, UNIVERSITY OF CAMBRIDGE

Topic:         LANGUAGE THEORY INTO PRACTICE, A PLAY IN THREE ACTS

Date:          Friday, February 18, 2022

Time:         10:00 am – 11:00 am

Zoom:

https://uwaterloo.zoom.us/j/91697501927?pwd=anFyeGhDdjJUVkxrQUlsUnZkNTFTUT09

Meeting ID: 916 9750 1927

Passcode: 849492

Abstract:

Computer development has come a long way.  Along with the evolution of computers, advances in high-level programming languages allow us to write large-scale software systems easily.  While new language features significantly extend the language expressive power, they often lack theoretical development and lead to subtle implementation bugs.  Moreover, while high-level languages abstract over low-level aspects and thus eliminate many sources of errors, the abstraction often comes with a runtime penalty that results in inefficient low-level code.

In this talk, I will show how to apply programming language theory to practical programming to offer strong static safety and efficiency guarantees in three domains: language design, runtime systems, and machine learning systems.  First, I will demonstrate a type-theoretical formalization of language features, focusing on type inference for dependent types in algebraic datatype declarations.  The formalization has guided real-world language implementations.  Then, I will show that programming language theory reaps benefits beyond safety.  I will present Perceus, a garbage-free reference counting algorithm with reuse, that supports high-level programming while preserving low-level efficiency.  Perceus delivers competitive performance compared to state-of-the-art memory reclamation implementations.  Finally, as part of a vision to make programming languages broadly applicable, I will discuss my efforts to apply programming language techniques to machine learning systems, by presenting a program synthesis framework that accelerates large-scale distributed machine learning on hardware platforms.

Biography:

Ningning Xie is a research associate at the University of Cambridge.  She received her Ph.D. in Computer Science at the University of Hong Kong in 2021.  Her research interests are in the field of programming languages, where she applies programming language theory to a variety of domains, including language design, runtime and compiler systems, and machine learning systems.  In the last two years of her Ph.D. study, Ningning had research visits at Microsoft Research Redmond and DeepMind London. Her research has been recognized by ACM SIGPLAN Distinguished Paper awards at the Symposium on Principles of Programming Languages (POPL 2020) and the Conference on Programming Language Design and Implementation (PLDI 2021).

All are welcome!