Demo Data from VLDB 2026 / reviewers in the wild / expert
David Melski
dblp:97/6582
· DBLP profile ↗
12ranked-venue papers
4as first author
0since 2021 · last 2019
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 9 · 3 first-authorSecurity and privacy · 2Theory of computation · 2 · 1 first-authorArtificial intelligence and machine learning · 1
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.
| Network and information security
3 papers |
Systems and software security · 100% | |
| Software engineering, system software, and programming languages
4 papers |
Program analysis · 76% Program synthesis and code generation · 24% | |
| Theoretical computer science
1 paper |
Automated reasoning and model checking · 100% |
Topics — the 9 heaviest of 9, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Systems and software security
memory safety |
0.3 | 2 | 2015 | Data-Delineation in Software Binaries and its Application to Buffer-Overrun Discovery · ICSE (1) 2015 Exploiting and Protecting Dynamic Code Generation · NDSS 2015 |
Systems and software security › memory safety › memory error detection
buffer overflow detection |
0.3 | 2 | 2015 | Data-Delineation in Software Binaries and its Application to Buffer-Overrun Discovery · ICSE (1) 2015 Buffer overrun detection using linear programming and static analysis · CCS 2003 |
Program analysis
static analysis |
0.3 | 2 | 2015 | Data-Delineation in Software Binaries and its Application to Buffer-Overrun Discovery · ICSE (1) 2015 Buffer overrun detection using linear programming and static analysis · CCS 2003 |
Systems and software security › secure software development
code generation security |
0.2 | 1 | 2015 | Exploiting and Protecting Dynamic Code Generation · NDSS 2015 |
Program synthesis and code generation › search-based program synthesis
enumerative synthesis |
0.1 | 1 | 2018 | Program splicing · ICSE 2018 |
Program analysis
binary analysis |
0.1 | 1 | 2005 | Model Checking x86 Executables with CodeSurfer/x86 and WPDS++ · CAV 2005 |
Automated reasoning and model checking › model checking
software model checking |
0.1 | 1 | 2005 | Model Checking x86 Executables with CodeSurfer/x86 and WPDS++ · CAV 2005 |
Systems and software security › vulnerability discovery
static analysis |
0.0 | 1 | 2003 | Buffer overrun detection using linear programming and static analysis · CCS 2003 |
Systems and software security
vulnerability discovery |
0.0 | 1 | 2003 | Buffer overrun detection using linear programming and static analysis · CCS 2003 |
Methods — techniques the papers use, named apart from their topics
heuristic static analysis · 0.4DWARF debugging information · 0.4program synthesis · 0.3enumerative search · 0.3weighted pushdown system · 0.1linear programming · 0.1context-sensitive analysis · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2019 | Automated Customized Bug-Benchmark GenerationabstractWe introduce Bug-Injector, a system that automatically creates benchmarks for customized evaluation of static analysis tools. We share a benchmark generated using Bug-Injector and illustrate its efficacy by using it to evaluate the recall of two leading open-source static analysis tools: Clang Static Analyzer and Infer. Bug-Injector works by inserting bugs based on bug templates into real-world host programs. It runs tests on the host program to collect dynamic traces, searches the traces for a point where the state satisfies the preconditions for some bug template, then modifies the host program to "inject" a bug based on that template. Injected bugs are used as test cases in a static analysis tool evaluation benchmark. Every test case is accompanied by a program input that exercises the injected bug. We have identified a broad range of requirements and desiderata for bug benchmarks; our approach generates on-demand test benchmarks that meet these requirements. It also allows us to create customized benchmarks suitable for evaluating tools for a specific use case (e.g., a given codebase and set of bug types). Our experimental evaluation demonstrates the suitability of our generated benchmark for evaluating static bug-detection tools and for comparing the performance of different tools. Vineeth Kashyap, Jason Ruchti, Lucja Kot, Emma Turetsky, Rebecca Swords, Shih An Pan, Julien Henry, David Melski, Eric M. Schulte |
SCAM | 8 |
| 2018 | Program splicingabstractWe introduce program splicing, a programming methodology that aims to automate the workflow of copying, pasting, and modifying code available online. Here, the programmer starts by writing a "draft" that mixes unfinished code, natural language comments, and correctness requirements. A program synthesizer that interacts with a large, searchable database of program snippets is used to automatically complete the draft into a program that meets the requirements. The synthesis process happens in two stages. First, the synthesizer identifies a small number of programs in the database that are relevant to the synthesis task. Next it uses an enumerative search to systematically fill the draft with expressions and statements from these relevant programs. The resulting program is returned to the programmer, who can modify it and possibly invoke additional rounds of synthesis. Yanxin Lu, Swarat Chaudhuri, Chris Jermaine, David Melski |
ICSE | 4 |
| 2017 | MuSynth: Program Synthesis via Code Reuse and Code Manipulation
Vineeth Kashyap, Rebecca Swords, Eric M. Schulte, David Melski |
SSBSE | 4 |
| 2015 | Data-Delineation in Software Binaries and its Application to Buffer-Overrun DiscoveryabstractDetecting memory-safety violations in binaries is complicated by the lack of knowledge of the intended data layout, i.e., the locations and sizes of objects. We present lightweight, static, heuristic analyses for recovering the intended layout of data in a stripped binary. Comparison against DWARF debugging information shows high precision and recall rates for inferring source-level object boundaries. On a collection of benchmarks, our analysis eliminates a third to a half of incorrect object boundaries identified by an IDA Pro-inspired heuristic, while retaining nearly all valid object boundaries. In addition to measuring their accuracy directly, we evaluate the effect of using the recovered data for improving the precision of static buffer-overrun detection in the defect-detection tool CodeSonar/x86. We demonstrate that CodeSonar's false-positive rate drops by about 80% across our internal evaluation suite for the tool, while our approximation of CodeSonar's recall only degrades about 25%. Denis Gopan, Evan Driscoll, Ducson Nguyen, Dimitri Naydich, Alexey Loginov, David Melski |
ICSE (1) | 6 |
| 2015 | Exploiting and Protecting Dynamic Code Generation
Chengyu Song, Chao Zhang 0008, Tielei Wang, Wenke Lee, David Melski |
NDSS | 5 |
| 2005 | Model Checking x86 Executables with CodeSurfer/x86 and WPDS++
Gogul Balakrishnan, Thomas W. Reps, Nicholas Kidd, Akash Lal, Junghee Lim, David Melski, Radu Gruian, Suan Hsi Yong, Tim Teitelbaum |
CAV | 6 |
| 2005 | Weighted pushdown systems and their application to interprocedural dataflow analysis
Thomas W. Reps, Stefan Schwoon, Somesh Jha, David Melski |
Sci. Comput. Program. | 4 |
| 2003 | The Interprocedural Express-Lane Transformation
David Melski, Thomas W. Reps |
CC | 1 |
| 2003 | Buffer overrun detection using linear programming and static analysisabstractThis paper addresses the issue of identifying buffer overrun vulnerabilities by statically analyzing C source code. We demonstrate a light-weight analysis based on modeling C string manipulations as a linear program. We also present fast, scalable solvers based on linear programming, and demonstrate techniques to make the program analysis context sensitive. Based on these techniques, we built a prototype and used it to identify several vulnerabilities in popular security critical applications. Vinod Ganapathy, Somesh Jha, David Chandler, David Melski, David Vitek |
CCS | 4 |
| 2000 | Interconvertibility of a class of set constraints and context-free-language reachability
David Melski, Thomas W. Reps |
Theor. Comput. Sci. | 1 |
| 1999 | Interprocedural Path Profiling
David Melski, Thomas W. Reps |
CC | 1 |
| 1997 | Interconveritibility of Set Constraints and Context-Free Language ReachabilityabstractWe show the interconvertibility of context-free-language reachability problems and a class of set-constraint problems: given a context-free-language reachability problem, we show how to construct a set-constraint problem whose answer gives a solution to the reachability problem; given a set-constraint problem, we show how to construct a context-free-language reachability problem whose answer gives a solution to the set-constraint problem. The interconvertibility of these two formalisms offers an conceptual advantage akin to the advantage gained from the interconvertibility of finite-state automata and regular expressions in formal language theory, namely, a problem can be formulated in whichever formalism is most natural. It also offers some insight into the "O(n3) bottleneck" for different types of program-analysis problems, and allows results previously obtained for context-free-language reachability problems to be applied to set-constraint problems. David Melski, Thomas W. Reps |
PEPM | 1 |