Machine Learning models from other fields, like Computational Linguistics, have been transplanted to Software Engineering tasks, often quite successfully. Yet a transplanted model’s initial success at a given task does not necessarily mean it is well-suited for the task. In this work, we examine a common example of this phenomenon: the conceit that ``software patching is like language translation''. We demonstrate empirically that there are subtle, but critical distinctions between sequence-to-sequence models and translation model: while program repair benefits greatly from the former, general modeling architecture, it actually suffers from design decisions built into the latter, both in terms of translation accuracy and diversity. Given these findings, we demonstrate how a more principled approach to model design, based on our empirical findings and general knowledge of software development, can lead to better solutions. We propose several models that leverage the same machine learning tools, but whose architecture, data presentation, and metrics are specialized for the software engineering task. The resulting models perform significantly better than the studied baseline, especially in more program repair appropriate metrics. Overall, our results demonstrate the merit of studying the intricacies of machine learned models in software engineering: not only can this help elucidate potential issues that may be overshadowed by increases in accuracy; it can also help innovate on these models to raise the state-of-the-art further. We will publicly release our replication data and materials at \url{https://github.com/ARiSE-Lab/Patch-as-translation}.
Tue 22 Sep Times are displayed in time zone: (UTC) Coordinated Universal Time
16:00 - 17:00: Synthesis and RepairResearch Papers at Kangaroo Chair(s): Shahar MaozTel Aviv University, Israel | |||
16:00 - 16:20 Talk | Synthesis of Infinite-State Systems with Random Behavior Research Papers Andreas KatisUniversity of Minnesota, Grigory FedyukovichFlorida State University, Jeffrey ChenUniversity of Minnesota, David GreveCollins Aerospace, Sanjai RayadurgamUniversity of Minnesota, Michael W. WhalenUniversity of Minnesota | ||
16:20 - 16:40 Talk | Demystifying Loops in Smart Contracts Research Papers Benjamin MarianoUniversity of Texas at Austin, Yanju ChenUniversity of California, Santa Barbara, Yu FengUniversity of California, Santa Barbara, Shuvendu K. LahiriMicrosoft Research, Isil DilligUniversity of Texas at Austin, USA | ||
16:40 - 17:00 Talk | Patching as Translation: The Data and the Metaphor Research Papers Yangruibo DingColumbia University, Baishakhi RayColumbia University, USA, Prem DevanbuUniversity of California, Vincent HellendoornCarnegie Mellon University DOI Pre-print |