《面向動態語言程式的缺陷理解研究》是依託南京大學,由徐寶文擔任項目負責人的面上項目。
基本介紹
- 中文名:面向動態語言程式的缺陷理解研究
- 項目類別:面上項目
- 項目負責人:徐寶文
- 依託單位:南京大學
項目摘要,結題摘要,
項目摘要
動態語言以其簡單、靈活的特性得到了廣泛套用,尤其是在網路化軟體中。然而,其特性也給程式的調試帶來了很大的困難。作為調試中的重要組成部分,全面、準確的缺陷理解至關重要。本項目擬以軟體的當前版本和其演化歷史包含的信息為基礎,以減少程式的調試工作量為目標,研究面向動態語言程式的缺陷理解方法。具體研究內容包括:(1)研究面向動態語言的程式分析方法,以獲取更全面、精確的程式上下文信息;(2)研究基於大規模軟體數據倉庫挖掘的缺陷模式與修復模式挖掘方法,以獲取歷史信息,指導缺陷理解;(3)研究面向動態語言程式的基於程式分析與模式導向的缺陷理解方法,綜合歷史信息與當前信息,以提高缺陷理解的準確度;(4)研製支撐平台並結合實際軟體進行實驗驗證。本項目的研究可以為動態語言程式的調試提供有力支持,具有重要的理論與套用價值。
結題摘要
動態語言以其簡單、靈活的特性得到了廣泛套用。然而,這些動態特性也給程式的調試帶來了很大的困難。全面、準確地理解缺陷對於調試非常重要。本項目以軟體的當前版本和其演化歷史包含的信息為基礎,以減少程式的調試工作量為目標,研究面向動態語言程式的缺陷理解方法。具體研究內容包括:(1)研究面向動態語言的程式分析方法,以獲取更全面、精確的程式上下文信息;(2)研究基於大規模軟體數據倉庫挖掘的缺陷模式與修復模式挖掘方法,以獲取歷史信息,指導缺陷理解;(3)研究面向動態語言程式的基於程式分析與模式導向的缺陷理解方法,綜合歷史信息與當前信息,以提高缺陷理解的準確度;(4)研製支撐平台並結合實際軟體進行實驗驗證。本項目對動態語言程式的程式分析技術,以及基於程式分析和缺陷模式挖掘導向的缺陷理解進行了深入研究。取得了如下重要結果:1、提出了一種基於機率的類型推導方法可以將類型信息的依據其可信性機率進行傳播;2、提出了一種Python程式的預測性分析方法,即將程式軌跡編碼為符號約束,通過約束求解來識別觸發缺陷的輸入,從而檢測缺陷。3、對跨項目缺陷的代碼模式和修復進行了實證分析,發現了一些影響跨項目缺陷定位的重要影響因素和缺陷修復行為模式,為軟體生態系統中缺陷分析與追蹤提供了幫助。4、對比了簡單無監督模型與有監督模型的工作量感知缺陷預測能力,發現簡單無監督模型往往比有監督模型更有效,從而後續研究應予以重視和關注。5、提出了一種智慧型化基於機率推導的調試方法,該方法能夠充分利用開發者知識進行調試,從而比現有方法更高效。本項目的研究可以為動態語言程式的調試提供有力支持,具有重要的理論與套用價值。