Publications

SHARP: fast incremental context-sensitive pointer analysis for Java.

Published in Proceedings of the ACM on Programming Languages (OOPSLA’22), 2022

We present SHARP, an incremental context-sensitive pointer analysis algorithm that scales to real-world large complex Java programs and can also be efficiently parallelized.

Recommended citation: Liu, Bozhen, and Jeff Huang. (2022). "SHARP: fast incremental context-sensitive pointer analysis for Java." OOSPLA. https://dl.acm.org/doi/pdf/10.1145/3527332

OpenRace: An Open Source Framework for Statically Detecting Data Races.

Published in International Workshop on Software Correctness for HPC Applications (SC Correctness 2021), 2021

This paper presents OpenRace, a fast and practical static tool to detect data races in OpenMP programs.

Recommended citation: Bradley Swain, Bozhen Liu, Peiming Liu, Yanze Li, Addison Crump, Rohan Khera, Jeff Huang. (2021). "OpenRace: An Open Source Framework for Statically Detecting Data Races." SC Correctness 2021. https://github.com/april1989/april1989.github.io/blob/master/files/openrace.pdf

When Threads Meet Events: Efficient and Precise Static Race Detection with Origins.

Published in Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation (PLDI ’21), 2021

We present a novel static analysis technique, O2, to detect data races in large complex multithreaded and event-driven software.

Recommended citation: Liu, Bozhen, Peiming Liu, Yanze Li, Chia-Che Tsai, Dilma Da Silva, and Jeff Huang. (2021). "When threads meet events: efficient and precise static race detection with origins." PLDI. https://o2lab.github.io/p/o2.pdf

Sword: A scalable whole program race detector for java.

Published in Proceedings of the 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion ’19), 2019

We present the design and implementation of SWORD, a scalable and fully automated static data race detector for Java, implemented as a plugin in the Eclipse IDE.

Recommended citation: Li, Yanze, Bozhen Liu, and Jeff Huang. (2019). "Sword: A scalable whole program race detector for java." ICSE-Companion. https://github.com/april1989/april1989.github.io/blob/master/files/sword.pdf

Rethinking Incremental and Parallel Pointer Analysis

Published in ACM Transactions on Programming Languages and Systems (TOPLAS), 2018

We discuss the existing incremental and parallel pointer analyses and the state-of-the art techniques. We proposes an super efficient incremental pointer analysis for Java programs, which can be massively paralleled to further improve the performance.

Recommended citation: Liu, Bozhen. Huang, Jeff. Rauchwerger, Lawrence. "Rethinking Incremental and Parallel Pointer Analysis." TOPLAS. https://dl.acm.org/doi/pdf/10.1145/3293606

D4: fast concurrency debugging with parallel differential analysis.

Published in Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI ’18), 2018

This paper presents D4, a fast concurrency analysis framework that detects concurrency bugs interactively in the programming phase.

Recommended citation: Liu, Bozhen. Huang, Jeff. (2018). "D4: fast concurrency debugging with parallel differential analysis." PLDI. https://dl.acm.org/doi/pdf/10.1145/3296979.3192390