Demo Data from VLDB 2026 / reviewers in the wild / expert
Shangru Wu
dblp:65/8474
· DBLP profile ↗
7ranked-venue papers
2as first author
1since 2021 · last 2021
0009-0003-5512-6890ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 4 · 1 first-author · 1 since 2021Systems, architecture and hardware · 3 · 1 first-author
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
6 papers |
Concurrent programming · 60% Program analysis · 18% Debugging and program repair · 15% |
Topics — the 9 heaviest of 11, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Concurrent programming
concurrency bugs |
0.9 | 3 | 2021 | RegionTrack: A Trace-Based Sound and Complete Checker to Debug Transactional Atomicity Violations and Non-Serializable Traces · ACM Trans. Softw. Eng. Methodol. 2021 ASN: A Dynamic Barrier-Based Approach to Confirmation of Deadlocks from Warnings for Large-Scale Multithreaded Programs · IEEE Trans. Parallel Distributed Syst. 2015 TeamWork: synchronizing threads globally to detect real deadlocks for multithreaded programs · PPoPP 2013 |
Debugging and program repair
fault localization |
0.6 | 2 | 2021 | RegionTrack: A Trace-Based Sound and Complete Checker to Debug Transactional Atomicity Violations and Non-Serializable Traces · ACM Trans. Softw. Eng. Methodol. 2021 ASN: A Dynamic Barrier-Based Approach to Confirmation of Deadlocks from Warnings for Large-Scale Multithreaded Programs · IEEE Trans. Parallel Distributed Syst. 2015 |
Concurrent programming › concurrency bugs
atomicity violation |
0.5 | 1 | 2021 | RegionTrack: A Trace-Based Sound and Complete Checker to Debug Transactional Atomicity Violations and Non-Serializable Traces · ACM Trans. Softw. Eng. Methodol. 2021 |
Concurrent programming
deadlock detection |
0.4 | 2 | 2014 | ConLock: a constraint-based approach to dynamic checking on deadlocks in multithreaded programs · ICSE 2014 TeamWork: synchronizing threads globally to detect real deadlocks for multithreaded programs · PPoPP 2013 |
Concurrent programming › concurrency bug detection
atomicity violation detection |
0.2 | 1 | 2016 | ASP: Abstraction Subspace Partitioning for Detection of Atomicity Violations with an Empirical Study · IEEE Trans. Parallel Distributed Syst. 2016 |
Concurrent programming
concurrency bug detection |
0.2 | 1 | 2016 | ASP: Abstraction Subspace Partitioning for Detection of Atomicity Violations with an Empirical Study · IEEE Trans. Parallel Distributed Syst. 2016 |
Program analysis › dynamic analysis
execution trace representation |
0.2 | 1 | 2016 | Hierarchical Program Paths · ACM Trans. Softw. Eng. Methodol. 2016 |
Software testing
random testing |
0.2 | 1 | 2015 | ASN: A Dynamic Barrier-Based Approach to Confirmation of Deadlocks from Warnings for Large-Scale Multithreaded Programs · IEEE Trans. Parallel Distributed Syst. 2015 |
Program analysis
dynamic analysis |
0.2 | 1 | 2013 | TeamWork: synchronizing threads globally to detect real deadlocks for multithreaded programs · PPoPP 2013 |
Methods — techniques the papers use, named apart from their topics
timestamp propagation · 0.5happens-before relation · 0.5tree-based representation · 0.2graph-based trace representation · 0.2controlled experiment · 0.2abstraction subspace partitioning · 0.2randomized scheduling · 0.2barrier-based testing · 0.2should-happen-before relation · 0.2constraint-based scheduling · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2021 | RegionTrack: A Trace-Based Sound and Complete Checker to Debug Transactional Atomicity Violations and Non-Serializable TracesabstractAtomicity is a correctness criterion to reason about isolated code regions in a multithreaded program when they are executed concurrently. However, dynamic instances of these code regions, called transactions , may fail to behave atomically, resulting in transactional atomicity violations. Existing dynamic online atomicity checkers incur either false positives or false negatives in detecting transactions experiencing transactional atomicity violations. This article proposes RegionTrack. RegionTrack tracks cross-thread dependences at the event, dynamic subregion, and transaction levels. It maintains both dynamic subregions within selected transactions and transactional happens-before relations through its novel timestamp propagation approach. We prove that RegionTrack is sound and complete in detecting both transactional atomicity violations and non-serializable traces. To the best of our knowledge, it is the first online technique that precisely captures the transitively closed set of happens-before relations over all conflicting events with respect to every running transaction for the above two kinds of issues. We have evaluated RegionTrack on 19 subjects of the DaCapo and the Java Grande Forum benchmarks. The empirical results confirm that RegionTrack precisely detected all those transactions which experienced transactional atomicity violations and identified all non-serializable traces. The overall results also show that RegionTrack incurred 1.10x and 1.08x lower memory and runtime overheads than Velodrome and 2.10x and 1.21x lower than Aerodrome, respectively. Moreover, it incurred 2.89x lower memory overhead than DoubleChecker. On average, Velodrome detected about 55% fewer violations than RegionTrack, which in turn reported about 3%–70% fewer violations than DoubleChecker. Shangru Wu, Ernest Bota Pobee, Xiupei Mei, Hao Zhang 0085, Bo Jiang 0001, Wing Kwong Chan |
ACM Trans. Softw. Eng. Methodol. | 2 |
| 2016 | Hierarchical Program PathsabstractComplete dynamic control flow is a fundamental kind of execution profile about program executions with a wide range of applications. Tracing the dynamic control flow of program executions for a brief period easily generates a trace consisting of billions of control flow events. The number of events in such a trace is large, making both path tracing and path querying to incur significant slowdowns. A major class of path tracing techniques is to design novel trace representations that can be generated efficiently, and encode the inputted sequences of such events so that the inputted sequences are still derivable from the encoded and smaller representations. The control flow semantics in such representations have, however, become obscure, which makes implementing path queries on such a representation inefficient and the design of such queries complicated. We propose a novel two-phase path tracing framework— Hierarchical Program Path (HPP)—to model the complete dynamic control flow of an arbitrary number of executions of a program. In Phase 1, HPP monitors each execution, and efficiently generates a stream of events, namely HPPTree, representing a novel tree-based representation of control flow for each thread of control in the execution. In Phase 2, given a set of such event streams, HPP identifies all the equivalent instances of the same exercised interprocedural path in all the corresponding HPPTree instances, and represents each such equivalent set of paths with a single subgraph, resulting in our compositional graph-based trace representation, namely, HPPDAG. Thus, an HPPDAG instance has the potential to be significantly smaller in size than the corresponding HPPTree instances, and still completely preserves the control flow semantics of the traced executions. Control flow queries over all the traced executions can also be directly performed on the single HPPDAG instance instead of separately processing the trace representation of each execution followed by aggregating their results. We validate HPP using the SPLASH2 and SPECint 2006 benchmarks. Compared to the existing technique, named BLPT (Ball-Larus-based Path Tracing), HPP generates significantly smaller trace representations and incurs fewer slowdowns to the native executions in online tracing of Phase 1. The HPPDAG instances generated in Phase 2 are significantly smaller than their corresponding BLPT and HPPTree traces. We show that HPPDAG supports efficient backtrace querying, which is a representative path query based on complete control flow trace. Finally, we illustrate the ease of use of HPPDAG by building a novel and highly efficient path profiling technique to demonstrate the applicability of HPPDAG. Chunbai Yang, Shangru Wu, Wing Kwong Chan |
ACM Trans. Softw. Eng. Methodol. | 2 |
| 2016 | ASP: Abstraction Subspace Partitioning for Detection of Atomicity Violations with an Empirical StudyabstractDynamic concurrency bug detectors predict and then examine suspicious instances of atomicity violations from executions of multithreaded programs. Only few predicted instances are real bugs. Prioritizing such instances can make the examinations cost-effective, but is there any design factor exhibiting significant influence? This work presents the first controlled experiment that studies two design factors, abstraction level and subspace, in partitioning such instances through 35 resultant partition-based techniques on 10 benchmarks with known vulnerability-related bugs. The empirical analysis reveals significant findings. First, partition-based prioritization can significantly improve the fault detection rate. Second, coarse-grained techniques are more effective than fine-grained ones, and using some one-dimensional subspaces is more effective than using other dimensional subspaces. Third, eight previously unknown techniques can be more effective than the technique modeled after a state-of-the-art dynamic detector. Shangru Wu, Chunbai Yang, Changjiang Jia, Wing Kwong Chan |
IEEE Trans. Parallel Distributed Syst. | 1 |
| 2015 | ASR: Abstraction Subspace Reduction for Exposing Atomicity Violation Bugs in Multithreaded ProgramsabstractMany two-phase based dynamic concurrency bug detectors predict suspicious instances of atomicity violation from one execution trace, and examine each such instance by scheduling a confirmation run. If the amount of suspicious instances predicted is large, confirming all these instances becomes a burden. In this paper, we present the first controlled experiment that evaluates the efficiency, effectiveness, and cost-effectiveness of reduction on suspicious instances in the detection of atomicity violations. A novel form of reduction technique named ASR is proposed. Our empirical analysis reveals many interesting findings: First, the reduced sets of instances produced by ASR significantly improve the efficiency of atomicity violation detection without significantly compromising the effectiveness. Second, ASR is significantly more cost-effective than random reduction and untreated reduction by 8.5 folds and 60.7 folds, respectively, in terms of mean normalized bug detection ratio. Third, six ASR techniques can be significantly more cost-effective than the technique modeled after a state-of-the-art detector. Shangru Wu, Chunbai Yang, Wing Kwong Chan |
QRS | 1 |
| 2015 | ASN: A Dynamic Barrier-Based Approach to Confirmation of Deadlocks from Warnings for Large-Scale Multithreaded ProgramsabstractMany large-scale multithreaded programs incur deadlock bugs. Existing deadlock warning detection techniques only report warning scenarios, which may or may not be real deadlocks. Each warning should be further verified on whether it may manifest into a real deadlock. For this purpose, a number of active randomized testing schedulers have been developed to trigger them, and yet pervious experiments show that their deadlock confirmation probability can be low. This paper presents ASN, a novel barrier-based randomized scheduler that triggers real deadlocks with high probabilities. We exploit the insights that in a confirmation run, the threads involved in a real deadlock should properly acquire one or more sets of locks prior to deadlocking. ASN automatically identifies three interesting sets of such positions. It guides the threads participating in a given warning to stay at these position sets in turn. When all the threads are staying at the last position set, ASN checks whether any deadlock that matches with the given warning has been triggered. We have evaluated ASN on 15 deadlock bugs in a suite of real-world multithreaded programs. The results show that ASN either confirms more deadlocks from the benchmark suite or triggers the same deadlocks with significantly higher probabilities than existing schedulers. Yan Cai 0001, Changjiang Jia, Shangru Wu, Ke Zhai 0002, Wing Kwong Chan |
IEEE Trans. Parallel Distributed Syst. | 3 |
| 2014 | ConLock: a constraint-based approach to dynamic checking on deadlocks in multithreaded programsabstractMany predictive deadlock detection techniques analyze multithreaded programs to suggest potential deadlocks (referred to as cycles or deadlock warnings). Nonetheless, many of such cycles are false positives. On checking these cycles, existing dynamic deadlock confirmation techniques may frequently encounter thrashing or result in a low confirmation probability. This paper presents a novel technique entitled ConLock to address these problems. ConLock firstly analyzes a given cycle and the execution trace that produces the cycle. It identifies a set of thread scheduling constraints based on a novel should-happen-before relation. ConLock then manipulates a confirmation run with the aim to not violate a reduced set of scheduling constraints and to trigger an occurrence of the deadlock if the cycle is a real deadlock. If the cycle is a false positive, ConLock reports scheduling violations. We have validated ConLock using a suite of real-world programs with 11 deadlocks. The result shows that among all 741 cycles reported by Magiclock, ConLock confirms all 11 deadlocks with a probability of 71%−100%. On the remaining 730 cycles, ConLock reports scheduling violations on each. We have systematically sampled 87 out of the 730 cycles and confirmed that all these cycles are false positives. Yan Cai 0001, Shangru Wu, Wing Kwong Chan |
ICSE | 2 |
| 2013 | TeamWork: synchronizing threads globally to detect real deadlocks for multithreaded programsabstractThis paper presents the aim of TeamWork, our ongoing effort to develop a comprehensive dynamic deadlock confirmation tool for multithreaded programs. It also presents a refined object abstraction algorithm that refines the existing stack hash abstraction. Yan Cai 0001, Ke Zhai 0002, Shangru Wu, Wing Kwong Chan |
PPoPP | 3 |