VLDB 2026 Research / reviewers in the wild / expert
Daniel DeFreez
dblp:215/4842
· DBLP profile ↗
6ranked-venue papers
5as first author
2since 2021 · last 2025
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 3 · 3 first-authorSystems, architecture and hardware · 1 · 1 first-authorHuman-computer interaction and ubiquitous computing · 1 · 1 since 2021Applied, interdisciplinary, general and emerging computing · 1 · 1 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
4 papers |
Program analysis · 75% Debugging and program repair · 14% Software maintenance and evolution · 11% | |
| Computer architecture, parallel and distributed computing, and storage systems
1 paper |
Parallel and multicore computing · 100% | |
| Network and information security
2 papers |
Systems and software security · 100% | |
| Databases, data mining, and information retrieval
1 paper |
Data mining · 50% Graph data management · 50% |
Topics — the 9 heaviest of 9, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program analysis
static analysis |
1.5 | 4 | 2020 | Detecting and reproducing error-code propagation bugs in MPI implementations · PPoPP 2020 Effective error-specification inference via domain-knowledge expansion · ESEC/SIGSOFT FSE 2019 Path-based function embedding and its application to error-handling specification mining · ESEC/SIGSOFT FSE 2018 |
Debugging and program repair
automated program repair |
0.4 | 1 | 2020 | Detecting and reproducing error-code propagation bugs in MPI implementations · PPoPP 2020 |
Program analysis › static analysis
bug detection |
0.4 | 1 | 2020 | Detecting and reproducing error-code propagation bugs in MPI implementations · PPoPP 2020 |
Parallel and multicore computing
MPI |
0.4 | 1 | 2020 | Detecting and reproducing error-code propagation bugs in MPI implementations · PPoPP 2020 |
Program analysis › specification mining
error specification inference |
0.4 | 1 | 2019 | Effective error-specification inference via domain-knowledge expansion · ESEC/SIGSOFT FSE 2019 |
Software maintenance and evolution
program comprehension |
0.3 | 1 | 2018 | Path-based function embedding and its application to error-handling specification mining · ESEC/SIGSOFT FSE 2018 |
Systems and software security › software vulnerability
error handling bugs |
0.2 | 2 | 2019 | Effective error-specification inference via domain-knowledge expansion · ESEC/SIGSOFT FSE 2019 Mining error-handling specifications for systems software · ESEC/SIGSOFT FSE 2018 |
Graph data management
graph embedding |
0.1 | 1 | 2018 | Path-based function embedding and its application to error-handling specification mining · ESEC/SIGSOFT FSE 2018 |
Data mining
representation learning |
0.1 | 1 | 2018 | Path-based function embedding and its application to error-handling specification mining · ESEC/SIGSOFT FSE 2018 |
Methods — techniques the papers use, named apart from their topics
fault injection · 0.9intraprocedural flow-sensitive analysis · 0.8interprocedural context-insensitive analysis · 0.8random walk · 0.7neural network · 0.7interprocedural control-flow graph · 0.3interprocedural control flow graph · 0.3
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | The Wizard in the Town Plaza: Voice-Based Interactive Storytelling in Public Spaces
Daniel DeFreez, Jackson Harrower, Travis Wood, Cynthia Salbato |
ICCC | 1 |
| 2023 | Transpiling Nand2Tetris to VHDL for Teaching Digital LogicabstractNand2Tetris is a popular introduction to digital logic and computer organization that uses a simplified hardware description language (HDL) to program a hardware simulator. The stripped-down HDL allows students to focus on concepts over ceremony, but does not support running designs on real, physical devices such as FPGAs. In contrast, designs written in an industrial-strength language such as VHDL or Verilog can be run on FPGAs, but are burdened with a significant learning curve. WHiDL is a source-to-source compiler that translates Nand2Tetris HDL to VHDL. The conversion to VHDL allows HDL programs to be run on an FPGA while retaining the simplicity of the original HDL. Noah Mogensen, Daniel DeFreez |
ITiCSE (2) | 2 |
| 2020 | Detecting and reproducing error-code propagation bugs in MPI implementationsabstractWe present an approach to automatically detect and reproduce error code propagation bugs in MPI implementations. Specifically, we combine static analysis and program repair for bug detection, and apply fault injection to reproduce error propagation bugs found in MPI libraries written in C. We demonstrate our approach on the MPICH library, one of the most popular implementations of MPI, and the MPICH-based implementation MVAPICH, uncovering 447 previously unknown bugs. We discovered that 31 of these bugs result in program crashes, and 60% of the MPICH test suite is susceptible to crashing due to failures to propagate error codes. Moreover, 95 bugs produce undesirable behavior that has been confirmed dynamically, causing tests to fail, hanging processes, or simply dropping error codes before reaching user applications. Daniel DeFreez, Antara Bhowmick, Ignacio Laguna, Cindy Rubio-González |
PPoPP | 1 |
| 2019 | Effective error-specification inference via domain-knowledge expansionabstractError-handling code responds to the occurrence of runtime errors. Failure to correctly handle errors can lead to security vulnerabilities and data loss. This paper deals with error handling in software written in C that uses the return-code idiom: the presence and type of error is encoded in the return value of a function. This paper describes EESI, a static analysis that infers the set of values that a function can return on error. Such a function error-specification can then be used to identify bugs related to incorrect error handling. The key insight of EESI is to bootstrap the analysis with domain knowledge related to error handling provided by a developer. EESI uses a combination of intraprocedural, flow-sensitive analysis and interprocedural, context-insensitive analysis to ensure precision and scalability. We built a tool ECC to demonstrate how the function error-specifications inferred by EESI can be used to automatically find bugs related to incorrect error handling. ECC detected 246 bugs across 9 programs, of which 110 have been confirmed. ECC detected 220 previously unknown bugs, of which 99 are confirmed. Two patches have already been merged into OpenSSL. Daniel DeFreez, Haaken Martinson Baldwin, Cindy Rubio-González, Aditya V. Thakur |
ESEC/SIGSOFT FSE | 1 |
| 2018 | Mining error-handling specifications for systems softwareabstractThis paper presents a technique for mining error-handling specifications from systems software. It presents a static analysis for detecting error handlers in low-level code, and it shows how function synonyms can be used to mine for error-handling specifications with only a few supporting examples. Daniel DeFreez |
ESEC/SIGSOFT FSE | 1 |
| 2018 | Path-based function embedding and its application to error-handling specification miningabstractIdentifying relationships among program elements is useful for program understanding, debugging, and analysis. One such kind of relationship is synonymy. Function synonyms are functions that play a similar role in code; examples include functions that perform initialization for different device drivers, and functions that implement different symmetric-key encryption schemes. Function synonyms are not necessarily semantically equivalent and can be syntactically dissimilar; consequently, approaches for identifying code clones or functional equivalence cannot be used to identify them. This paper presents Func2 vec , a technique that learns an embedding mapping each function to a vector in a continuous vector space such that vectors for function synonyms are in close proximity. We compute the function embedding by training a neural network on sentences generated using random walks over the interprocedural control-flow graph. We show the effectiveness of Func2 vec at identifying function synonyms in the Linux kernel. Finally, we apply Func2 vec to the problem of mining error-handling specifications in Linux file systems and drivers. We show that the function synonyms identified by Func2 vec result in error-handling specifications with high support. Daniel DeFreez, Aditya V. Thakur, Cindy Rubio-González |
ESEC/SIGSOFT FSE | 1 |