GraphLocator系統

GraphLocator系統是由北京大學高可信軟體技術教育部重點實驗室劉偉領導,與位元組跳動研究人員合作開發的一款智慧型軟體問題診斷系統,其相關論文於2025年12月發表。

該系統的核心創新在於引入“因果推理”概念,通過構建代碼依賴結構圖和因果問題圖來定位軟體問題的根源。在涵蓋Python和Java語言的三個大型數據集測試中,GraphLocator在精確定位任務上的性能比現有方法平均提高了19.49%的召回率和11.89%的精確度。研究團隊已將該系統代碼開源。

基本介紹

  • 發表時間:2025年12月
  • 開發者:北京大學研究團隊
  • 開源狀態:已開源
  • 性能提升:平均召回率提高19.49%
    平均精確度提高11.89%
  • 技術特點:因果推理定位問題
  • 程式語言:Python
    Java
研發背景,技術原理,工作流程,實驗驗證,研究意義,

研發背景

GraphLocator系統是由北京大學高可信軟體技術教育部重點實驗室劉偉領導的研究團隊開發的,位元組跳動的彭超和高鵬飛等研究人員也參與了這項研究。相關研究成果於2025年12月以arXiv預印本論文形式發表,編號為2512.22469v1。

技術原理

GraphLocator系統的核心創新在於系統性地引入因果推理概念,為每個軟體問題構建詳細的因果地圖。該系統由代碼依賴結構圖和因果問題圖兩個相互配合的圖譜系統組成,其中代碼依賴結構圖採用分層設計詳細記錄軟體組件的位置、類型和相互關係,因果問題圖通過節點和連線記錄子問題及其因果關係。整個診斷過程分為症狀點定位和動態因果發現兩個緊密配合的階段。

工作流程

GraphLocator系統的問題定位工作流程主要分為兩個緊密配合的階段。第一階段為“症狀點定位”,系統使用配備三種診斷工具(頂點搜尋、邊緣搜尋和完成信號)的“搜尋代理”,在代碼庫中快速定位與症狀對應的代碼位置。
第二階段為“動態因果發現”,系統使用“因果分析代理”採用優先權驅動的策略進行因果推理,動態更新因果問題圖,以追溯問題的根本原因和影響範圍。

實驗驗證

GraphLocator系統在三個大型軟體項目數據集上進行了驗證,包括SWE-bench Lite、LocBench和Multi-SWE-benchJava,涵蓋了Python和Java兩種程式語言,共包含987個真實的軟體問題案例。
在與四種基準方法的比較中,GraphLocator在函式級別的精確定位任務中取得了最佳表現,平均召回率提高了19.49%,精確率提高了11.89%。該系統在處理症狀與病因分離的問題以及一對多複雜問題時表現尤為出色。
研究團隊還進行了成本效益分析和消融實驗,驗證了系統各組件的必要性。實驗表明,使用GraphLocator生成的因果問題圖能使後續問題修復的成功率提高28.74%。

研究意義

GraphLocator系統首次將因果推理的概念系統性地套用到軟體問題診斷中。在定位準確性上,GraphLocator比現有方法平均提高了19.49%的召回率和11.89%的精確度,在處理複雜的跨模組問題時效果較為明顯,且修復成功率提高了28.74%。該方法為軟體維護效率的研究提供了新的思路。該系統能夠生成診斷報告和因果解釋,有助於進行問題定位與修復。研究團隊已將GraphLocator的代碼及相關文檔開源。

相關詞條

熱門詞條

聯絡我們