Demo Data from EDBT 2026 / reviewers in the wild / expert
Vsevolod Livinskii
dblp:280/5565
· DBLP profile ↗
2ranked-venue papers
2as first author
1since 2021 · last 2023
0009-0005-4802-1702ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 2 · 2 first-author · 1 since 2021
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 · 71% Compilers and program optimization · 18% Program synthesis and code generation · 12% |
Topics — the 5 heaviest of 6, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Software testing › fuzzing › system software fuzzing
compiler fuzzing |
1.1 | 2 | 2023 | Fuzzing Loop Optimizations in Compilers for C++ and Data-Parallel Languages · Proc. ACM Program. Lang. 2023 Random testing for C and C++ compilers with YARPGen · Proc. ACM Program. Lang. 2020 |
Software testing
compiler testing |
1.1 | 2 | 2023 | Fuzzing Loop Optimizations in Compilers for C++ and Data-Parallel Languages · Proc. ACM Program. Lang. 2023 Random testing for C and C++ compilers with YARPGen · Proc. ACM Program. Lang. 2020 |
Compilers and program optimization
loop optimization |
0.7 | 1 | 2023 | Fuzzing Loop Optimizations in Compilers for C++ and Data-Parallel Languages · Proc. ACM Program. Lang. 2023 |
Software testing
fuzzing |
0.4 | 1 | 2020 | Random testing for C and C++ compilers with YARPGen · Proc. ACM Program. Lang. 2020 |
Program synthesis and code generation
random program generation |
0.4 | 1 | 2020 | Random testing for C and C++ compilers with YARPGen · Proc. ACM Program. Lang. 2020 |
Methods — techniques the papers use, named apart from their topics
static undefined-behavior avoidance · 0.7random program generation · 0.7random testing · 0.4
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2023 | Fuzzing Loop Optimizations in Compilers for C++ and Data-Parallel LanguagesabstractCompilers are part of the foundation upon which software systems are built; they need to be as correct as possible. This paper is about stress-testing loop optimizers; it presents a major reimplementation of Yet Another Random Program Generator (YARPGen), an open-source generative compiler fuzzer. This new version has found 122 bugs, both in compilers for data-parallel languages, such as the Intel® Implicit SPMD Program Compiler and the Intel® oneAPI DPC++ compiler, and in C++ compilers such as GCC and Clang/LLVM. The first main contribution of our work is a novel method for statically avoiding undefined behavior when generating loops; the resulting programs conform to the relevant language standard, enabling automated testing. The second main contribution is a collection of mechanisms for increasing the diversity of generated loop code; in our evaluation, we demonstrate that these make it possible to trigger loop optimizations significantly more often, providing opportunities to discover bugs in the optimizers. Vsevolod Livinskii, Dmitry Babokin, John Regehr |
Proc. ACM Program. Lang. | 1 |
| 2020 | Random testing for C and C++ compilers with YARPGenabstractCompilers should not crash and they should not miscompile applications. Random testing is an effective method for finding compiler bugs that have escaped other kinds of testing. This paper presents Yet Another Random Program Generator (YARPGen), a random test-case generator for C and C++ that we used to find and report more than 220 bugs in GCC, LLVM, and the Intel® C++ Compiler. Our research contributions include a method for generating expressive programs that avoid undefined behavior without using dynamic checks, and generation policies, a mechanism for increasing diversity of generated code and for triggering more optimizations. Generation policies decrease the testing time to find hard-to-trigger compiler bugs and, for the kinds of scalar optimizations YARPGen was designed to stress-test, increase the number of times these optimizations are applied by the compiler by an average of 20% for LLVM and 40% for GCC. We also created tools for automating most of the common tasks related to compiler fuzzing; these tools are also useful for fuzzers other than ours. Vsevolod Livinskii, Dmitry Babokin, John Regehr |
Proc. ACM Program. Lang. | 1 |