金磊 发自 凹非寺
量子位 | 公众号 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— 完 —
量子位 QbitAI · 头条号签约