MELT: Mining Effective Lightweight Transformations from Pull Requests
Software developers often struggle to update APIs, leading to manual, time-consuming, and error-prone processes. We introduce MELT, a new approach that generates lightweight API migration rules directly from pull requests in popular library repositories. Our key insight is that pull requests merged into open-source libraries are a rich source of information sufficient to mine API migration rules. By leveraging code examples mined from the library source and automatically generated code examples based on the pull requests, we infer transformation rules in comby, a language for structural code search and replace. Since inferred rules from single code examples may be too specific, we propose a generalization procedure to make the rules more applicable to client projects. MELT rules are syntax-driven, interpretable, and easily adaptable. Moreover, unlike previous work, our approach enables rule inference to seamlessly integrate into the library workflow, removing the need to wait for client code migrations. We evaluated MELT on pull requests from four popular libraries, successfully mining 461 migration rules from code examples in pull requests and 114 rules from auto-generated code examples. Our generalization procedure increases the number of matches for mined rules by 9x. We applied these rules to client projects and ran their tests, which led to an overall decrease in the number of warnings and fixing some test cases demonstrating MELT’s effectiveness in real-world scenarios.
(melt.pptx) | 11.76MiB |
Thu 14 SepDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
15:30 - 17:00 | Code Generation 3Research Papers / Journal-first Papers at Room C Chair(s): David Lo Singapore Management University | ||
15:30 12mTalk | Improving code extraction from coding screencasts using a code-aware encoder-decoder model Research Papers Abdulkarim Malkadi Florida State University, USA - Jazan University, KSA, Ahmad Tayeb Florida State University, USA, Sonia Haiduc Florida State University File Attached | ||
15:42 12mTalk | InfeRE: Step-by-Step Regex Generation via Chain of Inference Research Papers Shuai Zhang School of Software, Shanghai Jiao Tong University, Xiaodong Gu Shanghai Jiao Tong University, Beijun Shen Shanghai Jiao Tong University, Yuting Chen Shanghai Jiao Tong University Pre-print File Attached | ||
15:54 12mTalk | MELT: Mining Effective Lightweight Transformations from Pull Requests Research Papers Daniel Ramos Carnegie Mellon University, and INESC-ID, Hailie Mitchell Carnegie Mellon University, Ines Lynce INESC-ID/IST, Universidade de Lisboa, Vasco Manquinho INESC-ID; Universidade de Lisboa, Ruben Martins Carnegie Mellon University, Claire Le Goues Carnegie Mellon University Pre-print File Attached | ||
16:06 12mTalk | On the Evaluation of Neural Code Translation: Taxonomy and Benchmark Research Papers Mingsheng Jiao Shanghai Jiao Tong University, Tingrui Yu Shanghai Jiao Tong University, Xuan Li Shanghai Jiao Tong University, Guan Jie Qiu Shanghai Jiao Tong University, Xiaodong Gu Shanghai Jiao Tong University, Beijun Shen Shanghai Jiao Tong University Pre-print File Attached | ||
16:18 12mTalk | Out of the BLEU: How should we assess quality of the Code Generation models? Journal-first Papers Mikhail Evtikhiev JetBrains Research, Egor Bogomolov JetBrains Research, Yaroslav Sokolov JetBrains, Timofey Bryksin JetBrains Research Link to publication DOI Pre-print File Attached | ||
16:30 12mTalk | Pluggable Type Inference for Free Research Papers Martin Kellogg New Jersey Institute of Technology, Daniel Daskiewicz New Jersey Institute of Technology, Loi Ngo Duc Nguyen New Jersey Institute of Technology, Muyeed Ahmed New Jersey Institute of Technology, Michael D. Ernst University of Washington Link to publication Pre-print File Attached |