天天看點

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

金磊 發自 凹非寺

量子位 | 公衆号 QbitAI

就在剛剛,本年度ACM SIGSOFT Outstanding Doctroal Dissertation Award(傑出博士論文獎) 新鮮出爐。

這項一年僅有一個名額的學術大獎,被華人Wing Lam(林永政)斬獲。

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

他在UIUC(伊利諾伊大學厄巴納-香槟分校)讀博士期間,受謝濤教授(現北京大學講習教授)和Darko Marinov教授共同指導。

而據ACM官方介紹,此次林永政獲得該獎項,是因為其在軟體工程方面所做出的傑出貢獻:

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

謝濤教授也對此送上了祝福:

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

獲獎論文

林永政斬獲這份“大獎”背後的研究,是他在UIUC攻讀博士時的畢業論文——Detecting Characterizing,And Taming Flaky Tests。

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

這項研究的大背景是随着技術的發展,回歸測試逐漸成為軟體測試中的一項重要内容。

例如每一次的代碼送出、軟體內建和産品傳遞等,都需要需要回歸測試來進行檢驗。

可以說,回歸測試是上述這些過程中的一種“試金石”。

但可想而知的一點是,當産品功能增加的時候,回歸測試用例的數量也會随着增加。

是以,将回歸測試自動化便是提高效率的一種趨勢。

然而在這個過程中,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:

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

△運作iDFlakies的用例

利用這個架構,林永政在683個項目中進行了應用;除此之外,他還提供了一個包含422個Flaky Tests的資料集用于研究。

根據資料集顯示,50.5%的Flaky Tests是順序依賴(order-dependent,OD)的,而49.5%則是非确定性的(non-deterministic,NOD)。

而且林永政的研究還發現,運作随機類方法配置可以檢測出總體上最不穩定(flaky)的測試。

在描述Flaky Tests方面,這篇論文率先提出了幫助開發者調試Flaky Tests失敗的自動化工具。

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

在這個步驟中,論文還研究了測試順序對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)中頒發。

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

論文位址:

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

繼續閱讀