[發明專利]一種基于多目標優化算法NSGA-Ⅱ推薦跨項目關聯缺陷報告的方法在審
| 申請號: | 201710932159.0 | 申請日: | 2017-09-30 |
| 公開(公告)號: | CN109597747A | 公開(公告)日: | 2019-04-09 |
| 發明(設計)人: | 陳林;任浩;馬皖王瑩 | 申請(專利權)人: | 南京大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F17/27 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 210023 *** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 缺陷報告 多目標優化算法 關聯度 主題相似性 關聯缺陷 關聯 查詢 關聯度計算 源代碼文件 主題相似度 有效定位 源文件 排序 修復 | ||
本發明提供一種基于多目標優化算法NSGA?II推薦跨項目關聯缺陷報告的方法,主要包含以下步驟:1)獲取與查詢缺陷報告所在項目關聯的其他項目,主要基于缺陷所在項目的信息以及項目參與人的信息;2)計算項目之間的關聯度:主題相似度、項目重要程度、項目之間的距離,對項目的關聯度排序;3)對于關聯度較大的項目,計算其中的缺陷與查詢缺陷報告之間的主題相似性以及將要修改的源代碼文件之間的距離;4)根據缺陷報告的主題相似性、源文件距離、項目的關聯度計算適應值函數;5)利用多目標優化算法NSGA?II產生相關聯程度最大的跨項目缺陷報告。本發明主要解決目前缺乏對查詢缺陷報告推薦相關聯的跨缺陷報告問題,能夠有效定位、修復跨項目缺陷,提高處理跨項目缺陷報告的效率。
技術領域
本發明屬于計算機技術領域,涉及到軟件缺陷報告的收集以及分析、項目之間相關聯程度的分析、缺陷報告之間相似度的計算,是一種基于多目標優化算法NSGA-II推薦跨項目關聯缺陷報告的方法。
背景技術
軟件缺陷是計算機程序或系統中存在的、會破壞軟件正常運行能力的問題或錯誤,是系統所需要實現的某種功能的失效或違背。在軟件開發和維護過程中,由于各種因素的影響,軟件缺陷很難避免,而且會經常出現。
在軟件系統開發中,開發者往往需要調用項目內的其它模塊甚至其它項目已實現的功能模塊。在這個場景中,我們稱調用其它項目模塊的項目為下游項目,被調用的項目為上游項目。隨著軟件規模的不斷增長,跨項目的模塊調用越來越常見。這種跨項目的模塊調用也給軟件質量保證,特別是缺陷的定位和修復帶來了新的問題。
上游項目和下游項目的缺陷可能不是獨立存在的,它們之間存在某些聯系。例如,上游項目的缺陷可能會影響多個下游模塊的正常使用,下游項目缺陷的修復可能依賴于上游項目缺陷的修復。在復雜軟件系統的開發中,上游和下游項目都可能有多個,其中的缺陷可能與多個項目的多個缺陷相關聯。我們稱這些項目之間存在依賴關系,相應的缺陷稱為跨項目關聯缺陷。跨項目關聯缺陷間既可能有直接關系(例如一個缺陷是造成另一個缺陷的根源),也可能因其他缺陷相關而產生間接聯系。
當軟件開發者或使用者遇到一個缺陷時,通常會撰寫一份缺陷報告來描述所遇到的問題以及相關信息,并反饋給項目開發人員。通常,開發者會根據缺陷報告在項目內進行定位,找到缺陷并修復缺陷。然而,在跨項目關聯缺陷的場景下,這樣的流程也發生了巨大變化。
本發明關注著名的代碼托管平臺GitHub上的跨項目關聯缺陷的定位與修復過程。在GitHub上,缺陷報告被稱為Issue。例如先考慮一個例子,一個開發者在pip項目中提出一個Issue(id為#1488,記作pip#1488,下同)。在該Issue的討論過程中有開發者發現它與requests項目中的requests#749以及urllib3中的urllib3#257相關。進一步的,requests的開發者又發現requests#749與urllib3項目的urllib3#89、urllib3#128、urllib3#156、urllib3#140相關,其他項目的開發者也發現有更多的Issue(例如github3.py#142)與requests#749相關。多個不同項目的開發者對關聯的多個報告進行了討論,最后共同修復了這幾個缺陷。這個例子表明,關聯的缺陷報告有助于開發者定位問題,有助于他們協作修復缺陷。本發明正是基于這樣的事實,提出了一種跨項目關聯缺陷報告的推薦方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京大學,未經南京大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710932159.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:故障分析方法及裝置
- 下一篇:代碼缺陷預警方法及裝置





