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

官方:在软件工程做出杰出贡献

金磊 发自 凹非寺

量子位 | 公众号 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

版权所有,未经授权不得以任何形式转载及使用,违者必究。