Peng Liu
Peng Liu Email: lpxz.ust.hk @ gmail.com
Staff Engineer
Uber, New York
Bio: I used to work at Purdue (concurrency debugging), IBM research (mobile, scientific computing) and Google (GCP client-facing service, deep learning based security). Before that I obtained Ph.D. on automated debugging from HKUST.
Publications
[IEEE Computer] Peng Liu, Shaohan Hu, Marco Pistoia, Richard Chen, Jay Gambetta. Stochastic Optimization of Quantum Programs.
We applied the Monte-Carlo Markov Chain algorithm to optimize the quantum programs while supporting the quantum programming model.
[PLDI 2019] Wen-Chuan Lee, Peng Liu, Yingqi Liu, Shiqing Ma, Xiangyu Zhang. Programming Support for Autonomizing Software.
We designed the language constructs with which the programmers can easily integrate the AI support into the traditional software. Under the hood, we built the runtime support and leveraged the compiler analysis to automatically and transparently handle the subtlety of the AI integration.
[CGO 2019] Wen-Chuan Lee, Yingqi Liu, Peng Liu, Shiqing Ma, Hongjun Choi, Xiangyu Zhang, Rajiv Gupta. White-Box Program Tuning.
We design a novel technique that reduces the overhead of the tuning without sacrificing the effectiveness. It is 4.5X as fast as the prior art.
[ICSE 2017] Peng Liu, Xiangyu Zhang, Marco Pistoia, Yunhui Zheng, Manoel Marques and Lingfei Zeng. Automatic Input Generation for Mobile Testing. Acceptance Rate: 16.4%, 68 out of 415 submissions.
We design a deep learning based technique to solve the challenge of automatically providing the user text inputs during the monkey testing. It improves the test coverage by 60% in practice
[ICDM 2017] Wei Zhang, Minwei Feng, Yunhui Zheng, Yufei Ren, Yandong Wang, Ji Liu, Peng Liu, Bing Xiang, Li Zhang, Bowen Zhou, Fei Wang. GaDei: On Scale-Up Training as a Service for Deep Learning. In ICDM 2017. Acceptance Rate: 9.25%, 72 out of 778 submissions.
We propose a scale-up parameter server design for speeding up the deep learning. The design is proven deadlock-free.
[VMCAI 2017] Pietro Ferrara, Omer Tripp, Peng Liu, Eric Koskinen. Using Abstract Interpretation to Correct Synchronization Faults. In VMCAI 2017.
We propose an efficient approach for fixing a type of concurrency bugs com- monly related to Java collections and proved the correctness atop the abstract interpretation framework.
[OOPSLA 2016] Dohyeong Kim, Yonghwi Kwon, Peng Liu, I Luk Kim, David Mitchel Perry, Xiangyu Zhang, Gustavo Rodriguez-Rivera. Apex: Automatic Programming Assignment Error Explanation. In OOPSLA 2016.Acceptance Rate: 23%, 524 out of 2250 submissions.
We design an automatic approach for reporting the root causes of the errors of students’ assignments. Apex is used in a course given at Purdue university and precisely finds 94% root causes of the 205 student submissions.
[FSE 2016] Zhaogui Xu, Peng Liu, Xiangyu Zhang and Baowen Xu. Python Predictive Analysis for Bug Detection. In FSE 2016.
Acceptance Rate: 17%, 201 out of 1149 submissions.
We propose a solver based technique for detecting the type-related errors in Python programs. It finds 46 bugs from 11 real-world projects, with 16 new bugs.
[ISSTA 2016] Weihang Wang, Yunhui Zheng, Peng Liu, Lei Xu, Xiangyu Zhang and Patrick Eugster. ARROW: Automated Repair of Races on Client-Side Web Pages. In ISSTA 2016 Acceptance Rate: 25%, 37 out of 147 submissions.
We propose a solver based approach for fixing the order violations in Javascript programs. ARROW has fixed 151 bugs from 20 real world commercial web sites.
[ISSTA 2016] Peng Liu, Omer Tripp, Xiangyu Zhang, IPA: Improving Predictive Analysis with Pointer Analysis. In ISSTA 2016.
Acceptance Rate: 25%, 37 out of 147 submissions.
We improve the detection capability of the predictive analysis so that it finds more concurrency bugs than previous work and reports no false positives. IPA is able to find close to 2X as many races as previous approaches.
[PLDI 2015] Peng Liu, Xiangyu Zhang, Omer Tripp, Yunhui Zheng. Light: Replay via Tightly Bounded Recording. In PLDI 2015.
Acceptance Rate: 19%, 58 out of 303.
We propose the novel concurrency bug reproduction technique which ensures the replay guarantee and records the provably minimal amount of information required for the guarantee. Light has only 44% logging overhead, almost one order of magnitude lower than the prior art techniques.
[FSE 2014] Peng Liu, Omer Tripp, Charles Zhang. Grail: Context-aware Fixing of Con- currency Bugs. In FSE 2014.
Acceptance Rate: 22%, 61 out of 273.
We propose the automatic fixing for concurrency bugs, which ensures the cor- rectness guarantee while imposing the minimal restriction to the concurrent executions. Our fixes are correct and incur only 2% runtime overhead, which is around 40% of the overhead incurred by the prior art.
[OOPSLA 2014] Peng Liu, Omer Tripp, Xiangyu Zhang. Flint: Fixing Linearizability Violations. In OOPSLA 2014.
Acceptance Rate: 29%, 53 out 185. Received the Badge for the Software Artifact Validated.
We propose the automatic approach for fixing a type of concurrency bugs (namely incorrect compositions) related to the Java Collections. Flint fixes 96% of the incorrect compositions from the popular applications including Tomcat and MyFaces.
[ICSE 2014] Peng Liu, Charles Zhang. Unleashing Concurrency for Irregular Data Struc- tures. In ICSE 2014.
Acceptance Rate: 20%, 99 out of 495.
We propose the automatic approach for improving the performance of concurrent data structures by converting the coarse-grained locking to fine-grained locking. It leads to at least 7%-20% speedup and up to 2X speedup.
[FSE 2013] Peng Liu, Julian Dolby, and Charles Zhang. Finding incorrect compositions of atomicity. In FSE 2013.
Acceptance Rate: 20%, 51 out of 251. Received the Badge for the Software Artifact Validated.
We propose an approach for detecting a type of concurrency bugs (called the incorrect compositions). It finds 5 new bugs in Tomcat which are confirmed by the developers. Note Tomcat is heavily used in 250,000 sites including Linkedin.com and Ebay.com.
[ICSE 2012] Peng Liu, Charles Zhang. Axis: automatically fixing atomicity violations through solving control constraints. In ICSE 2012. Acceptance Rate: 21.3%, 87 out of 408.
We propose the first fixing approach that fixes concurrency bugs with the correctness guarantee (e.g., deadlock-freeness). With the deadlock-free guarantee, our fixes incur the moderate overhead (around 10%).
[CDC 2012] Yin Wang,Peng Liu, Terence Kelly, St ÌĄephane Lafortune, Spyros A. Reveliotis, Charles Zhang. On atomicity enforcement in concurrent software via discrete event systems theory. In CDC 2012. Invited Paper.
We formally revise the control theory so that it applies to the concurrency bug fixing.
[ICSE 2012] Peng Liu, Charles Zhang. Pert: The Application-Aware Tailoring of Java Object Persistence. In TSE 2012.
We propose the optimization that improves the perfromance of the object serialization commonly used by the enterprise applications. It speeds up the conventional persistence operations by 1 to 45 times.
We propose the optimization that improves the perfromance of the object serialization commonly used by the enterprise applications. It speeds up the conventional persistence operations by 1 to 45 times.
[FSE 2010] Jeff Huang, Peng Liu, and Charles Zhang. LEAP: lightweight deterministic multi-processor replay of concurrent java programs. In FSE 2010.
Acceptance Rate: 20%, 34 out of 170.
We propose a lightweight approach for reproducing the concurrency bugs. It can reproduce 7 out of 8 real bugs in Tomcat and Derby.