作業系統核心并發錯誤檢測研究進展
方法:形式化驗證、靜态分析、動态分析和靜态動态
應對并發錯誤的措施:并發錯誤檢測、并發錯誤避免、并發錯誤預測和診斷
常見的并發錯誤:包括死鎖、資料競争、原子性違例和順序性違例等
并發錯誤檢測名額:誤報率、漏報率和檢測速度
目前很多核心開發人員仍在廣泛使用的核心級并發錯誤檢測工具,如 Linux 核心死鎖檢測工具 Lockdep [38] 、記憶體檢查工具
KASAN [39] 、模糊測試工具 Syzkaller [40] 和資料競争檢測工具 KTSAN [41] 等都存在很大的不足
形式化驗證方法有:
-
- 基于定理證明的作業系統驗證-一組規則并進行推理證明
- 基于模型檢驗的檢測
靜态檢測方法:
-
- 基于資料流分析的檢測
- 基于符号執行的檢測
- 基于作業系統核心特性的檢測
動态檢測方法:
-
- 基于動态二進制插樁的檢測
- 基于動态調試的檢測
- 基于系統化排程的檢測
- 基于模糊測試的檢測
靜态與動态相結合的檢測方法
未來研究趨勢:
- 結合作業系統核心
- 發掘新的核心并發錯誤類型
- 靜态與動态相結合的并發錯誤檢測
- 基于形式化驗證方法的并發錯誤檢測
- 其他作業系統核心的并發錯誤檢測
目前針對模糊測試的研究趨勢,希望各位大佬能夠多多提出有益處的意見!
論文、工具、技術都不限