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

We applied the Monte-Carlo Markov Chain algorithm to optimize the quantum programs while supporting the quantum programming model.

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.

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.

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 

We propose a scale-up parameter server design for speeding up the deep learning. The design is proven deadlock-free.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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%).

We formally revise the control theory so that it applies to the concurrency bug fixing.

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 a lightweight approach for reproducing the concurrency bugs. It can reproduce 7 out of 8 real bugs in Tomcat and Derby.