沈學民
(滑鐵盧大學 加拿大安大略省滑鐵盧市)
無人駕駛系統的安全測試主要包括仿真測試和實景道路測試.其中,仿真測試因其支持靈活配置虛擬駕駛場景而受到廣泛關注.仿真測試的核心挑戰在于,如何在龐大的虛擬場景配置空間中搜索和發現容易導致安全事故的場景.將模糊測試技術與仿真測試相結合,構建面向無人駕駛系統的仿真模糊測試技術是解決上述挑戰的潛在方案之一.
復旦大學的楊珉教授團隊撰寫的“面向無人駕駛系統的仿真模糊測試:現狀、挑戰與展望”一文介紹了無人駕駛系統仿真模糊測試的基本架構,并梳理了此架構下的關鍵模塊.針對事故挖掘場景,該文剖析了各關鍵模塊所面臨的設計挑戰,給出了對應的優化思路,并在主流無人駕駛系統上進行了可行性實驗論證.具體來說,該文包含以下3 個主要貢獻:
1.提出了一種高質量種子場景的自動化構建方法,通過引入真實世界中車輛和行人的軌跡數據,自動化地構建了高質量的種子場景,解決了依賴個人經驗的手工生成方式導致的種子場景質量不高的問題.在Apollo 系統上的測試結果表明,該種子場景構建方法在事故挖掘能力方面相較于現有工作最少提升了203%.
2.提出了一套基于事故主體和事故特性的分類體系,通過對挖掘到的大量事故場景進行相似性聚類,實現了準確的事故分類,同時避免了不必要的分析開銷.在涉及50 種事故類型的500 例事故場景的分類任務中,該體系的分類準確率遠高于現有方案AutoFuzz.
3.提出了一種定制化的事故歸因分析方法,通過實時地監控比對仿真場景中各元素的狀態與無人駕駛系統的模塊執行信息,有效識別事故主責模塊.實驗結果表明,在50 個事故場景中,該方法能正確地分析出其中44 個缺陷所在的功能模塊,平均用時0.05 小時,相比人工分析的平均用時4.4 小時,顯著提高了事故歸因效率.
仿真模糊測試對提升無人駕駛系統的安全性至關重要,而一套優秀的仿真模糊測試方法體系的形成往往需要經歷長時間的研究與實踐.其原因是,對仿真模糊測試架構進行模塊化拆解,需要深入理解仿真測試與模糊測試的關系和互相作用.而針對各模塊分別提出合理的優化方案,則需要系統性地掌握包括模糊測試、代碼分析、編譯優化、數據挖掘等在內的一系列基礎知識.該文對無人駕駛系統仿真模糊測試進行了深刻而全面的闡述,走出了具有啟發性的一步.這是源于作者團隊過去10 余年在軟件應用程序漏洞挖掘與分析方面的長期探索和積累.我相信,隨著無人駕駛系統安全測試領域的不斷發展,該文在學術研究和產業實踐方面將會起到越來越重要的指引和推動作用.