VLDB 2026 Research / reviewers in the wild / expert
Erik Krogh Kristensen
dblp:197/3552
· DBLP profile ↗
4ranked-venue papers
3as first author
0since 2021 · last 2020
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 4 · 3 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
3 papers |
Program analysis · 69% Software testing · 20% Programming languages and type systems · 11% | |
| Network and information security
1 paper |
Web and mobile security · 100% |
Topics — the 11 heaviest of 11, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program analysis
static analysis |
0.8 | 2 | 2020 | Heaps'n leaks: how heap snapshots improve Android taint analysis · ICSE 2020 Reasonably-most-general clients for JavaScript library analysis · ICSE 2019 |
Program analysis › static analysis
pointer analysis |
0.4 | 1 | 2020 | Heaps'n leaks: how heap snapshots improve Android taint analysis · ICSE 2020 |
Program analysis › static analysis
taint analysis |
0.4 | 1 | 2020 | Heaps'n leaks: how heap snapshots improve Android taint analysis · ICSE 2020 |
Program analysis
library analysis |
0.4 | 1 | 2019 | Reasonably-most-general clients for JavaScript library analysis · ICSE 2019 |
Programming languages and type systems
type systems |
0.4 | 1 | 2019 | Reasonably-most-general clients for JavaScript library analysis · ICSE 2019 |
Software testing › random testing
feedback-directed random testing |
0.3 | 1 | 2017 | Type test scripts for TypeScript testing · Proc. ACM Program. Lang. 2017 |
Software testing
random testing |
0.3 | 1 | 2017 | Type test scripts for TypeScript testing · Proc. ACM Program. Lang. 2017 |
Program analysis › type analysis
type error detection |
0.3 | 1 | 2017 | Type test scripts for TypeScript testing · Proc. ACM Program. Lang. 2017 |
Web and mobile security › mobile security
android security |
0.1 | 1 | 2020 | Heaps'n leaks: how heap snapshots improve Android taint analysis · ICSE 2020 |
Web and mobile security
mobile security |
0.1 | 1 | 2020 | Heaps'n leaks: how heap snapshots improve Android taint analysis · ICSE 2020 |
Software testing › test generation › automated test generation
test script generation |
0.1 | 1 | 2017 | Type test scripts for TypeScript testing · Proc. ACM Program. Lang. 2017 |
Methods — techniques the papers use, named apart from their topics
heap snapshot · 0.9dynamic analysis · 0.9static analysis · 0.4feedback-directed random testing · 0.3
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2020 | Heaps'n leaks: how heap snapshots improve Android taint analysisabstractThe assessment of information flows is an essential part of analyzing Android apps, and is frequently supported by static taint analysis. Its precision, however, can suffer from the analysis not being able to precisely determine what elements a pointer can (and cannot) point to. Recent advances in static analysis suggest that incorporating dynamic heap snapshots, taken at one point at runtime, can significantly improve general static analysis. In this paper, we investigate to what extent this also holds for taint analysis, and how various design decisions, such as when and how many snapshots are collected during execution, and how exactly they are used, impact soundness and precision. We have extended FlowDroid to incorporate heap snapshots, yielding our prototype Heapster, and evaluated it on DroidMacroBench, a novel benchmark comprising real-world Android apps that we also make available as an artifact. The results show (1) the use of heap snapshots lowers analysis time and memory consumption while increasing precision; (2) a very good trade-off between precision and recall is achieved by a mixed mode in which the analysis falls back to static points-to relations for objects for which no dynamic data was recorded; and (3) while a single heap snapshot (ideally taken at the end of the execution) suffices to improve performance and precision, a better trade-off can be obtained by using multiple snapshots. Manuel Benz, Erik Krogh Kristensen, Linghui Luo, Nataniel P. Borges, Eric Bodden, Andreas Zeller |
ICSE | 2 |
| 2019 | Reasonably-most-general clients for JavaScript library analysisabstractA well-known approach to statically analyze libraries without having access to their client code is to model all possible clients abstractly using a most-general client. In dynamic languages, however, a most-general client would be too general: it may interact with the library in ways that are not intended by the library developer and are not realistic in actual clients, resulting in useless analysis results. In this work, we explore the concept of a reasonably-most-general client, in the context of a new static analysis tool REAGENT that aims to detect errors in TypeScript declaration files for JavaScript libraries. By incorporating different variations of reasonably-most-general clients into an existing static analyzer for JavaScript, we use REAGENT to study how different assumptions of client behavior affect the analysis results. We also show how REAGENT is able to find type errors in real-world TypeScript declaration files, and, once the errors have been corrected, to guarantee that no remaining errors exist relative to the selected assumptions. Erik Krogh Kristensen, Anders Møller |
ICSE | 1 |
| 2017 | Inference and Evolution of TypeScript Declaration FilesabstractTypeScript is a typed extension of JavaScript that has become widely used. More than 2000 JavaScript libraries now have publicly available TypeScript declaration files, which allows the libraries to be used when programming TypeScript applications. Such declaration files are written manually, however, and they are often lagging behind the continuous development of the libraries, thereby hindering their usability. The existing tool tscheck is capable of detecting mismatches between the libraries and their declaration files, but it is less suitable when creating and evolving declaration files. In this work we present the tools tsinfer and tsevolve that are designed to assist the construction of new TypeScript declaration files and support the co-evolution of the declaration files as the underlying JavaScript libraries evolve. Our experimental results involving major libraries demonstrate that tsinfer and tsevolve are superior to tscheck regarding these tasks and that the tools are sufficiently fast and precise for practical use. These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves. Erik Krogh Kristensen, Anders Møller |
FASE | 1 |
| 2017 | Type test scripts for TypeScript testingabstractTypeScript applications often use untyped JavaScript libraries. To support static type checking of such applications, the typed APIs of the libraries are expressed as separate declaration files. This raises the challenge of checking that the declaration files are correct with respect to the library implementations. Previous work has shown that mismatches are frequent and cause TypeScript's type checker to misguide the programmers by rejecting correct applications and accepting incorrect ones. This paper shows how feedback-directed random testing, which is an automated testing technique that has mostly been used for testing Java libraries, can be adapted to effectively detect such type mismatches. Given a JavaScript library with a TypeScript declaration file, our tool TSTEST generates a "type test script", which is an application that interacts with the library and tests that it behaves according to the type declarations. Compared to alternative solutions that involve static analysis, this approach finds significantly more mismatches in a large collection of real-world JavaScript libraries with TypeScript declaration files, and with fewer false positives. It also has the advantage that reported mismatches are easily reproducible with concrete executions, which aids diagnosis and debugging. Erik Krogh Kristensen, Anders Møller |
Proc. ACM Program. Lang. | 1 |