My research interests include programming languages, systems, and software engineering.
I received my Ph.D. from the Johns Hopkins University, advised by Scott Smith. I am a recipient of the NSF CAREER Award (2011) and the Google Faculty Research Award (2011).
(credit: M. Cohen)
|| Energy-Aware Programming Languages and Compilers
From smartphones to data centers, energy efficiency is increasingly becoming a critical goal of modern computing. This project investigates how energy efficiency can be improved through programming language and compiler techniques. We have designed a novel type system called Energy Types, an energy-aware programming language Ent, a novel energy-efficient stream programming and compilation model called Green Streams, an energy-efficient multi-threaded language runtime called Hermes, and some empirical studies on energy behaviors of concurrent programs and energy-aware programmers.
|| Data-Intensive Software
Big Data applications are on the rise, with examples such as genome decoding, data warehouse mining, and exascale social network analysis. This project is aimed at providing programming and runtime support to improve the quality and performance of data-intensive applications. Our current efforts include Rate Types to reason about and optimize data stream rates in high-performance data processing, Delta Graphs for update-intensive and verifiable Big Graph applications, and GraphQ for scalable out-of-core graph processing (collaborative work with UC Irvine and UC Davis).
- Gustavo Pinto, Anthony Canino, Fernando Castor, Guoqing Xu, Yu David Liu, "Understanding and Overcoming Parallelism Bottlenecks in ForkJoin Applications," ASE, 2017
- Anthony Canino, Yu David Liu, "Proactive and Adaptive Energy-Aware Programming with Mixed
Typechecking," PLDI, 2017
- Yu David Liu, Lukasz Ziarek, "Toward Energy-Aware Programming for Unmanned Aerial Vehicles," short paper, SEsCPS (affiliated with ICSE), 2017.
- Yuheng Long, Yu David Liu, Hridesh Rajan, "First-Class Effect Reflection for Effect-Guided Programming," OOPSLA, 2016
- Philip Dexter, Yu David Liu, Kenneth Chiu, "Lazy Graph Processing in Haskell,'' Haskell Symposium, 2016.
- Gustavo Pinto, Kenan Liu, Fernando Castor, Yu David Liu, A Comprehensive Study on the Energy Efficiency of Java Thread-Safe Collections," ICSME, 2016.
- Haris Ribic, Yu David Liu, "AEQUITAS: Coordinated Energy Management Across Parallel Applications," International Conference on Supercomputing (ICS), 2016.
- Kai Wang, Guoqing Xu, Zhendong Su, Yu David Liu. "GraphQ: Graph Query Processing with Abstraction Refinement," USENIX ATC, 2015.
- Yuheng Long, Yu David Liu, Hridesh Rajan, "Intensional Effect Polymorphism," ECOOP, 2015.
- Haitao Steve Zhu, Chaoren Lin, Yu David Liu, "A Programming Model for Sustainable Software," ICSE, 2015.
- Kenan Liu, Gustavo Pinto, Yu David Liu, ""Data-Oriented Characterization of Application-Level Energy Optimization," FASE, 2015
- Gustavo Pinto, Fernando Castor, Yu David Liu, "Understanding Energy Behaviors of Thread Management Constructs," OOPSLA, 2014.
- Thomas Bartenstein, Yu David Liu, "Rate Types for Stream Programs," OOPSLA, 2014.
- Gustavo Pinto, Fernando Castor, Yu David Liu, "Mining Questions About Software Energy Consumption," MSR, 2014.
- Haris Ribic, Yu David Liu, "Energy-Efficient Work-Stealing Language Runtimes," ASPLOS, 2014.
- Haitao Steve Zhu, Yu David Liu, "Hierarchical Decomposition Inference with Linear Programming," ECOOP, 2013.
- Yu David Liu, "Tempo Support in Programming Languages," short paper, OBT (affiliated with POPL), 2013.
- Thomas Bartenstein, Yu David Liu, "Green Streams for Data-Intensive Software,'' ICSE, 2013.
- Siliang Li, Yu David Liu, Gang Tan, " JATO: Native Code Atomicity for Java," APLAS, 2012.
- Michael Cohen, Haitao Steve Zhu, Senem Ezgi Emgin, Yu David Liu, "Energy Types," OOPSLA, 2012.
- CS476/576: Programming Models for Emerging Platforms (Spring 2017)
- CS571: Programming Languages, Section I and II (Fall 2017)