ReduKtor: How We Stopped Worrying About Bugs in Kotlin Compiler
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.
Wed 13 NovDisplayed time zone: Tijuana, Baja California change
16:00 - 17:50 | PerformanceResearch Papers / Demonstrations at Hillcrest Chair(s): Tim Menzies North Carolina State University | ||
16:00 20mTalk | Accurate Modeling of Performance Histories for Evolving Software Systems Research Papers Stefan Mühlbauer Bauhaus-University Weimar, Sven Apel Saarland University, Norbert Siegmund Bauhaus-University Weimar Pre-print | ||
16:20 20mTalk | An Industrial Experience Report on Performance-Aware Refactoring on a Database-centric Web Application Research Papers Boyuan Chen York University, Zhen Ming (Jack) Jiang York University, Paul Matos Copywell Inc., Michael Lacaria Copywell Inc. Authorizer link Pre-print | ||
16:40 20mTalk | An Experience Report of Generating Load Tests Using Log-recovered Workloads at Varying Granularities of User Behaviour Research Papers Jinfu Chen Jiangsu University, Weiyi Shang Concordia University, Canada, Ahmed E. Hassan Queen's University, Yong Wang Alibaba Group, Jiangbin Lin Alibaba Group Pre-print | ||
17:00 10mTalk | How Do API Selections Affect the Runtime Performance of Data Analytics Tasks? Research Papers Yida Tao Shenzhen University, Shan Tang Shenzhen University, Yepang Liu Southern University of Science and Technology, Zhiwu Xu Shenzhen University, Shengchao Qin University of Teesside | ||
17:10 10mTalk | Demystifying Application Performance Management Libraries for Android Research Papers Yutian Tang The Hong Kong Polytechnic University, Xian Zhan The Hong Kong Polytechnic University, Hao Zhou The Hong Kong Polytechnic University, Xiapu Luo The Hong Kong Polytechnic University, Zhou Xu Wuhan University, Yajin Zhou Zhejiang University, Qiben Yan Michigan State University | ||
17:20 10mDemonstration | PeASS: A Tool for Identifying Performance Changes at Code Level Demonstrations David Georg Reichelt Universität Leipzig, Stefan Kühne Universität Leipzig, Wilhelm Hasselbring Kiel University Pre-print Media Attached File Attached | ||
17:30 20mTalk | ReduKtor: How We Stopped Worrying About Bugs in Kotlin Compiler Research Papers Daniil Stepanov Saint Petersburg Polytechnic University, Marat Akhin Saint Petersburg Polytechnic University / JetBrains Research, Mikhail Belyaev Saint Petersburg Polytechnic University Pre-print |