标题:机器生成的正确补丁长什么样?[ESEM 19] How Different Is It Between Machine-Generated and Developer-Provided Patches?
前言
本文旨在阅读 ESEM 2019 文章:How Different Is It Between Machine-Generated and Developer-Provided Patches?
基本信息
Wang, S., Wen, M., Chen, L., Yi, X., & Mao, X. How Different Is It Between Machine-Generated and Developer-Provided Patches?.
基本内容
主要是一个empirical study
人为研究当前APR(即软件自动修复)工具生成的正确补丁和开发者(人为)补丁的区别。
这里列举其中发现:
we do not need to fix bugs exactly like how developers do since we observe that 25.4% (45/177) of the correct patches generated by APR techniques are syntactically different from developer-provided ones; 2)
1)不必和开发者补丁一样。因为四分之一的机器正确补丁 和开发者提供的补丁在词法结构上就是不相等的。
(都是哪些?)
APR techniques tend to generate patches that are different from those by developers for bugs with large patch sizes
2)我猜是因为当前的APR工具还局限于简单的修改(simple edits)
3)
idea来源
针对当前的补丁评价方式(2种:人为检查,测试用例验证)的局限性,
认为应该先分析一下当前正确补丁(机器生成)和开发者补丁的区别。
亮点
1)A. Data Selection写的比较详细,很严谨
不足
词句摘抄
- Two widely adopted ways to approach this challenge, in- cluding manually checking and validating using automated gen- erated tests, are biased (i.e., suffering from subjectivity and low precision respectively).
- To this end, we first present a Literature Re- view (LR) on the reported correct patches generated by recent techniques on the Defects4J benchmark and collect 177 correct patches after a process of sanity check.
- Our study not only verifies the conclusions from previous studies but also highlights implications for future study towards assessing patch correctness.
- The basic pipeline that most of APR systems follow
- Do APR tools tend to generate correct patches but different from the developer-provided ones for bugs with cer- tain characteristics?
相关文章
- Wen, M., Chen, J., Wu, R., Hao, D., & Cheung, S. C. (2017). An empirical analysis of the influence of fault space on search-based automated program repair. arXiv preprint arXiv:1707.05172.
总结
以上。