Demo Data from SIGIR 2026 / reviewers in the wild / expert
Kasper Søe Luckow
dblp:13/11526 · also Kasper Luckow
· DBLP profile ↗
12ranked-venue papers
6as first author
0since 2021 · last 2020
0000-0001-8256-5934ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 9 · 5 first-authorTheory of computation · 3Security and privacy · 2Systems, architecture and hardware · 1 · 1 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 · 70% Program analysis · 30% | |
| Network and information security
2 papers |
Authentication and access control · 72% Systems and software security · 28% | |
| 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 |
|---|---|---|---|---|
Authentication and access control
access control policy |
0.4 | 1 | 2020 | Stratified Abstraction of Access Control Policies · CAV (1) 2020 |
Automated reasoning and model checking
satisfiability modulo theories |
0.4 | 1 | 2020 | Stratified Abstraction of Access Control Policies · CAV (1) 2020 |
Software testing › fuzzing
coverage-guided fuzzing |
0.3 | 1 | 2017 | POSTER: AFL-based Fuzzing for Java with Kelinci · CCS 2017 |
Software testing
fuzzing |
0.3 | 1 | 2017 | POSTER: AFL-based Fuzzing for Java with Kelinci · CCS 2017 |
Software testing › fuzzing
greybox fuzzing |
0.3 | 1 | 2017 | POSTER: AFL-based Fuzzing for Java with Kelinci · CCS 2017 |
Program analysis › symbolic execution
probabilistic symbolic execution |
0.2 | 1 | 2014 | Exact and approximate probabilistic symbolic execution for nondeterministic programs · ASE 2014 |
Program analysis
symbolic execution |
0.2 | 1 | 2014 | Exact and approximate probabilistic symbolic execution for nondeterministic programs · ASE 2014 |
Systems and software security › vulnerability discovery
fuzzing |
0.1 | 1 | 2017 | POSTER: AFL-based Fuzzing for Java with Kelinci · CCS 2017 |
Systems and software security
vulnerability discovery |
0.1 | 1 | 2017 | POSTER: AFL-based Fuzzing for Java with Kelinci · CCS 2017 |
Methods — techniques the papers use, named apart from their topics
stratified predicate abstraction · 0.9SMT · 0.9program instrumentation · 0.6
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2020 | Stratified Abstraction of Access Control PoliciesabstractThe shift to cloud-based APIs has made application security critically depend on understanding and reasoning about policies that regulate access to cloud resources.We present stratified predicate abstraction, a new approach that summarizes complex security policies into a compact set of positive and declarative statements that precisely state who has access to a resource.We have implemented stratified abstraction and deployed it as the engine powering AWS's IAM Access Analyzer service, and hence, demonstrate how formal methods and SMT can be used for security policy explanation. John D. Backes, Ulises Berrueco, Tyler Bray, Daniel Brim, Byron Cook, Andrew Gacek, Ranjit Jhala, Kasper Søe Luckow, Sean McLaughlin, Madhav Menon, Daniel Peebles, Ujjwal Pugalia, Neha Rungta, Cole Schlesinger, Adam Schodde, Anvesh Tanuku, Carsten Varming, Deepa Viswanathan |
CAV (1) | 8 |
| 2020 | Complexity vulnerability analysis using symbolic executionabstractSummary We describe techniques based on symbolic execution for finding software vulnerabilities that are due to algorithmic complexity. Such vulnerabilities allow an attacker to mount denial‐of‐service attacks to deny service to benign users or to otherwise disable a software system. The techniques use an efficient guided symbolic execution of a program to compute bounds on the worst‐case complexity (for increasing input sizes) and to generate test values that trigger the worst‐case behaviours. The resulting bounds are fitted to a function to obtain a prediction of the worst‐case program behaviour at any input size. Scalability is achieved by using path policies that guide the symbolic execution towards worst‐case paths. The policies are learned from the worst‐case results obtained with exhaustive exploration at small input sizes and are applied to guide exploration at larger input sizes, where unguided exhaustive exploration is not possible. To achieve precision in the analysis, the path policies take into account the history of choices made along the path when deciding which branch to execute next. Furthermore, the computation is contextpreserving, meaning that the decision for each branch depends on the history computed with respect to the enclosing method. We further report preliminary results on a complementary technique that uses machine learning for building the path policies that guide the search. The techniques are implemented in open‐source projects that build on the Symbolic Pathfinder tool for analysing Java programs. Experimental evaluation shows that the techniques can find vulnerabilities in complex Java programs and can outperform previous symbolic approaches. Kasper Søe Luckow, Rody Kersten, Corina Pasareanu |
Softw. Test. Verification Reliab. | 1 |
| 2018 | Symbolic Side-Channel Analysis for Probabilistic ProgramsabstractIn this paper we describe symbolic side-channel analysis techniques for detecting and quantifying information leakage, given in terms of Shannon and min-entropy. Measuring the precise leakage is challenging due to the randomness and noise often present in program executions and side-channel observations. We account for this noise by introducing additional (symbolic) program inputs which are interpreted probabilistically, using symbolic execution with parametrized model counting. We also explore a sampling approach for increased scalability. In contrast to typical Monte Carlo techniques, our approach works by sampling symbolic paths, representing multiple concrete paths, and uses pruning to accelerate computation and guarantee convergence to the optimal results. A key novelty of our approach is to provide bounds on the leakage that are provably under- and over-approximating the exact leakage. We implemented the techniques in the Symbolic PathFinder tool and demonstrate them on Java programs. Pasquale Malacaria, M. H. R. Khouzani, Corina Pasareanu, Quoc-Sang Phan, Kasper Søe Luckow |
CSF | 5 |
| 2018 | Semantic-based Automated Reasoning for AWS Access Policies using SMTabstractCloud computing provides on-demand access to IT resources via the Internet. Permissions for these resources are defined by expressive access control policies. This paper presents a formalization of the Amazon Web Services (AWS) policy language and a corresponding analysis tool, called ZELKOVA, for verifying policy properties. ZELKOVA encodes the semantics of policies into SMT, compares behaviors, and verifies properties. It provides users a sound mechanism to detect misconfigurations of their policies. ZELKOVA solves a PSPACE-complete problem and is invoked many millions of times daily. John D. Backes, Pauline Bolignano, Byron Cook, Catherine Dodge, Andrew Gacek, Kasper Søe Luckow, Neha Rungta, Oksana Tkachuk, Carsten Varming |
FMCAD | 6 |
| 2018 | Study of Integrating Random and Symbolic Testing for Object-Oriented Software
Marko Dimjasevic, Falk Howar, Kasper Søe Luckow, Zvonimir Rakamaric |
IFM | 3 |
| 2018 | A Cloud-Based Execution Framework for Program Analysis
Daniel Balasubramanian, Dmitriy Kostyuchenko, Kasper Søe Luckow, Rody Kersten, Gabor Karsai |
SEFM | 3 |
| 2018 | Monte Carlo Tree Search for Finding Costly Paths in Programs
Kasper Søe Luckow, Corina Pasareanu, Willem Visser |
SEFM | 1 |
| 2017 | POSTER: AFL-based Fuzzing for Java with KelinciabstractGrey-box fuzzing is a random testing technique that has been shown to be effective at finding security vulnerabilities in software. The technique leverages program instrumentation to gather information about the program with the goal of increasing the code coverage during fuzzing, which makes gray-box fuzzers extremely efficient vulnerability detection tools. One such tool is AFL, a grey-box fuzzer for C programs that has been used successfully to find security vulnerabilities and other critical defects in countless software products. We present Kelinci, a tool that interfaces AFL with instrumented Java programs. The tool does not require modifications to AFL and is easily parallelizable. Applying AFL-type fuzzing to Java programs opens up the possibility of testing Java based applications using this powerful technique. We show the effectiveness of Kelinci by applying it on the image processing library Apache Commons Imaging, in which it identified a bug within one hour. Rody Kersten, Kasper Søe Luckow, Corina Pasareanu |
CCS | 2 |
| 2017 | Symbolic Complexity Analysis Using Context-Preserving HistoriesabstractWe propose a technique based on symbolic execution for analyzing the algorithmic complexity of programs. The technique uses an efficient guided analysis to compute bounds on the worst-case complexity (for increasing input sizes) and to generate test values that trigger the worst-case behaviors. The resulting bounds are fitted to a function to obtain a prediction of the worst-case program behavior at any input sizes. Comparing these predictions to the programmers' expectations or to theoretical asymptotic bounds can reveal vulnerabilities or confirm that a program behaves as expected. To achieve scalability we use path policies to guide the symbolic execution towards worst-case paths. The policies are learned from the worst-case results obtained with exhaustive exploration at small input sizes and are applied to guide exploration at larger input sizes, where un-guided exhaustive exploration is no longer possible. To achieve precision we use path policies that take into account the history of choices made along the path when deciding which branch to execute next in the program. Furthermore, the history computation is context-preserving, meaning that the decision for each branch depends on the history computed with respect to the enclosing method. We implemented the technique in the Symbolic PathFinder tool. We show experimentally that it can find vulnerabilities in complex Java programs and can outperform established symbolic techniques. Kasper Søe Luckow, Rody Kersten, Corina Pasareanu |
ICST | 1 |
| 2017 | HVMTP: A time predictable and portable java virtual machine for hard real-time embedded systemsabstractSummary We present HVMTP, a time predictable and portable Java virtual machine (JVM) implementation with applications in resource‐constrained, hard real‐time embedded systems, which implements all levels of the safety critical Java (SCJ) specification. Time predictability is achieved by a combination of time‐predictable algorithms, exploiting the programming model of the SCJ profile and harnessing static knowledge of the hosted SCJ system. This paper presents HVMTPin terms of its design and capabilities and demonstrates how a complete timing model of the JVM represented as a network of timed automata can be obtained using the tool TETASARTSJVM. The timing model readily integrates with the rest of the TETASARTS tool set for temporal verification of SCJ systems. We will also show how a complete timing scheme in terms of safe worst‐case execution times and best‐case execution times of the Java bytecodes can be derived from the model. Furthermore, we take a first look at how to support the new Java 8 language feature of Lambda expressions in a SCJ context – we look in particular at how theinvokedynamicbytecode can be implemented in a time‐predictable way and integrated in HVMTP. Copyright © 2016 John Wiley & Sons, Ltd. Kasper Søe Luckow, Bent Thomsen, Stephan Korsholm |
Concurr. Comput. Pract. Exp. | 1 |
| 2016 | JDart: A Dynamic Symbolic Analysis Framework
Kasper Søe Luckow, Marko Dimjasevic, Dimitra Giannakopoulou, Falk Howar, Malte Isberner, Temesghen Kahsai, Zvonimir Rakamaric, Vishwanath Raman |
TACAS | 1 |
| 2014 | Exact and approximate probabilistic symbolic execution for nondeterministic programsabstractProbabilistic software analysis seeks to quantify the likelihood of reaching a target event under uncertain environments. Recent approaches compute probabilities of execution paths using symbolic execution, but do not support nondeterminism. Nondeterminism arises naturally when no suitable probabilistic model can capture a program behavior, e.g., for multithreading or distributed systems. Kasper Søe Luckow, Corina Pasareanu, Matthew B. Dwyer, Antonio Filieri, Willem Visser |
ASE | 1 |