We gratefully acknowledge support from
the Simons Foundation and member institutions.
Full-text links:

Download:

Current browse context:

cs.PL

Change to browse by:

References & Citations

DBLP - CS Bibliography

Bookmark

(what is this?)
CiteULike logo BibSonomy logo Mendeley logo del.icio.us logo Digg logo Reddit logo

Computer Science > Programming Languages

Title: ReduKtor: How We Stopped Worrying About Bugs in Kotlin Compiler

Abstract: 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.
Comments: Accepted to: 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE)
Subjects: Programming Languages (cs.PL); Software Engineering (cs.SE)
Cite as: arXiv:1909.07331 [cs.PL]
  (or arXiv:1909.07331v1 [cs.PL] for this version)

Submission history

From: Marat Akhin [view email]
[v1] Mon, 16 Sep 2019 16:58:12 GMT (142kb,D)

Link back to: arXiv, form interface, contact.