Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Wenbin Zhang 0005

dblp:35/4073-5 · DBLP profile ↗
← Back
5ranked-venue papers
0as first author
0since 2021 · last 2013
—ORCID · conflict

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 4Security and privacy · 1Software engineering, systems software and programming languages · 1

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
4 papers
Program analysis · 46% Concurrent programming · 33% Software maintenance and evolution · 11%
Computer architecture, parallel and distributed computing, and storage systems
2 papers
High-performance computing · 60% Parallel and multicore computing · 40%
Network and information security
1 paper
Systems and software security · 100%

Topics — the 8 heaviest of 11, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Program analysis
dynamic analysis
0.222011
2ndStrike: toward manifesting hidden concurrency typestate bugs · ASPLOS 2011
FlowChecker: Detecting Bugs in MPI Libraries via Message Flow Checking · SC 2010
Program analysis › static analysis
bug detection
0.212013
Improving the Reliability of MPI Libraries via Message Flow Checking · IEEE Trans. Parallel Distributed Syst. 2013
Concurrent programming
concurrency bugs
0.112011
2ndStrike: toward manifesting hidden concurrency typestate bugs · ASPLOS 2011
Concurrent programming
concurrency bug detection
0.112011
2ndStrike: toward manifesting hidden concurrency typestate bugs · ASPLOS 2011
Systems and software security
memory safety
0.112009
First-aid: surviving and preventing memory management bugs during production runs · EuroSys 2009
Software maintenance and evolution › dynamic software updating
runtime patching
0.112009
First-aid: surviving and preventing memory management bugs during production runs · EuroSys 2009
Concurrent programming › concurrency bugs
data races
0.012011
2ndStrike: toward manifesting hidden concurrency typestate bugs · ASPLOS 2011
Debugging and program repair
fault localization
0.012010
FlowChecker: Detecting Bugs in MPI Libraries via Message Flow Checking · SC 2010

Methods — techniques the papers use, named apart from their topics

program intention extraction · 0.3message flow tracking · 0.3message flow checking · 0.2intention extraction · 0.2runtime patching · 0.2checkpoint rollback · 0.2typestate analysis · 0.1
YearPublicationVenuePosition
2013 Improving the Reliability of MPI Libraries via Message Flow Checking
abstract
Despite the success of the Message Passing Interface (MPI), many MPI libraries have suffered from software bugs. These bugs severely impact the productivity of a large number of users, causing program failures or other errors. As a result, MPI application developers often have to spend days or weeks in vain debugging their own code. To address this daunting problem, this paper presents a new method called FlowChecker, which detects communication related bugs in MPI libraries. First, FlowChecker extracts program intentions of message passing (MP-intentions), which specify messages to be delivered from the sources to the destinations. Then FlowChecker tracks the message flows that actually occur in the underlying MPI libraries. Finally, FlowChecker checks whether the messages are correctly delivered from the sources to the destinations by comparing the message flows against the MP-intentions. If a mismatch is found, FlowChecker reports a bug and provides diagnostic information to help MPI library developers to understand and fix it. We have built a FlowChecker prototype on Linux and evaluated it with five real-world and two injected bug cases in three widely used MPI libraries, including Open MPI, MPICH2, and MVAPICH2. Our experimental results show that FlowChecker effectively detects all seven evaluated bug cases. Additionally, it provides useful diagnostic information for narrowing down or even pinpointing root causes of the bugs. Moreover, our experiments with High Performance Linpack and NAS Parallel Benchmarks show that FlowChecker induces low runtime overhead (0.9-5.6 percent on Open MPI, 0.9-8.1 percent on MPICH2, and 1.6-9.7 percent on MVAPICH2).
Zhezhe Chen, Qi Gao 0004, Wenbin Zhang 0005
IEEE Trans. Parallel Distributed Syst.3
2012 JSGuard: Shellcode Detection in JavaScript
Boxuan Gu, Wenbin Zhang 0005, Xiaole Bai, Adam C. Champion, Dong Xuan
SecureComm2
2011 2ndStrike: toward manifesting hidden concurrency typestate bugs
abstract
Concurrency bugs are becoming increasingly prevalent in the multi-core era. Recently, much research has focused on data races and atomicity violation bugs, which are related to low-level memory accesses. However, a large number of concurrency typestate bugs such as "invalid reads to a closed file from a different thread" are under-studied. These concurrency typestate bugs are important yet challenging to study since they are mostly relevant to high-level program semantics.
Qi Gao 0004, Wenbin Zhang 0005, Zhezhe Chen, Mai Zheng
ASPLOS2
2010 FlowChecker: Detecting Bugs in MPI Libraries via Message Flow Checking
abstract
Many MPI libraries have suffered from software bugs, which severely impact the productivity of a large number of users. This paper presents a new method called FlowChecker for detecting communication-related bugs inMPI libraries. The main idea is to extract program intentions of message passing (MPintentions), and to check whether theseMP-intentions are fulfilled correctly by the underlying MPI libraries, i.e., whether messages are delivered correctly from specified sources to specified destinations. If not, FlowChecker reports the bugs and provides diagnostic information. We have built a FlowChecker prototype on Linux and evaluated it with five real-world bug cases in three widely-used MPI libraries, including Open MPI, MPICH2, and MVAPICH2. Our experimental results show that FlowChecker effectively detects all five evaluated bug cases and provides useful diagnostic information. Additionally, our experiments with HPL and NPB show that FlowChecker incurs low runtime overhead (0.9-9.7% on three MPI libraries).
Zhezhe Chen, Qi Gao 0004, Wenbin Zhang 0005
SC3
2009 First-aid: surviving and preventing memory management bugs during production runs
abstract
Memory bugs in C/C++ programs severely affect system availability and security. This paper presents First-Aid, a lightweight runtime system that survives software failures caused by common memory management bugs and prevents future failures by the same bugs during production runs. Upon a failure, First-Aid diagnoses the bug type and identifies the memory objects that trigger the bug. To do so, it rolls back the programto previous checkpoints and uses two types of environmental changes that can prevent or expose memory bug manifestation during re-execution. Based on the diagnosis, First-Aid generates and applies runtime patches to avoid the memory bug and prevent its reoccurrence. Furthermore, First-Aid validates the consistent effects of the runtime patches and generates on-site diagnostic reports to assist developers in fixing the bugs.
Qi Gao 0004, Wenbin Zhang 0005
EuroSys2