金磊 发自 凹非寺
量子位 | 公众号 QbitAI

就在刚刚,本年度ACM SIGSOFT Outstanding Doctroal Dissertation Award(杰出博士论文奖) 新鲜出炉。

这项一年仅有一个名额的学术大奖,被华人Wing Lam(林永政)斩获。

他在UIUC(伊利诺伊大学厄巴纳-香槟分校)读博士期间,受谢涛教授(现北京大学讲席教授)和Darko Marinov教授共同指导。

而据ACM官方介绍,此次林永政获得该奖项,是因为其在软件工程方面所做出的杰出贡献:

谢涛教授也对此送上了祝福:

获奖论文

林永政斩获这份“大奖”背后的研究,是他在UIUC攻读博士时的毕业论文——Detecting Characterizing,And Taming Flaky Tests

这项研究的大背景是随着技术的发展,回归测试逐渐成为软件测试中的一项重要内容。

例如每一次的代码提交、软件集成和产品交付等,都需要需要回归测试来进行检验。

可以说,回归测试是上述这些过程中的一种“试金石”

但可想而知的一点是,当产品功能增加的时候,回归测试用例的数量也会随着增加。

因此,将回归测试自动化便是提高效率的一种趋势。

然而在这个过程中,Flaky Tests却成为了另一个老大难的问题。

(Flaky Tests是指在被测对象和测试条件都不变的情况下,时而成功时而失败、较为不稳定的测试。)

因为自动化回归测试固有的Flakiness性质,会让回归测试很难做到100%的稳定性,而且用例执行频率越高,这种不稳定性会被越发放大。

林永政的这篇论文,就是围绕着Flaky Tests而展开,主要做了三方面的工作:

  • 首先,提出了检测Flaky Tests的新技术,可以让开发人员预先防止Flaky Tests影响回归测试的结果。

  • 其次,提出了描述Flaky Tests的新技术,帮助开发人员更好地理解他们的Flaky Tests。

  • 最后,提出了新技术来驯服(tame)Flaky Tests的问题,通过适应flakiness,使Flaky Tests在回归测试中不会误导开发者。

检测Flaky Tests方面,林永政的工作提出了一个名为iDFlakies的框架。

它可以用来检测和局部分类Flaky Tests:

运行iDFlakies的用例

利用这个框架,林永政在683个项目中进行了应用;除此之外,他还提供了一个包含422个Flaky Tests的数据集用于研究。

根据数据集显示,50.5%的Flaky Tests是顺序依赖(order-dependent,OD)的,而49.5%则是非确定性的(non-deterministic,NOD)。

而且林永政的研究还发现,运行随机类方法配置可以检测出总体上最不稳定(flaky)的测试。

描述Flaky Tests方面,这篇论文率先提出了帮助开发者调试Flaky Tests失败的自动化工具

在这个步骤中,论文还研究了测试顺序对NOD测试的影响:即使是相同的顺序也可能会决定测试的成败。

最后,在驯服Flaky Tests方面,林永政的研究第一个提出自动化技术,可以减少OD测试的假性失败(spurious failures)数量,减少了73%。

与此同时,还提出了第一个自动化技术来加速AW(async-waiting)类型的Flaky Tests(加速了38%)。

论文详情见文末链接。

谁是林永政?

林永政(Wing Lam)出生于香港,后在美国西雅图长大。

其本科就读于西雅图华盛顿大学,后被谢涛教授招进UIUC研究组读博。

很巧的是,林永政本科期间做科研时的导师,正是谢涛教授当年的博导David Notkin。

林永政最初所感兴趣的方向是与安卓测试相关,因此很早地便与谢涛教授有了接触。

后来是因为他的博士毕业论文题目,与谢涛教授在UIUC的同事Darko Marinov教授有交集,最终决定二人对其共同指导。

而从林永政的博士论文中不难看出,谢涛教授对其的科研影响颇深。林永政回忆到:

我清楚地记得,在我获得博士学位的最初几年里,谢涛教授和我一起度过了漫长的时间,从这段时间里我学会了如何塑造自我,让我成长为现在的科研工作者。

例如谢涛教授曾对我说的一句话是,我不应该只是一味地“煮”我的研究,而应该让他“闻到”或“尝到”汤的味道。

并且林永政还表示,谢涛教授经常鼓励他应当多考虑其工作的大局,要对工作抱有更远大的梦想:

我希望能将这样的理想灌输给我未来的学生。

现如今,林永政在美国George Mason大学当助理教授。

关于ACM SIGSOFT杰出博士论文奖

ACM SIGSOFT杰出博士论文奖,每年都会颁给软件工程领域杰出博士论文的作者。

获奖论文的作者将被邀请在Software Engineering Notes(SEN) 中发表论文摘要。

该奖项包含1000美元的酬金和证书,均会在软件工程领域顶级会议ICSE(International Conference on Software Engineering)中颁发。

论文地址:

https://www.ideals.illinois.edu/handle/2142/113017

参考链接:

[1]https://www.sigsoft.org/awards/dissertationAward.html
[2]https://cs.gmu.edu/~winglam/
[3]http://www.51testing.com/html/45/n-4462645.html

华人博士拿下ACM SIGSOFT杰出博士论文奖,师从北大谢涛教授相关推荐

  1. 祝贺淘系技术研究合作者北大谢涛教授获2021年度ACM SIGSOFT杰出服务奖

    近期,北京大学计算机科学技术系讲席教授.淘系技术研究合作者谢涛获得了SIGSOFT 2021年度的杰出服务奖,成为此奖项的首位华人获奖者. 该奖项表彰了谢涛教授"为软件工程界做出的杰出服务贡 ...

  2. 一家两位Fellow大满贯!北大谢涛当选ACM Fellow,与胞兄谢源完成会师

    丰色 发自 凹非寺 量子位 | 公众号 QbitAI 2021年ACM Fellow 71人"大名单",刚刚出炉. 清华大学唐杰教授.微软亚研院副院长刘铁岩.阿里云李飞飞以及北大谢 ...

  3. 北京大学优秀计算机论文,计算机系在ESEC/FSE'20上发表的论文获得ACM SIGSOFT杰出论文奖...

    近日,软件工程顶级会议ESEC/FSE'20组委会公布了该会议上的ACM SIGSOFT杰出论文奖名单,以北京大学计算机科学技术系的师生为主要作者的Detecting Numerical Bugs i ...

  4. ACM MM 2022最佳论文奖出炉!哈工大聂礼强团队与快手合作斩获

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 点击进入-> CV 微信技术交流群 为检索没有文本描述的短视频寻求解法. 转载自:AI科技评论    ...

  5. 90后清华女校友范楚楚获ACM 2020唯一博士论文奖!出任MIT助理教授后再摘桂冠

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 来源 | ACM 转自 | 新智元 编辑 | Priscilla 好 ...

  6. 中国团队狂揽5项大奖!北航团队获2021 ACM MultiMedia唯一最佳论文奖

    来源:新智元 又一场计算机学术盛会落下帷幕! 10月24日,2021 ACM MultiMedia会议顺利闭幕.会议公布了多个奖项:包括最佳论文奖.最佳学生论文奖.最佳Demo奖.最佳开源奖等9个奖项 ...

  7. 中国700万程序员不够用怎么办?我们去问了北大谢涛,顶会ASE最有影响力论文奖首批华人得主...

    金磊 梦晨 发自 凹非寺 量子位 报道 | 公众号 QbitAI 在自动驾驶领域,有着L1-L5的等级划分标准. 随着近年来自动驾驶火热,这一标准不断得到验证,已成为业界共识,也指导着行业发展. 人们 ...

  8. 姚期智施尧耘获FOCS 2021时间检验奖,MIT华人学霸毛啸摘最佳学生论文奖

    鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 计算机理论顶会FOCS 2021各项论文奖项已公布. 最佳学生论文奖被MIT华人学霸毛啸收入囊中. 而姚期智院士和达摩院量子实验室负责人施尧 ...

  9. 动量迭代式对抗噪声生成方法 | VALSE2018年度杰出学生论文奖

    编者按:深度模型的精度和速度长期以来成为了评价模型性能的核心标准,但即使性能优越的深度神经网络也很容易被对抗样本攻击.因此,寻找到合适的对抗攻击策略可有效提升模型本身的鲁棒性.本文作者提出了基于动量的 ...

最新文章

  1. Broadcast Receiver广播接收器
  2. linux文件内容添加序号,nl命令将指定的各个文件添加行号编号序号标注后写到标准输出...
  3. utf-8 编码出现空白
  4. Git版本回退之 reset 和 revert
  5. 扫地机器人返充原理_扫地机器人原理是什么?
  6. android 之数据存储(IO)
  7. 本地套接字示例[来源:Advanced Linux Programming]
  8. 卷积为什么如此强大?理解深度学习中的卷积
  9. Linux centos6.5 安装mysql 以及简要操作书册
  10. Java 8 Stream API详解
  11. 直接拿来用!GitHub 标星 8W,学完它就可以去 Google 面试了!
  12. x264源代码简单分析:宏块分析(Analysis)部分-帧间宏块(Inter)
  13. HDU 5427 A problem of sorting 水题
  14. 快速定位iOS线上BUG在哪个控制器崩溃
  15. 全国网络安全等级保护测评机构推荐目录
  16. 【ACO MTSP】基于matlab粒子群优化蚁群算法求解多旅行商问题【含Matlab源码 1616期】
  17. 进制转换之2进制与16进制之间的相互转换
  18. 某软件公司绩效考核绩效考核_我们(认为我们)对绩效考核所了解的
  19. docker - bridge 网桥
  20. 2019 最烂密码排行榜大曝光!网友:已中招

热门文章

  1. java.lang.StackOverflowError 解决方法
  2. 如何使用composer从Laravel中删除包?
  3. 如何获取cURL以不显示进度栏?
  4. RouterOS限速更高级运用
  5. WPF 基础到企业应用系列1——开篇故意
  6. linux shell里面nohup的用法
  7. Redis Sentinel机制与用法
  8. sql多条件查询语句
  9. C#中处理XML文档的方法
  10. APP测试入门之功能测试