Demo Data from SIGIR 2026 / reviewers in the wild / expert
Marat Kh. Akhin
dblp:140/9107 · also Marat Akhin
· DBLP profile ↗
3ranked-venue papers
0as first author
2since 2021 · last 2025
0009-0003-1683-6654ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 3 · 2 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
2 papers |
Software testing · 71% Debugging and program repair · 16% Program analysis · 8% |
Topics — the 8 heaviest of 9, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Software testing › fuzzing › system software fuzzing
compiler fuzzing |
0.9 | 1 | 2025 | Finding Compiler Bugs through Cross-Language Code Generator and Differential Testing · Proc. ACM Program. Lang. 2025 |
Software testing
compiler testing |
0.9 | 1 | 2025 | Finding Compiler Bugs through Cross-Language Code Generator and Differential Testing · Proc. ACM Program. Lang. 2025 |
Software testing
differential testing |
0.9 | 1 | 2025 | Finding Compiler Bugs through Cross-Language Code Generator and Differential Testing · Proc. ACM Program. Lang. 2025 |
Software testing
fuzzing |
0.9 | 1 | 2025 | Finding Compiler Bugs through Cross-Language Code Generator and Differential Testing · Proc. ACM Program. Lang. 2025 |
Debugging and program repair › automated debugging
delta debugging |
0.4 | 1 | 2019 | ReduKtor: How We Stopped Worrying About Bugs in Kotlin Compiler · ASE 2019 |
Debugging and program repair
fault localization |
0.4 | 1 | 2019 | ReduKtor: How We Stopped Worrying About Bugs in Kotlin Compiler · ASE 2019 |
Program analysis › static analysis
program slicing |
0.4 | 1 | 2019 | ReduKtor: How We Stopped Worrying About Bugs in Kotlin Compiler · ASE 2019 |
Programming languages and type systems › interoperability
language interoperability |
0.3 | 1 | 2025 | Finding Compiler Bugs through Cross-Language Code Generator and Differential Testing · Proc. ACM Program. Lang. 2025 |
Methods — techniques the papers use, named apart from their topics
mutation testing · 0.9intermediate representation · 0.9program slicing · 0.4hierarchical delta debugging · 0.4
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | Finding Compiler Bugs through Cross-Language Code Generator and Differential TestingabstractCompilers play a central role in translating high-level code into executable programs, making their correctness essential for ensuring code safety and reliability. While extensive research has focused on verifying the correctness of compilers for single-language compilation, the correctness of cross-language compilation — which involves the interaction between two languages and their respective compilers — remains largely unexplored. To fill this research gap, we propose CrossLangFuzzer , a novel framework that introduces a universal intermediate representation (IR) for JVM-based languages and automatically generates cross-language test programs with diverse type parameters and complex inheritance structures. After generating the initial IR, CrossLangFuzzer applies three mutation techniques — LangShuffler, FunctionRemoval , and TypeChanger — to enhance program diversity. By evaluating both the original and mutated programs across multiple compiler versions, CrossLangFuzzer successfully uncovered 10 confirmed bugs in the Kotlin compiler, 4 confirmed bugs in the Groovy compiler, 7 confirmed bugs in the Scala 3 compiler, 2 confirmed bugs in the Scala 2 compiler, and 1 confirmed bug in the Java compiler. Among all mutators, TypeChanger is the most effective, detecting 11 of the 24 compiler bugs. Furthermore, we analyze the symptoms and root causes of cross-compilation bugs, examining the respective responsibilities of language compilers when incorrect behavior occurs during cross-language compilation. To the best of our knowledge, this is the first work specifically focused on identifying and diagnosing compiler bugs in cross-language compilation scenarios. Our research helps to understand these challenges and contributes to improving compiler correctness in multi-language environments. Qiong Feng, Ziyuan Feng, Marat Kh. Akhin, Wei Song 0003, Peng Liang 0001 |
Proc. ACM Program. Lang. | 4 |
| 2021 | Type-Centric Kotlin Compiler Fuzzing: Preserving Test Program Correctness by Preserving TypesabstractKotlin is a relatively new programming language from JetBrains: its development started in 2010 with release 1.0 done in early 2016. The Kotlin compiler, while slowly and steadily becoming more and more mature, still crashes from time to time on the more tricky input programs, not least because of the complexity of its features and their interactions. This makes it a great target for fuzzing, even the basic forms of which can find a significant number of Kotlin compiler crashes. There is a problem with fuzzing, however, closely related to the cause of the crashes: generating a random, non-trivial and semantically valid Kotlin program is hard. In this paper, we talk abouttype-centriccompilerfuzzingin the form oftype-centricenumeration, an approach inspired by skeletal program enumeration [1] and based on a combination of generative and mutation-based fuzzing, which solves this problem by focusing on programtypes. After creating the skeleton program, we fill the typed holes with fragments of suitable type, created via generation and enhanced by semantic-aware mutation. We implemented this approach in our Kotlin compiler fuzzing framework called Backend Bug Finder (BBF) and did an extensive evaluation, not only testing the real-world feasibility of our approach, but also comparing it to other compiler fuzzing techniques. The results show our approach to be significantly better compared to other fuzzing approaches at generating semantically valid Kotlin programs, while creating more interesting crash-inducing inputs at the same time. We managed to find more than 50 previously unknown compiler crashes, of which 18 were considered important after their triage by the compiler team. Daniil Stepanov, Marat Kh. Akhin, Mikhail A. Belyaev |
ICST | 2 |
| 2019 | ReduKtor: How We Stopped Worrying About Bugs in Kotlin CompilerabstractBug localization is well-known to be a difficult problem in software engineering, and specifically in compiler development, where it is beneficial to reduce the input program to a minimal reproducing example; this technique is more commonly known as delta debugging. What additionally contributes to the problem is that every new programming language has its own unique quirks and foibles, making it near impossible to reuse existing tools and approaches with full efficiency. In this experience paper we tackle the delta debugging problem w.r.t. Kotlin, a relatively new programming language from JetBrains. Our approach is based on a novel combination of program slicing, hierarchical delta debugging and Kotlin-specific transformations, which are synergistic to each other. We implemented it in a prototype called ReduKtor and did extensive evaluation on both synthetic and real Kotlin programs; we also compared its performance with classic delta debugging techniques. The evaluation results support the practical usability of our approach to Kotlin delta debugging and also shows the importance of using both language-agnostic and language-specific techniques to achieve best reduction efficiency and performance. Daniil Stepanov, Marat Kh. Akhin, Mikhail A. Belyaev |
ASE | 2 |