Lu Zhang 0035

dblp:82/10609-35 · DBLP profile ↗
← Back
4ranked-venue papers
4as first author
0since 2021 · last 2017
—ORCID · conflict

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

Software engineering, systems software and programming languages · 4 · 4 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
4 papers
Concurrent programming · 55% Debugging and program repair · 22% Program analysis · 16%
Network and information security
1 paper
Web and mobile security · 100%

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

TopicWeightPapersLastEvidence papers
Concurrent programming
concurrency bugs
0.522017
RClassify: classifying race conditions in web applications via deterministic replay · ICSE 2017
Runtime prevention of concurrency related type-state violations in multithreaded applications · ISSTA 2014
Concurrent programming
concurrency correctness
0.422015
Round-Up: Runtime Verification of Quasi Linearizability for Concurrent Data Structures · IEEE Trans. Software Eng. 2015
Round-up: Runtime checking quasi linearizability of concurrent data structures · ASE 2013
Concurrent programming › concurrency bugs
data race classification
0.312017
RClassify: classifying race conditions in web applications via deterministic replay · ICSE 2017
Debugging and program repair › record and replay
deterministic replay
0.312017
RClassify: classifying race conditions in web applications via deterministic replay · ICSE 2017
Debugging and program repair
fault localization
0.312017
RClassify: classifying race conditions in web applications via deterministic replay · ICSE 2017
Concurrent programming › concurrency bugs
race conditions
0.312017
RClassify: classifying race conditions in web applications via deterministic replay · ICSE 2017
Program analysis
dynamic analysis
0.212015
Round-Up: Runtime Verification of Quasi Linearizability for Concurrent Data Structures · IEEE Trans. Software Eng. 2015
Program verification › dynamic verification
runtime verification
0.212015
Round-Up: Runtime Verification of Quasi Linearizability for Concurrent Data Structures · IEEE Trans. Software Eng. 2015

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

dynamic analysis · 0.8deterministic replay · 0.6LLVM instrumentation · 0.4systematic concurrency testing · 0.2type-state automaton · 0.2static analysis · 0.2runtime checking · 0.2concurrency testing · 0.2
YearPublicationVenuePosition
2017 RClassify: classifying race conditions in web applications via deterministic replay
abstract
Race conditions are common in web applications but are difficult to diagnose and repair. Although there exist tools for detecting races in web applications, they all report a large number of false positives. That is, the races they report are either bogus, meaning they can never occur in practice, or benign, meaning they do not lead to erroneous behaviors. Since manually diagnosing them is tedious and error prone, reporting these race warnings to developers would be counter-productive. We propose a platform-agnostic, deterministic replay-based method for identifying not only the real but also the truly harmful race conditions. It relies on executing each pair of racing events in two different orders and assessing their impact on the program state: we say a race is harmful only if (1) both of the two executions arefeasible and (2) they lead to different program states. We have evaluated our evidence-based classification method on a large set of real websites from Fortune-500 companies and demonstrated that it significantly outperforms all state-of-the-art techniques.
Lu Zhang 0035, Chao Wang 0001
ICSE1
2015 Round-Up: Runtime Verification of Quasi Linearizability for Concurrent Data Structures
abstract
We propose a new method for runtime checking of a relaxed consistency property called quasi linearizability for concurrent data structures.Quasi linearizability generalizes the standard notion of linearizability by introducing nondeterminism into the parallel computations quantitatively and then exploiting such nondeterminism to improve the runtime performance. However, ensuring the quantitative aspects of this correctness condition in the low-level code of the concurrent data structure implementation is a difficult task.Our runtime verification method is the first fully automated method for checking quasi linearizability in the C/C++ code of concurrent data structures. It guarantees that all the reported quasi linearizability violations manifested by the concurrent executions are real violations. We have implemented our method in a software tool based on the LLVM compiler and a systematic concurrency testing tool called Inspect. Our experimental evaluation shows that the new method is effective in detecting quasi linearizability violations in the source code implementations of concurrent data structures.
Lu Zhang 0035, Arijit Chattopadhyay, Chao Wang 0001
IEEE Trans. Software Eng.1
2014 Runtime prevention of concurrency related type-state violations in multithreaded applications
abstract
We propose a new method for runtime prevention of type state violations in multithreaded applications due to erroneous thread interleavings. The new method employs a combination of static and dynamic program analysis techniques to control the execution order of the method calls to suppress illegal call sequences. The legal behavior of a shared object is specified by a type-state automaton, which serves as the guidance for our method to delay certain method calls at run time. Our main contribution is a new theoretical framework for ensuring that the runtime prevention strategy is always safe, i.e., they do not introduce new erroneous interleavings. Furthermore, whenever the static program analysis is precise enough, our method guarantees to steer the program to a failurefree interleaving as long as such interleaving exists. We have implemented the new method in a tool based on the LLVM compiler framework. Our experiments on a set of multithreaded C/C++ applications show that the method is both efficient and effective in suppressing concurrency related type-state violations.
Lu Zhang 0035, Chao Wang 0001
ISSTA1
2013 Round-up: Runtime checking quasi linearizability of concurrent data structures
abstract
We propose a new method for runtime checking of a relaxed consistency property called quasi linearizability for concurrent data structures. Quasi linearizability generalizes the standard notion of linearizability by intentionally introducing nondeterminism into the parallel computations and exploiting such nondeterminism to improve the performance. However, ensuring the quantitative aspects of this correctness condition in the low level code is a difficult task. Our method is the first fully automated method for checking quasi linearizability in the unmodified C/C++ code of concurrent data structures. It guarantees that all the reported quasi linearizability violations are real violations. We have implemented our method in a software tool based on LLVM and a concurrency testing tool called Inspect. Our experimental evaluation shows that the new method is effective in detecting quasi linearizability violations in the source code of concurrent data structures.
Lu Zhang 0035, Arijit Chattopadhyay, Chao Wang 0001
ASE1