VLDB 2026 Research / reviewers in the wild / expert
Junqi Yan
dblp:93/3373
· DBLP profile ↗
3ranked-venue papers
0as first author
2since 2021 · last 2023
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 3 · 2 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2023 | A Source-Level Instrumentation Framework for the Dynamic Analysis of Memory SafetyabstractLow-level control makes C unsafe, resulting in memory errors that can lead to data corruption, security vulnerabilities or program crashes. Dynamic analysis tools, which have been widely used for detecting memory errors at runtime, usually perform instrumentation at the IR or binary level. However, these non-source-level instrumentation frameworks and tools suffer from two inherent drawbacks: optimization sensitivity and platform dependence. Due to optimization sensitivity, the user of these tools must trade either performance for effectiveness by compiling the program at-O0or effectiveness for performance by compiling the program at a higher optimization level, say,-O3. In this paper, we propose a new source-level instrumentation framework to overcome these two drawbacks, and implement it in a new dynamic analysis tool, calledMovec, that adopts a pointer-based monitoring algorithm. We have evaluatedMoveccomprehensively by using the NIST's SARD benchmark suite (1152 programs), a set of 126 microbenchmarks (with ground truth), a set of 20 MiBench benchmarks and 5 pure-C SPEC CPU 2017 benchmarks. In terms of effectiveness,Movecoutperforms three state-of-the-art dynamic analysis tools, AddressSanitizer, SoftBoundCETS and Valgrind, for all the standard optimization levels (from-O0to-O3). In terms of performance,Movecoutperforms SoftBoundCETS and Valgrind, and is slower than AddressSanitizer but consumes less memory. Zhe Chen 0011, Junqi Yan, Jingling Xue |
IEEE Trans. Software Eng. | 4 |
| 2021 | Runtime detection of memory errors with smart statusabstractC is a dominant language for implementing system software. Unfortunately, its support for low-level control of memory often leads to memory errors. Dynamic analysis tools, which have been widely used for detecting memory errors at runtime, are not yet satisfactory as they cannot deterministically and completely detect some types of memory errors, e.g., segment confusion errors, sub-object overflows, use-after-frees, and memory leaks. Zhe Chen 0011, Junqi Yan, Yulei Sui, Jingling Xue |
ISSTA | 3 |
| 2019 | Detecting memory errors at runtime with source-level instrumentationabstractThe unsafe language features of C, such as low-level control of memory, often lead to memory errors, which can result in silent data corruption, security vulnerabilities, and program crashes. Dynamic analysis tools, which have been widely used for detecting memory errors at runtime, usually perform instrumentation at the IR-level or binary-level. However, their underlying non-source-level instrumentation techniques have three inherent limitations: optimization sensitivity, platform dependence and DO-178C non-compliance. Due to optimization sensitivity, these tools are used to trade either performance for effectiveness by compiling the program at -O0 or effectiveness for performance by compiling the program at a higher optimization level, say, -O3. Zhe Chen 0011, Junqi Yan, Shuanglong Kan, Ju Qian, Jingling Xue |
ISSTA | 2 |