VLDB 2026 Research / reviewers in the wild / expert
Jie Yu 0016
dblp:74/3437-16
· DBLP profile ↗
6ranked-venue papers
3as first author
0since 2021 · last 2014
0000-0003-0414-7563ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 5 · 2 first-authorSystems, architecture and hardware · 2 · 2 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 · 44% Software testing · 18% Software maintenance and evolution · 12% | |
| Computer architecture, parallel and distributed computing, and storage systems
2 papers |
Parallel and multicore computing · 85% Embedded and real-time systems · 15% |
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 |
0.2 | 2 | 2014 | Race detection for event-driven mobile applications · PLDI 2014 Maple: a coverage-driven testing tool for multithreaded programs · OOPSLA 2012 |
Concurrent programming
concurrency bugs |
0.2 | 2 | 2010 | Tolerating Concurrency Bugs Using Transactions as Lifeguards · MICRO 2010 A case for an interleaving constrained shared-memory multi-processor · ISCA 2009 |
Software maintenance and evolution
dynamic software updating |
0.2 | 2 | 2011 | Dynamic Software Updating Using a Relaxed Consistency Model · IEEE Trans. Software Eng. 2011 POLUS: A POwerful Live Updating System · ICSE 2007 |
Concurrent programming › concurrency bug detection
data race detection |
0.2 | 1 | 2014 | Race detection for event-driven mobile applications · PLDI 2014 |
Program analysis › concurrent program analysis
event-race detection |
0.2 | 1 | 2014 | Race detection for event-driven mobile applications · PLDI 2014 |
Software testing
concurrency testing |
0.1 | 1 | 2012 | Maple: a coverage-driven testing tool for multithreaded programs · OOPSLA 2012 |
Software testing › concurrency testing
thread interleaving coverage |
0.1 | 1 | 2012 | Maple: a coverage-driven testing tool for multithreaded programs · OOPSLA 2012 |
Programming languages and type systems › interoperability
binary compatibility |
0.1 | 1 | 2011 | Dynamic Software Updating Using a Relaxed Consistency Model · IEEE Trans. Software Eng. 2011 |
Concurrent programming › concurrency bugs
data races |
0.1 | 1 | 2009 | A case for an interleaving constrained shared-memory multi-processor · ISCA 2009 |
Parallel and multicore computing › multiprocessor system
shared-memory multiprocessor |
0.1 | 1 | 2009 | A case for an interleaving constrained shared-memory multi-processor · ISCA 2009 |
Operating systems
live update |
0.1 | 1 | 2007 | POLUS: A POwerful Live Updating System · ICSE 2007 |
Parallel and multicore computing › transactional memory
hardware transactional memory |
0.0 | 1 | 2010 | Tolerating Concurrency Bugs Using Transactions as Lifeguards · MICRO 2010 |
Parallel and multicore computing
transactional memory |
0.0 | 1 | 2010 | Tolerating Concurrency Bugs Using Transactions as Lifeguards · MICRO 2010 |
Embedded and real-time systems
runtime enforcement |
0.0 | 1 | 2009 | A case for an interleaving constrained shared-memory multi-processor · ISCA 2009 |
Methods — techniques the papers use, named apart from their topics
lifeguard transactions · 0.2eager conflict detection · 0.2predecessor set constraints · 0.2PSet · 0.2dynamic race detection · 0.2schedule control · 0.1coverage-driven testing · 0.1relaxed consistency model · 0.1bidirectional write-through synchronization · 0.1binary compatibility · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2014 | Race detection for event-driven mobile applicationsabstractMobile systems commonly support an event-based model of concurrent programming. This model, used in popular platforms such as Android, naturally supports mobile devices that have a rich array of sensors and user input modalities. Unfortunately, most existing tools for detecting concurrency errors of parallel programs focus on a thread-based model of concurrency. If one applies such tools directly to an event-based program, they work poorly because they infer false dependencies between unrelated events handled sequentially by the same thread. Chun-Hung Hsiao, Cristiano Pereira, Jie Yu 0016, Gilles Pokam, Satish Narayanasamy, Peter M. Chen, Ziyun Kong, Jason Flinn |
PLDI | 3 |
| 2012 | Maple: a coverage-driven testing tool for multithreaded programsabstractTesting multithreaded programs is a hard problem, because it is challenging to expose those rare interleavings that can trigger a concurrency bug. We propose a new thread interleaving coverage-driven testing tool called Maple that seeks to expose untested thread interleavings as much as possible. It memoizes tested interleavings and actively seeks to expose untested interleavings for a given test input to increase interleaving coverage. We discuss several solutions to realize the above goal. First, we discuss a coverage metric based on a set of interleaving idioms. Second, we discuss an online technique to predict untested interleavings that can potentially be exposed for a given test input. Finally, the predicted untested interleavings are exposed by actively controlling the thread schedule while executing for the test input. We discuss our experiences in using the tool to expose several known and unknown bugs in real-world applications such as Apache and MySQL. Jie Yu 0016, Satish Narayanasamy, Cristiano Pereira, Gilles Pokam |
OOPSLA | 1 |
| 2011 | Dynamic Software Updating Using a Relaxed Consistency ModelabstractSoftware is inevitably subject to changes. There are patches and upgrades that close vulnerabilities, fix bugs, and evolve software with new features. Unfortunately, most traditional dynamic software updating approaches suffer some level of limitations; few of them can update multithreaded applications when involving data structure changes, while some of them lose binary compatibility or incur nonnegligible performance overhead. This paper presents POLUS, a software maintenance tool capable of iteratively evolving running unmodified multithreaded software into newer versions, yet with very low performance overhead. The main idea in POLUS is a relaxed consistency model that permits the concurrent activity of the old and new code. POLUS borrows the idea of cache-coherence protocol in computer architecture and uses a ”bidirectional write-through” synchronization protocol to ensure system consistency. To demonstrate the applicability of POLUS, we report our experience in using POLUS to dynamically update three prevalent server applications: vsftpd, sshd, and Apache HTTP server. Performance measurements show that POLUS incurs negligible runtime overhead on the three applications—a less than 1 percent performance degradation (but 5 percent for one case). The time to apply an update is also minimal. Haibo Chen 0001, Jie Yu 0016, Chengqun Hang, Binyu Zang, Pen-Chung Yew |
IEEE Trans. Software Eng. | 2 |
| 2010 | Tolerating Concurrency Bugs Using Transactions as LifeguardsabstractParallel programming is hard, because it is impractical to test all possible thread interleavings. One promising approach to improve a multi-threaded program's reliability is to constrain a production run's thread interleavings in such a way that untested interleavings are avoided as much as possible. Such an approach would avoid hard-to-test rare thread interleavings in production runs, and thereby improve correctness. However, a key challenge in realizing this goal is in determining thread interleaving constraints from the tested correct interleavings, and enforcing them efficiently in production runs. In this paper, we propose a new method to determine thread interleaving constraints from the tested interleavings in the form of lifeguard transactions (LifeTxes). An untested code region initially is contained in a single LifeTx. As the code region is tested over more thread interleavings, its original LifeTx is automatically split into multiple smaller LifeTxes so that the newly tested interleavings are permitted in production runs. To efficiently enforce LifeTx constraints in production runs, we propose a hardware design similar to the eager conflict detection capability that exist in a conventional hardware transactional memory (TM) systems, but without the need for versioning, rollback and unbounded TM support.We show that 11 out of 14 real concurrency bugs in programs like Apache, MySQL and Mozilla could be avoided using the proposed approach for a negligible performance overhead. Jie Yu 0016, Satish Narayanasamy |
MICRO | 1 |
| 2009 | A case for an interleaving constrained shared-memory multi-processorabstractShared-memory multi-threaded programming is inherently more difficult than single-threaded programming. The main source of complexity is that, the threads of an application can interleave in so many different ways. To ensure correctness, a programmer has to test all possible thread interleavings, which, however, is impractical. Many rare thread interleavings remain untested in production systems, and they are the root cause for a majority of concurrency bugs. We propose a shared-memory multiprocessor design that avoids untested interleavings to improve the correctness of a multi-threaded program. Since untested interleavings tend to occur infrequently at runtime, the performance cost of avoiding them is not high. We propose to encode the set of tested correct interleavings in a program’s binary executable using Predecessor Set (PSet) constraints. These constraints are efficiently enforced at runtime using processor support, which ensures that the runtime follows a tested interleaving. We analyze several bugs in open source applications such as MySQL, Apache, Mozilla, etc., and show that, by enforcing PSet constraints, we can avoid not only data races and atomicity violations, but also other forms of concurrency bugs. Jie Yu 0016, Satish Narayanasamy |
ISCA | 1 |
| 2007 | POLUS: A POwerful Live Updating SystemabstractThis paper presents POLUS, a software maintenance tool capable of iteratively evolving running software into newer versions. POLUS's primary goal is to increase the dependability of contemporary server software, which is frequently disrupted either by external attacks or by scheduled upgrades. To render POLUS both practical and powerful, we design and implement POLUS aiming to retain backward binary compatibility, support for multithreaded software and recover already tainted state of running software, yet with good usability and very low runtime overhead. To demonstrate the applicability of POLUS, we report our experience in using POLUS to dynamically update three prevalent server applications: vsftpd, sshd and apache HTTP server. Performance measurements show that POLUS incurs negligible runtime overhead: a less than 1% performance degradation (but 5% for one case). The time to apply an update is also minimal. Haibo Chen 0001, Jie Yu 0016, Rong Chen 0001, Binyu Zang, Pen-Chung Yew |
ICSE | 2 |