Demo Data from SIGIR 2026 / reviewers in the wild / expert
Guangpu Li
dblp:198/2457
· DBLP profile ↗
5ranked-venue papers
3as first author
1since 2021 · last 2021
0000-0003-4356-9988ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 5 · 3 first-author · 1 since 2021Systems, architecture and hardware · 3 · 1 first-author · 1 since 2021
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
5 papers |
Concurrent programming · 55% Program analysis · 27% Debugging and program repair · 15% | |
| Computer architecture, parallel and distributed computing, and storage systems
3 papers |
Distributed systems · 87% Cloud and datacenter computing · 13% |
Topics — the 14 heaviest of 15, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Concurrent programming
concurrency bug detection |
1.0 | 3 | 2019 | Efficient scalable thread-safety-violation detection: finding thousands of concurrency bugs during testing · SOSP 2019 FCatch: Automatically Detecting Time-of-fault Bugs in Cloud Systems · ASPLOS 2018 DCatch: Automatically Detecting Distributed Concurrency Bugs in Cloud Systems · ASPLOS 2017 |
Distributed systems
fault tolerance |
0.7 | 2 | 2019 | DFix: automatically fixing timing bugs in distributed systems · PLDI 2019 FCatch: Automatically Detecting Time-of-fault Bugs in Cloud Systems · ASPLOS 2018 |
Program analysis
dynamic analysis |
0.5 | 1 | 2021 | SherLock: unsupervised synchronization-operation inference · ASPLOS 2021 |
Concurrent programming
synchronization |
0.5 | 1 | 2021 | SherLock: unsupervised synchronization-operation inference · ASPLOS 2021 |
Debugging and program repair
automated program repair |
0.4 | 1 | 2019 | DFix: automatically fixing timing bugs in distributed systems · PLDI 2019 |
Concurrent programming
concurrency bugs |
0.4 | 1 | 2019 | Efficient scalable thread-safety-violation detection: finding thousands of concurrency bugs during testing · SOSP 2019 |
Program analysis › dynamic analysis
happens-before analysis |
0.3 | 1 | 2017 | DCatch: Automatically Detecting Distributed Concurrency Bugs in Cloud Systems · ASPLOS 2017 |
Distributed systems
bug detection |
0.3 | 1 | 2017 | DCatch: Automatically Detecting Distributed Concurrency Bugs in Cloud Systems · ASPLOS 2017 |
Distributed systems › concurrency
distributed concurrency bugs |
0.3 | 1 | 2017 | DCatch: Automatically Detecting Distributed Concurrency Bugs in Cloud Systems · ASPLOS 2017 |
Software maintenance and evolution › issue tracking
bug report processing |
0.1 | 1 | 2019 | DFix: automatically fixing timing bugs in distributed systems · PLDI 2019 |
Debugging and program repair
fault localization |
0.1 | 1 | 2019 | Efficient scalable thread-safety-violation detection: finding thousands of concurrency bugs during testing · SOSP 2019 |
Program analysis
static analysis |
0.1 | 1 | 2019 | DFix: automatically fixing timing bugs in distributed systems · PLDI 2019 |
Cloud and datacenter computing › quality of service
cloud service availability |
0.1 | 1 | 2018 | FCatch: Automatically Detecting Time-of-fault Bugs in Cloud Systems · ASPLOS 2018 |
Cloud and datacenter computing › cloud deployment model
distributed cloud |
0.1 | 1 | 2017 | DCatch: Automatically Detecting Distributed Concurrency Bugs in Cloud Systems · ASPLOS 2017 |
Methods — techniques the papers use, named apart from their topics
static analysis · 0.8patch generation · 0.8fault injection · 0.7concurrency bug modeling · 0.7trace analysis · 0.6runtime tracing · 0.6happens-before rules · 0.6unsupervised inference · 0.5delay injection · 0.5dynamic analysis · 0.4
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2021 | SherLock: unsupervised synchronization-operation inferenceabstractSynchronizations are fundamental to the correctness and performance of concurrent software. Unfortunately, correctly identifying all synchronizations has become extremely difficult in modern soft-ware systems due to the various types of synchronizations. Previous work either only infers specific type of synchronization by code analysis or relies on manual effort to annotate the synchronization. This paper proposes SherLock, a tool that uses unsupervised inference to identify synchronizations. SherLock leverages the fact that most synchronizations appear around the conflicting operations and form it into a linear system with a set of synchronization proper-ties and hypotheses. To collect enough observations, SherLock runs the unit tests a small number of times with feedback-based delay injection. We applied SherLock on 8 C# open-source applications. Without any prior knowledge, SherLock inferred 122 unique synchronizations, with few false positives. These inferred synchronizations cover a wide variety of types, including lock operations, fork-join operations, asynchronous operations, framework synchronization, and custom synchronization. Guangpu Li, Dongjie Chen, Shan Lu 0001, Madan Musuvathi, Suman Nath |
ASPLOS | 1 |
| 2019 | DFix: automatically fixing timing bugs in distributed systemsabstractDistributed systems nowadays are the backbone of computing society, and are expected to have high availability. Unfortunately, distributed timing bugs, a type of bugs triggered by non-deterministic timing of messages and node crashes, widely exist. They lead to many production-run failures, and are difficult to reason about and patch. Although recently proposed techniques can automatically detect these bugs, how to automatically and correctly fix them still remains as an open problem. This paper presents DFix, a tool that automatically processes distributed timing bug reports, statically analyzes the buggy system, and produces patches. Our evaluation shows that DFix is effective in fixing real-world distributed timing bugs. Guangpu Li, Xianglan Chen, Haryadi S. Gunawi, Shan Lu 0001 |
PLDI | 1 |
| 2019 | Efficient scalable thread-safety-violation detection: finding thousands of concurrency bugs during testingabstractConcurrency bugs are hard to find, reproduce, and debug. They often escape rigorous in-house testing, but result in large-scale outages in production. Existing concurrency-bug detection techniques unfortunately cannot be part of industry's integrated build and test environment due to some open challenges: how to handle code developed by thousands of engineering teams that uses a wide variety of synchronization mechanisms, how to report little/no false positives, and how to avoid excessive testing resource consumption. Guangpu Li, Shan Lu 0001, Madan Musuvathi, Suman Nath, Rohan Padhye |
SOSP | 1 |
| 2018 | FCatch: Automatically Detecting Time-of-fault Bugs in Cloud SystemsabstractIt is crucial for distributed systems to achieve high availability. Unfortunately, this is challenging given the common component failures (i.e., faults). Developers often cannot anticipate all the timing conditions and system states under which a fault might occur, and introduce time-of-fault (TOF) bugs that only manifest when a node crashes or a message drops at a special moment. Although challenging, detecting TOF bugs is fundamental to developing highly available distributed systems. Unlike previous work that relies on fault injection to expose TOF bugs, this paper carefully models TOF bugs as a new type of concurrency bugs, and develops FCatch to automatically predict TOF bugs by observing correct execution. Evaluation on representative cloud systems shows that FCatch is effective, accurately finding severe TOF bugs. Guangpu Li, Shan Lu 0001, Chen Tian 0002 |
ASPLOS | 3 |
| 2017 | DCatch: Automatically Detecting Distributed Concurrency Bugs in Cloud SystemsabstractIn big data and cloud computing era, reliability of distributed systems is extremely important. Unfortunately, distributed concurrency bugs, referred to as DCbugs, widely exist. They hide in the large state space of distributed cloud systems and manifest non-deterministically depending on the timing of distributed computation and communication. Effective techniques to detect DCbugs are desired. This paper presents a pilot solution, DCatch, in the world of DCbug detection. DCatch predicts DCbugs by analyzing correct execution of distributed systems. To build DCatch, we design a set of happens-before rules that model a wide variety of communication and concurrency mechanisms in real-world distributed cloud systems. We then build runtime tracing and trace analysis tools to effectively identify concurrent conflicting memory accesses in these systems. Finally, we design tools to help prune false positives and trigger DCbugs. We have evaluated DCatch on four representative open-source distributed cloud systems, Cassandra, Hadoop MapReduce, HBase, and ZooKeeper. By monitoring correct execution of seven workloads on these systems, DCatch reports 32 DCbugs, with 20 of them being truly harmful. Guangpu Li, Jeffrey F. Lukman, Shan Lu 0001, Haryadi S. Gunawi, Chen Tian 0002 |
ASPLOS | 2 |