EDBT 2026 Demo / reviewers in the wild / expert
Dongdi Zhang
dblp:225/0304
· DBLP profile ↗
3ranked-venue papers
0as first author
0since 2021 · last 2020
0000-0002-2715-8591ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 3
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
2 papers |
Software testing · 48% Debugging and program repair · 24% Requirements engineering and software design · 16% |
Topics — the 7 heaviest of 7, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Software testing › deep learning testing
deep learning library testing |
0.4 | 1 | 2020 | Deep learning library testing via effective model generation · ESEC/SIGSOFT FSE 2020 |
Requirements engineering and software design › model-driven engineering
model generation |
0.4 | 1 | 2020 | Deep learning library testing via effective model generation · ESEC/SIGSOFT FSE 2020 |
Software testing
mutation testing |
0.4 | 1 | 2020 | Deep learning library testing via effective model generation · ESEC/SIGSOFT FSE 2020 |
Software testing
test generation |
0.4 | 1 | 2020 | Deep learning library testing via effective model generation · ESEC/SIGSOFT FSE 2020 |
Debugging and program repair
automated program repair |
0.3 | 1 | 2018 | PFix: fixing concurrency bugs based on memory access patterns · ASE 2018 |
Concurrent programming
concurrency bugs |
0.3 | 1 | 2018 | PFix: fixing concurrency bugs based on memory access patterns · ASE 2018 |
Debugging and program repair › automated program repair
concurrency bug fixing |
0.3 | 1 | 2018 | PFix: fixing concurrency bugs based on memory access patterns · ASE 2018 |
Methods — techniques the papers use, named apart from their topics
mutation rules · 0.4heuristic search · 0.4memory access pattern inference · 0.3locking policy inference · 0.3
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2020 | Deep learning library testing via effective model generationabstractDeep learning (DL) techniques are rapidly developed and have been widely adopted in practice. However, similar to traditional software systems, DL systems also contain bugs, which could cause serious impacts especially in safety-critical domains. Recently, many research approaches have focused on testing DL models, while little attention has been paid for testing DL libraries, which is the basis of building DL models and directly affects the behavior of DL systems. In this work, we propose a novel approach, LEMON, to testing DL libraries. In particular, we (1) design a series of mutation rules for DL models, with the purpose of exploring different invoking sequences of library code and hard-to-trigger behaviors; and (2) propose a heuristic strategy to guide the model generation process towards the direction of amplifying the inconsistent degrees of the inconsistencies between different DL libraries caused by bugs, so as to mitigate the impact of potential noise introduced by uncertain factors in DL libraries. We conducted an empirical study to evaluate the effectiveness of LEMON with 20 release versions of 4 widely-used DL libraries, i.e., TensorFlow, Theano, CNTK, MXNet. The results demonstrate that LEMON detected 24 new bugs in the latest release versions of these libraries, where 7 bugs have been confirmed and one bug has been fixed by developers. Besides, the results confirm that the heuristic strategy for model generation indeed effectively guides LEMON in amplifying the inconsistent degrees for bugs. Ming Yan 0010, Junjie Chen 0003, Shuang Liu 0007, Dongdi Zhang |
ESEC/SIGSOFT FSE | 5 |
| 2019 | Adaptive Randomized Scheduling for Concurrency Bug DetectionabstractMulti-threaded programs often exhibit erroneous behaviours due to unintended interactions among threads. Those bugs are often difficult to find because they typically manifest under very specific thread schedules. The traditional randomized algorithms increase the probability of exploring infrequent interleavings using randomized scheduling and improve the chances of detecting concurrency defects. However, they may generate many redundant trials, especially for those hard-to-detect defects, and thus their performance is often not stable. In this work, we propose an adaptive randomized scheduling algorithm~(ARS), which adaptively explores the search space and detects concurrency bugs more efficiently with less efforts. We compare ARS with random searching and the state-of-the-art maximal causality reduction method on 27 concurrent Java programs. The evaluation results show that ARS shows a more stable performance in terms of effectiveness in detecting multi-threaded bugs. Particularly, ARS shows a good potential in detecting hard-to-expose bugs. Dongdi Zhang, Shuang Liu 0007, Jun Sun 0001, Yingquan Zhao |
ICECCS | 2 |
| 2018 | PFix: fixing concurrency bugs based on memory access patternsabstractConcurrency bugs of a multi-threaded program may only manifest with certain scheduling, i.e., they are heisenbugs which are observed only from time to time if we execute the same program with the same input multiple times. They are notoriously hard to fix. In this work, we propose an approach to automatically fix concurrency bugs. Compared to previous approaches, our key idea is to systematically fix concurrency bugs by inferring locking policies from failure inducing memory-access patterns. That is, we automatically identify memory-access patterns which are correlated with the manifestation of the bug, and then conjecture what is the intended locking policy of the program. Afterwards, we fix the program by implementing the locking policy so that the failure inducing memory-access patterns are made impossible. We have implemented our approach in a toolkit called PFix which supports Java programs. We applied PFix to a set of 23 concurrency bugs and are able to automatically fix 19 of them. In comparison, Grail which is the state-of-the-art tool for fixing concurrency bugs in Java programs can only fix 3 of them correctly. Huarui Lin, Shuang Liu 0007, Jun Sun 0001, Dongdi Zhang, Guangning Wei |
ASE | 5 |