Demo Data from VLDB 2026 / reviewers in the wild / expert
Tim King 0001
dblp:79/1695-1
· DBLP profile ↗
11ranked-venue papers
2as 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 · 10 · 2 first-authorTheory of computation · 6 · 2 first-author
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 · 76% Programming languages and type systems · 19% Debugging and program repair · 6% | |
| Network and information security
1 paper |
Systems and software security · 100% | |
| Theoretical computer science
2 papers |
Automated reasoning and model checking · 100% |
Topics — the 7 heaviest of 7, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Systems and software security › vulnerability discovery
fuzzing |
0.4 | 1 | 2019 | FUDGE: fuzz driver generation at scale · ESEC/SIGSOFT FSE 2019 |
Systems and software security
vulnerability discovery |
0.4 | 1 | 2019 | FUDGE: fuzz driver generation at scale · ESEC/SIGSOFT FSE 2019 |
Software testing › fuzzing
fuzz driver generation |
0.4 | 1 | 2019 | FUDGE: fuzz driver generation at scale · ESEC/SIGSOFT FSE 2019 |
Software testing
fuzzing |
0.4 | 1 | 2019 | FUDGE: fuzz driver generation at scale · ESEC/SIGSOFT FSE 2019 |
Automated reasoning and model checking
satisfiability modulo theories |
0.3 | 2 | 2015 | Deciding Local Theory Extensions via E-matching · CAV (2) 2015 CVC4 · CAV 2011 |
Programming languages and type systems › type checking
type error localization |
0.2 | 1 | 2014 | Finding minimum type error sources · OOPSLA 2014 |
Debugging and program repair
fault localization |
0.1 | 1 | 2014 | Finding minimum type error sources · OOPSLA 2014 |
Methods — techniques the papers use, named apart from their topics
e-matching · 0.2maximum satisfiability modulo theories · 0.2SMT · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2019 | FUDGE: fuzz driver generation at scaleabstractAt Google we have found tens of thousands of security and robustness bugs by fuzzing C and C++ libraries. To fuzz a library, a fuzzer requires a fuzz driver—which exercises some library code—to which it can pass inputs. Unfortunately, writing fuzz drivers remains a primarily manual exercise, a major hindrance to the widespread adoption of fuzzing. In this paper, we address this major hindrance by introducing the Fudge system for automated fuzz driver generation. Fudge automatically generates fuzz driver candidates for libraries based on existing client code. We have used Fudge to generate thousands of new drivers for a wide variety of libraries. Each generated driver includes a synthesized C/C++ program and a corresponding build script, and is automatically analyzed for quality. Developers have integrated over 200 of these generated drivers into continuous fuzzing services and have committed to address reported security bugs. Further, several of these fuzz drivers have been upstreamed to open source projects and integrated into the OSS-Fuzz fuzzing infrastructure. Running these fuzz drivers has resulted in over 150 bug fixes, including the elimination of numerous exploitable security vulnerabilities. Domagoj Babic, Stefan Bucur, Franjo Ivancic, Tim King 0001, Markus Kusano, Caroline Lemieux, Laszlo Szekeres |
ESEC/SIGSOFT FSE | 5 |
| 2017 | Solving quantified linear arithmetic by counterexample-guided instantiation
Andrew Reynolds 0001, Tim King 0001, Viktor Kuncak |
Formal Methods Syst. Des. | 2 |
| 2016 | A Decision Procedure for Separation Logic in SMT
Andrew Reynolds 0001, Radu Iosif, Cristina Serban, Tim King 0001 |
ATVA | 4 |
| 2016 | Polyhedral Approximation of Multivariate Polynomials Using Handelman's Theorem
Alexandre Maréchal, Alexis Fouilhé, Tim King 0001, David Monniaux, Michaël Périn |
VMCAI | 3 |
| 2015 | Deciding Local Theory Extensions via E-matching
Kshitij Bansal, Andrew Reynolds 0001, Tim King 0001, Clark W. Barrett, Thomas Wies |
CAV (2) | 3 |
| 2015 | Practical SMT-based type error localizationabstractCompilers for statically typed functional programming languages are notorious for generating confusing type error messages. When the compiler detects a type error, it typically reports the program location where the type checking failed as the source of the error. Since other error sources are not even considered, the actual root cause is often missed. A more adequate approach is to consider all possible error sources and report the most useful one subject to some usefulness criterion. In our previous work, we showed that this approach can be formulated as an optimization problem related to satisfiability modulo theories (SMT). This formulation cleanly separates the heuristic nature of usefulness criteria from the underlying search problem. Unfortunately, algorithms that search for an optimal error source cannot directly use principal types which are crucial for dealing with the exponential-time complexity of the decision problem of polymorphic type checking. In this paper, we present a new algorithm that efficiently finds an optimal error source in a given ill-typed program. Our algorithm uses an improved SMT encoding to cope with the high complexity of polymorphic typing by iteratively expanding the typing constraints from which principal types are derived. The algorithm preserves the clean separation between the heuristics and the actual search. We have implemented our algorithm for OCaml. In our experimental evaluation, we found that the algorithm reduces the running times for optimal type error localization from minutes to seconds and scales better than previous localization algorithms. Zvonimir Pavlinovic, Tim King 0001, Thomas Wies |
ICFP | 2 |
| 2014 | Leveraging linear and mixed integer programming for SMTabstractSMT solvers combine SAT reasoning with specialized theory solvers either to find a feasible solution to a set of constraints or to prove that no such solution exists. Linear programming (LP) solvers come from the tradition of optimization, and are designed to find feasible solutions that are optimal with respect to some optimization function. Typical LP solvers are designed to solve large systems quickly using floating point arithmetic. Because floating point arithmetic is inexact, rounding errors can lead to incorrect results, making inexact solvers inappropriate for direct use in theorem proving. Previous efforts to leverage such solvers in the context of SMT have concluded that in addition to being potentially unsound, such solvers are too heavyweight to compete in the context of SMT. In this paper, we describe a technique for integrating LP solvers that improves the performance of SMT solvers without compromising correctness. These techniques have been implemented using the SMT solver CVC4 and the LP solver GLPK. Experiments show that this implementation outperforms other state-of-the-art SMT solvers on the QF_LRA SMT-LIB benchmarks and is competitive on the QF_LIA benchmarks. Tim King 0001, Clark W. Barrett, Cesare Tinelli |
FMCAD | 1 |
| 2014 | A tour of CVC4: How it works, and how to use itabstractCVC4 is a solver for Satisfiability Modulo Theories (SMT). This tutorial aims to give participants an overview of SMT, describe the main features of CVC4, and walk through in-depth examples using CVC4 to demonstrate how to solve real problems with an SMT solver. We will provide a detailed description of various aspects of CVC4's internals, including its architecture, its capacity for dealing with quantifiers, its finite model finder, and the linear arithmetic solver. We will show examples of software and hardware verification problems, and how they are encoded and handled by these features in CVC4. Participants are expected to have only a basic knowledge of what SMT is. This tutorial will give casual users a taste of encoding complex, real-world problems in SMT and effectively using CVC4 to solve them. Participants will be left with some knowledge of what goes on inside a modern SMT solver and some of the practical issues that arise in using them. CVC4, jointly developed at New York University and the University of Iowa, is freely available for both research and commercial use under an open-source license. The organizers of this tutorial are all architects and implementors of CVC4 and have extensive expertise in the area of SMT. Morgan Deters, Andrew Reynolds 0001, Tim King 0001, Clark W. Barrett, Cesare Tinelli |
FMCAD | 3 |
| 2014 | Finding minimum type error sourcesabstractAutomatic type inference is a popular feature of functional programming languages. If a program cannot be typed, the compiler typically reports a single program location in its error message. This location is the point where the type inference failed, but not necessarily the actual source of the error. Other potential error sources are not even considered. Hence, the compiler often misses the true error source, which increases debugging time for the programmer. In this paper, we present a general framework for automatic localization of type errors. Our algorithm finds all minimum error sources, where the exact definition of minimum is given in terms of a compiler-specific ranking criterion. Compilers can use minimum error sources to produce more meaningful error reports, and for automatic error correction. Our approach works by reducing the search for minimum error sources to an optimization problem that we formulate in terms of weighted maximum satisfiability modulo theories (MaxSMT). The reduction to weighted MaxSMT allows us to build on SMT solvers to support rich type systems and at the same time abstract from the concrete criterion that is used for ranking the error sources. We have implemented an instance of our framework targeted at Hindley-Milner type systems and evaluated it on existing OCaml benchmarks for type error localization. Our evaluation shows that our approach has the potential to significantly improve the quality of type error reports produced by state of the art compilers. Zvonimir Pavlinovic, Tim King 0001, Thomas Wies |
OOPSLA | 2 |
| 2013 | Simplex with sum of infeasibilities for SMT
Tim King 0001, Clark W. Barrett, Bruno Dutertre |
FMCAD | 1 |
| 2011 | CVC4
Clark W. Barrett, Christopher L. Conway, Morgan Deters, Liana Hadarean, Dejan Jovanovic, Tim King 0001, Andrew Reynolds 0001, Cesare Tinelli |
CAV | 6 |