Demo Data from SIGIR 2026 / reviewers in the wild / expert
Lukás Korencik
dblp:284/7151
· DBLP profile ↗
2ranked-venue papers
1as first author
1since 2021 · last 2022
0000-0002-1468-1594ORCID · reported
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 2 · 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
1 paper |
Program analysis · 70% Program verification · 30% |
Topics — the 4 heaviest of 4, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program analysis › static analysis › abstract interpretation
abstract domain |
0.6 | 1 | 2022 | Verification of Programs Sensitive to Heap Layout · ACM Trans. Softw. Eng. Methodol. 2022 |
Program analysis › static analysis
abstract interpretation |
0.6 | 1 | 2022 | Verification of Programs Sensitive to Heap Layout · ACM Trans. Softw. Eng. Methodol. 2022 |
Program verification › pointer program verification
heap verification |
0.6 | 1 | 2022 | Verification of Programs Sensitive to Heap Layout · ACM Trans. Softw. Eng. Methodol. 2022 |
Program analysis › static analysis
pointer analysis |
0.2 | 1 | 2022 | Verification of Programs Sensitive to Heap Layout · ACM Trans. Softw. Eng. Methodol. 2022 |
Methods — techniques the papers use, named apart from their topics
under-approximating abstract domain · 0.6
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2022 | Verification of Programs Sensitive to Heap LayoutabstractMost C and C++ programs use dynamically allocated memory (often known as a heap) to store and organize their data. In practice, it can be useful to compare addresses of different heap objects, for instance, to store them in a binary search tree or a sorted array. However, comparisons of pointers to distinct objects are inherently ambiguous: The address order of two objects can be reversed in different executions of the same program, due to the nature of the allocation algorithm and other external factors. This poses a significant challenge to program verification, since a sound verifier must consider all possible behaviors of a program, including an arbitrary reordering of the heap. A naive verification of all possibilities, of course, leads to a combinatorial explosion of the state space: For this reason, we propose an under-approximating abstract domain that can be soundly refined to consider all relevant heap orderings. We have implemented the proposed abstract domain and evaluated it against several existing software verification tools on a collection of pointer-manipulating programs. In many cases, existing tools only consider a single fixed heap order, which is a source of unsoundness. We demonstrate that using our abstract domain, this unsoundness can be repaired at only a very modest performance cost. Additionally, we show that, even though many verifiers ignore it, ambiguous behavior is present in a considerable fraction of programs from software verification competition ( sv-comp ). Henrich Lauko, Lukás Korencik, Petr Rockai |
ACM Trans. Softw. Eng. Methodol. | 2 |
| 2020 | On Symbolic Execution of Decompiled ProgramsabstractIn this paper, we present a combination of existing and new tools that together make it possible to apply formal verification methods to programs in the form of ×86_64 machine code. Our approach first uses a decompilation tool (remill) to extract low-level intermediate representation (LLVM) from the machine code. This step consists of instruction translation (i.e. recovery of operation semantics), control flow extraction and address identification.The main contribution of this paper is the second step, which builds on data flow analysis and refinement of indirect (i.e. data-dependent) control flow. This step makes the processed bitcode much more amenable to formal analysis.To demonstrate the viability of our approach, we have compiled a set of benchmark programs into native executables and analysed them using two LLVM-based tools: DIVINE, a software model checker and KLEE, a symbolic execution engine. We have compared the outcomes to direct analysis of the same programs. Lukás Korencik, Petr Rockai, Henrich Lauko, Jiri Barnat |
QRS | 1 |