2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE) 2019
DOI: 10.1109/ase.2019.00038
|View full text |Cite
|
Sign up to set email alerts
|

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… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
5
0

Year Published

2020
2020
2024
2024

Publication Types

Select...
5
3

Relationship

1
7

Authors

Journals

citations
Cited by 12 publications
(5 citation statements)
references
References 22 publications
0
5
0
Order By: Relevance
“…To further enhance mutation-based approaches, we decided to augment language-agnostic mutations with language-specific ones. These mutations consist of over 20 text-and tree-based transformation, which are based on our previous experience on Kotlin fuzzing and reduction [12].…”
Section: Discussionmentioning
confidence: 99%
See 1 more Smart Citation
“…To further enhance mutation-based approaches, we decided to augment language-agnostic mutations with language-specific ones. These mutations consist of over 20 text-and tree-based transformation, which are based on our previous experience on Kotlin fuzzing and reduction [12].…”
Section: Discussionmentioning
confidence: 99%
“…Input reduction is implemented in order to make a small and understandable test from a possibly large and complex input leading to a compiler error. The approach we have implemented, called Reduktor, is described in details in [12]. On a very high level, it is based on a hybrid approach which combines several language-agnostic and language-specific techniques.…”
Section: Post-processingmentioning
confidence: 99%
“…More details about the Kotlin program reducer and its results can be found in the article [20]. In general, a complex approach using language-agnostic methods and language-specific transformations gives a good result.…”
Section: Bug Manager Implementationmentioning
confidence: 99%
“…Recently a few researchers proposed modern implementations of HDD algorithm and their variants [5], [6], [7], [8]. Most of the implementations are language-agnostic and hence can reduce a variety of tests like HTML, source code in different programming languages, xml, and etc.…”
Section: Introductionmentioning
confidence: 99%
“…Most of the implementations are language-agnostic and hence can reduce a variety of tests like HTML, source code in different programming languages, xml, and etc. Stepanov et al noted the language-agnosticness of the HDD tools a major limiting factor in employing the tools efficiently for real-world, large-scale usage as the tools fail to consider and utilize the language-specific features, complexities and inter-dependence [8]. These tools rely on a generic AST or grammar in simplification process and produces many non-compilable intermediate variants before the convergence.…”
Section: Introductionmentioning
confidence: 99%