eBPF取代ptrace,建置負擔大減

傳統建置相依性驗證工具常因追蹤機制導致效能下降。早稻田大學開發的mkcheck2延續了劍橋大學Nandor Licker與Andrew Rice於2019年提出的mkcheck概念,但關鍵在於將Linux追蹤技術從ptrace改為eBPF。ptrace需要頻繁暫停程序切換監控,會增加148%的建置時間;而eBPF直接在核心執行記錄,實測後建置時間僅增加0.3%。這使得在大型專案中進行即時追蹤變得更加輕量。

增量分析讓速度飛躍54倍

除了追蹤技術的革新,mkcheck2還引入了增量分析機制。它不再每次提交都重新檢查所有相依關係,而是比較前後建置的相依性圖,只分析發生變化的部分。在300個開源專案的測試中,每次提交的平均分析時間從1,267.49秒劇烈縮短至23.56秒,效率提升約54倍。同時,該工具對缺失相依性的偵測準確率維持在100%,多餘相依性偵測準確率為92%,證明其在提速的同時並未犧牲檢測品質。

讓CI流程更輕鬆

既有研究指出,相依性問題佔大型專案建置錯誤超過一半,維護建置系統甚至可能消耗開發人員27%的工作時間。mkcheck2的大幅降本增效,意味著開發團隊可以將相依性驗證無縫嵌入持續整合(CI)流程中,在每次程式碼變更時自動執行。這不僅能及早發現潛在的建置失敗或錯誤結果,也能避免不必要的重新建置,是提升現代軟體開發效率的重要工具。