基於機器學習的軟體調試技術研究

基於機器學習的軟體調試技術研究

《基於機器學習的軟體調試技術研究》是依託上海交通大學,由趙建軍擔任項目負責人的面上項目。

基本介紹

  • 中文名:基於機器學習的軟體調試技術研究
  • 項目類別:面上項目
  • 項目負責人:趙建軍
  • 依託單位:上海交通大學
項目摘要,結題摘要,

項目摘要

軟體調試是提高程式正確性的重要手段,但其自動化程度仍有待提高。已有的基於程式分析的自動調試方法雖然取得了一定的成果,但存在其固有的局限性。同時,機器學習方法已廣泛套用於軟體工程領域,並在軟體調試等細粒度的工程活動中展現出良好的套用前景。本課題通過將機器學習及統計分析的方法套用到軟體調試過程中,提出一套新的自動化調試技術,用於支持整個軟體系統的調試過程。該技術採用人工神經網路、關聯規則學習、最近鄰搜尋等機器學習方法,基於程式代碼的靜態數據、程式運行時的動態數據以及程式設計師在調試過程中所使用的信息構建相應的模型,提供五個方面的自動化以及半自動化的調試功能:靜態警告排序、大規模程式的缺陷定位、並發程式的錯誤重現、自動推薦斷點和程式自動修復。該技術能大大提高軟體調試的自動化程度,提高調試過程的效率,降低軟體維護的成本。

結題摘要

軟體調試是提高程式正確性的重要手段,但其自動化程度仍有待提高。已有的基於程式分析的自動調試方法雖然取得了一定的成果,但存在其固有的局限性。同時,機器學習方法已廣泛套用於軟體工程領域,並在軟體調試等細粒度的工程活動中展現出良好的套用前景。本課題通過將機器學習及統計分析的方法套用到軟體調試過程中,提出一套新的自動化調試技術,用於支持整個軟體系統的調試過程。該技術採用人工神經網路、關聯規則學習、最近鄰搜尋等機器學習方法,基於程式代碼的靜態數據、程式運行時的動態數據以及程式設計師在調試過程中所使用的信息構建相應的模型,提供五個方面的自動化以及半自動化的調試功能:靜態警告排序、大規模程式的缺陷定位、並發程式的錯誤重現、自動推薦斷點和程式自動修復。該技術能大大提高軟體調試的自動化程度,提高調試過程的效率,降低軟體維護的成本。本課題共發表國際雜誌論文5篇(包含2篇尚未正式出版的被接收論文,其中SCI索引5篇)、國際會議論文10篇(其中包括CCF A 類會議:PLDI 一篇、ASE 三篇和CCF B類會議:SONAR 兩篇、ICPC 一篇),以及國核心心期刊論文1篇(計算機學報)。在 CCF B類會議23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER 2016) 上發表的論文 “Efficient and Precise Dynamic Slicing for Client-Side JavaScript Programs” 獲得大會的最佳論文提名獎(Best Paper Candidate Award)。

相關詞條

熱門詞條

聯絡我們