  Bug 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.
