對象模型上互動式修復生成技術研究

《對象模型上互動式修復生成技術研究》是依託北京大學,由熊英飛擔任負責人的青年科學基金項目。

基本介紹

  • 中文名:對象模型上互動式修復生成技術研究
  • 項目負責人:熊英飛
  • 項目類別:青年科學基金項目
  • 依託單位:北京大學
項目摘要,結題摘要,

項目摘要

修復軟體製品中的不一致(也稱錯誤)是軟體開發中的一項基本活動。為了幫助用戶修復不一致,部分軟體系統提供互動式修復,比如Eclipse對Java編譯錯誤提供Quick Fix,嵌入式作業系統eCos為配置錯誤提供修復建議等等。互動式修復顯著減輕了修復不一致的工作量,但由於開發修復生成模組成本較高,目前只在少數系統中有套用。.本項目的目標是,給定用對象模型表示的軟體製品,通過分析軟體製品上的約束和用戶的修改歷史,自動的生成高質量的互動式修複列表。同現有工作相比,本項目包含如下三點創新:一、引入約束求解程式,利用其強大的分析能力更高效地生成修復;二、合併同類別的修復,增強修複列表的可讀性;三、通過挖掘用戶的編輯歷史,過濾掉不常用修復,提高修複列表的質量。通過本項目的執行,在理論上我們期望建立起互動式修復的理論模型,在實踐上我們期望大大降低修復生成程式的開發成本,拓寬互動式修復的套用範圍。

結題摘要

軟體開發過程中不可避免的要出現軟體缺陷,對缺陷進行修復是軟體開發成本的一個很大的部分。缺陷修復的一大難點在於構造出合適的修複方案,如果能自動生成修複方案列表供用戶選擇,將有望大大降低缺陷修復的工作量。 本項目的主要研究目標為,提出一套理論和算法,通過分析軟體製品上的約束和其他相關信息,針對缺陷給出高質量的修複方案列表,並在多個領域得到套用。基於這個目標,項目組對多個不同類型的缺陷進行了詳細調研,分析了各種不同類型的缺陷的性質,並分領域提出了缺陷的修複方法。具體而言,項目組對API使用缺陷、配置缺陷、記憶體泄露缺陷、浮點數缺陷進行了詳細研究,提出了API使用缺陷的修復推薦方法,完善了配置缺陷修複列表生成技術,提出了全自動記憶體泄露修復缺陷技術,和浮點數誤差修複方法。其中API使用缺陷的修復推薦方法提出採用從已有修復中學習的方法,成功避免程式缺陷修復的經典難題——修復與測試過擬合問題;配置缺陷修復技術首次同時實現了修復的正確性、完整性和最簡性;自動記憶體泄露修復技術首次實現了全自動修復C語言記憶體泄露,並保證修復的正確性;浮點數誤差缺陷首次實現了浮點數誤差缺陷的高效自動查找。本項目的主要創新為,通過緊湊表示方法、用戶編碼領域知識、從用戶編輯操作和已有修復歷史學習等多種技術,成功避免的缺陷修復領域的經典難題——過擬合問題。 項目發表論文13篇,申請專利一份,其中4篇論文發表在CCF A類期刊會議上,發表在CCF A類期刊IEEE TSE上的論文被選為網站首頁論文,發表在CCF A類會議ICSE'15上的論文入圍ACM SIGSOFT Distinguished Paper Award,發表在程式語言重要會議PEPM'15上的論文作為會議優秀論文推薦到期刊。項目負責人也多次受到會議邀請,就項目的研究內容做特邀報告。

相關詞條

熱門詞條

聯絡我們