前言

本文旨在介绍软工学者Ming Wen及其今年ICSE 2018顶会论文“Context-Aware Patch Generation for Better Automated Program Repair”

一、论文及作者信息

论文名称:Context-Aware Patch Generation for Better Automated Program Repair
作者:Ming Wen(一作),Shing-Chi Cheung(五作,导师)
单位: The Hong Kong University of Science and Technology [2]
香港科技大学(The Hong Kong University of Science and Technology),简称港科大(HKUST),为东亚研究型大学协会、环太平洋大学联盟、亚洲大学联盟、中国大学校长联谊会、京港大学联盟重要成员,并获AACSB和EQUIS双重认证,是一所亚洲顶尖、国际知名的研究型大学。该校以科技和商业管理为主、人文及社会科学并重,尤以商科和工科见长。

建校二十多年来,港科大创造了全球最细单壁纳米碳管、全球最高像素的照片、全球首创的智能杀菌涂层、全球排名第一的EMBA课程等国际领先的教研成果,培养了大疆创新创始人汪滔、民建联主席李慧琼、腾讯集团首席财务官罗硕瀚等各领域杰出人才。[1]

他们实验室还有一篇文章应该关注一下:
ChangeLocator: Locate Crash-Inducing Changes Based on Crash Reports
Rongxin Wu, Ming Wen, Shing-Chi Cheung, Hongyu Zhang
ICSE 2018 Journal first papers

Ming Wen(文明)的个人主页:http://home.cse.ust.hk/~mwenaa/
联系方式:mwenaa@cse.ust.hk


文明

他发表的文章:

Publications
[ESEC/FSE’18] Ying Wang, Ming Wen, Zhenwei Liu, Rongxin Wu, Rui Wang, Bo Yang, Hai Yu, Zhiliang Zhu and Shing-Chi Cheung. Do the Dependency Conflicts in My Project Matter? In The ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, Technical Research Paper, Lake Buena Vista, Florida, 4 Nov - 9 Nov 2018, To Appear. (Acceptance ratio 18.6%=55/295)
[ICSE’18] Ming Wen, Junjie Chen, Rongxin Wu, Dan Hao and Shing-Chi Cheung. Context-Aware Patch Generation for Better Automated Program Repair. In International Conference on Software Engineering, Technical Research Paper, Gothenburg, Sweden, May 27 - 3 June 2018. (Acceptance ratio 20.9%=105/502)
[EmSE’17] Rongxin Wu, Ming Wen, Shing-Chi Cheung, and Hongyu Zhang. ChangeLocator: Locate Crash-Inducing Changes Based on Crash Reports. In Empirical Software Engineering, 2017
[ASE’16] Ming Wen, Rongxin Wu and Shing-Chi Cheung. Locus: Locating Bugs from Software Changes. In Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering, Technical Research Paper, Singapore, 3 Sep - 7 Sep, 2016, 262-273. (Acceptance ratio 19.1%=57/298) [Slides][Dataset][Prototype]
[SANER’14] Xin Xia, David Lo, Ming Wen, Emad Shihab and Bo Zhou. An Empirical Study of Bug Report Field Reassignment. Joint Meeting of the 18th European Conference on Software Maintenance and Reengineering and the 21st Working Conference on Reverse Engineering. IEEE, 2014: 174-183.

这个也太强了吧。基本上都是最好的文章。

这些工作还和Xin Xia, David Lo有关,真的可以好好看看。

个人简介:

I am currently a PhD candidate in the third year from the department of Computer Science and Engineering of the Hong Kong University of Science and Technology. It’s my honour to be supervised by Prof. Shing-Chi CHEUNG. My research interests are mainly in program analysis, mining software changes and defect prediction. Before joining HKUST, I received my Bachelor Degree of Engineering in June 2014 from the Colloge of Computer Science and Technology of Zhejiang University.

2014年从浙大毕业,现在是博士三年级,估计是硕博连读。
16年,也就是博士第二年,就发了一篇顶会,太厉害啦。
同时还是浙大的优秀毕业生,算是前途无量了。

(我觉得这些优秀的人成功确实有原因,人家比你优秀,还比你努力,这就是正循环。正所谓不进则退,竞争确实激烈。)

二、论文内容

The effectiveness of search-based automated program repair is limited in the number of correct patches that can be successfully generated. There are two causes of such limitation. First, the search space does not contain the correct patch. Second, the search space is huge and therefore the correct patch cannot be generated (i.e., correct patches are either generated after incorrect plausible ones or not generated within the time budget).

这个是重点啊。对search space讲的非常详细,很久没看到将search space的文章了

论文的动机:

To increase the likelihood of including the correct patches in the search space, we propose to work at a fine granularity in terms of AST nodes. This, however, will further enlarge the search space, increasing the challenge to fnd the correct patches. We address the challenge by devising a strategy to prioritize the candidate patches based on their likelihood of being correct. Specifcally, we study the use of AST nodes’ context information to estimate the likelihood.

作者要在AST node这个粒度上做修复,然而AST 粒度会增大search space,提高找到正确补丁的难度会大大增加。
作者恰恰还解决了这个问题,这还是很酷的。他们设计了一个策略(基于他们是正确补丁的可能性)对这些候选补丁进行排序。利用上下文信息来估算。

作者的工作:

In this paper, we propose CapGen, a context-aware patch generation technique. The novelty which allows CapGen to produce more correct patches lies in three aspects: (1) The fne-granularity design enables it to fnd more correct fxing ingredients; (2) The context-aware prioritization of mutation operators enables it to constrain the search space; (3) Three context-aware models enable it to rank correct patches at high positions before incorrect plausible ones. We evaluate CapGen on Defects4J and compare it with the state-of-the-art program repair techniques. Our evaluation shows that CapGen outperforms and complements existing techniques. CapGen achieves a high precision of 84.00% and can prioritize the correct patches before 98.78% of the incorrect plausible ones.

这个工作感觉很实,具体亮点在于:1)有工具,2)粒度在AST上,3)用了上下文信息来排序,计算可能性(类似于fitness function),4)自己建立了三个context-aware模型。
此外,还做了一个evaluation。工作量确实够了。

三、论文特色

1)看看人家写的Abstract

CapGen achieves a high precision of 84.00% and can prioritize the correct patches before 98.78% of the incorrect plausible ones.
感觉就很酷,有数据支撑,很明了。

2)开头找的这个背景资料也比较罕见,感觉是做了工作的,反正我是找不到这个文献的,很酷。

A recent study shows that the global cost of general debugging is 312 billion dollars annually and software developers spend 50% of their time on fxing bugs [6].
[6] Tom Britton, Lisa Jeng, Graham Carver, Paul Cheak, and Tomer Katzenellenbogen. 2013. Reversible debugging software. Judge Bus. School, Univ. Cambridge,
Cambridge, UK, Tech. Rep (2013).

四、生词收集

devise
VERB 设计;发明;策划;想出
If you devise a plan, system, or machine, you have the idea for it and design it.

prioritize
英 [praɪˈɒrətaɪz] 美 [praɪˈɔ:rətaɪz]
vt. 优先处理;按重要性排列,划分优先顺序
按重要性排列;划分优先顺序 to put tasks, problems, etc. in order of importance, so that you can deal with the most important first
[VN] 优先处理 to treat sth as being more important than other things

五、好句摘录

We address the challenge by devising a strategy to prioritize the candidate patches based on their likelihood of being correct.
注意devise,还有address the challenge

参考文献

[1] 香港科技大学. https://baike.baidu.com/item/香港科技大学/1670844?fromtitle=The%20Hong%20Kong%20University%20of%20Science%20and%20Technology&fromid=11210929&fr=aladdin
[2] https://2018.msrconf.org/profile/mingwen

文末诗词

桐花半亩,静锁一庭愁雨。洒空阶、夜阑未休,故人剪烛西窗语。似楚江暝宿,风灯零乱,少年羁旅。
——周邦彦《锁窗寒》

大有一种相思少年羁旅之忧愁。

软工学者Ming Wen及其顶会论文解读相关推荐

  1. 软工大牛Collin McMillan及其顶会论文解读

    前言 本文介绍软工大牛Collin McMillan及其今年顶会论文"Detecting Speech Act Types in Developer Question.Answer Conv ...

  2. 软工大牛Rijnard van Tonder 和 Claire Le Goues及其顶会论文解读

    前言 本文旨在介绍软工大牛Rijnard van Tonder, Claire Le Goues及其今年ICSE 2018顶会论文"Static Automated Program Repa ...

  3. 计算机学习入门指北——计科软工网络信安侧重图析、解读专业术语、岗位分类、未来规划

    申明:本博文偏技术向,主观性较强,其中部分理解必有偏差和误解,望指出改正! 计算机学习入门指北: 作为刚入学的计算机系学生,面对一片专业术语十分蒙.区块链?大数据?开源?数据库?嵌入式开发?前端后端? ...

  4. 软工学者Rui Abreu的论文研究

    文章目录 前言 0 要读的论文 1 A qualitative reasoning approach to spectrum-based fault localization 1.1 基本介绍 1.2 ...

  5. 最新自然语言处理领域顶会论文大合集!

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! [导读]本资源整理了近几年,自然语言处理领域各大AI相关的顶会中,一些经典.最新. ...

  6. 2022安全与软工顶会中区块链智能合约相关论文

    2022安全与软工顶会中区块链智能合约相关论文 前言 安全顶会 S&P USENIX Security CCS NDSS 软工顶会 TOSEM TSE ISSTA FSE ASE ICSE 前 ...

  7. 软工实践原型设计——PaperRepositories

    软工实践原型设计--PaperRepositories 写在前面 本次作业链接 队友(031602237吴杰婷)博客链接 pdf文件地址 原型设计地址(加载有点慢...) 结对成员:031602237 ...

  8. 卷王指南,大学计算机专业,面临分专业,计科,软工,大数据,物联网,网络工程,该选什么?

    同学们好,我是王老师--二哥呀!(笑喷) 好巧!前几天有同学私信问过我这个问题:大学计算机专业,面临分专业,计科,软工,大数据,物联网,网络工程,该选什么?再加上高考结束后填报志愿,想必 CSDN 上 ...

  9. 软工1816 · 第二次作业 - 个人项目

    第二次软工作业 Github提交链接 PSP表格 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 15 45 ...

  10. 软工专硕考研_18武汉理工大学软工专硕考研经验分享(学渣版)

    本帖最后由 清泉流响 于 2018-4-10 08:14 编辑 2018年4月9号上午9.43分 地点:江苏昆山 在做的事情:上班摸鱼,2018考研已经告一段落,本着吃水不忘挖井人的理念,特此将学渣版 ...

最新文章

  1. 知乎热议:28岁郭宇期权过亿,彪悍从字节退休,旅居日本开温泉酒店
  2. 使用Apache来构建URL缩短服务
  3. 转载ASP.NET MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别
  4. 【转】采用dlopen、dlsym、dlclose加载动态链接库
  5. python学习必备知识点: 装饰器
  6. python opencv 官方文档里LaTeX公式不能正常显示怎么办?
  7. 管理沟通中移情的应用_移情在设计中的重要性
  8. Strategy(策略)--对象行为型模式
  9. springboot 历史版本文档_乘风破浪,SpringBoot入门
  10. Oracle监听启动扫描sqlnet,监听中sqlnet.ora的作用
  11. 结构体04:结构体嵌套结构体
  12. Python包管理器-pip
  13. Web应用程序的目录结构
  14. 书评 微权力下的成功项目管控(第2版)
  15. 模型调参:概述【weight_decay、base_lr、lr_policy、clip_norm】【超参数调优方式:网格搜索(尝试所有可能组合)、随机搜索(在所有可能组合中随机选取参数组合)】
  16. java diamond 运算符_解决:Java source1.5不支持diamond运算符,请使用source 7或更高版本以启用diamond运算符...
  17. c# aes解密 java,C#实现的AES加密解密完整实例
  18. 王逸凡的十万个为什么
  19. 差异增量备份和累积增量备份区别(有图)
  20. Mybatis查询中使用游标

热门文章

  1. 计算机财务函数pmt,《5个财务函数FV、PV、PMT、NPER与RATE》.docx
  2. leetcode499 迷宫III
  3. 服务器系统漏洞修补记录,服务器安全狗之系统漏洞修复教程与实例
  4. 「文章重现」2019发表在NBT的10x sc-ATAC-seq分析重现
  5. 解决无法安装Axure RP 9(Windows 7 SP1 更新补丁)
  6. vscode中backspace按键失效
  7. 联通的沃phone相关新闻
  8. SpringCloudAlibaba之Nacos
  9. 计算机主机电池,台式机主板电池没电不换有什么影响?教你更换电脑主板电池的方法...
  10. R_Studio(关联)对Groceries数据集进行关联分析