華人博士拿下ACM SIGSOFT傑出博士論文獎,師從北大謝濤教授

就在剛剛,本年度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方面,林永政的工作提出了一個名爲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