基於缺陷分析的軟體體系結構演化研究

基於缺陷分析的軟體體系結構演化研究

《基於缺陷分析的軟體體系結構演化研究》是依託中南大學,由盛津芳擔任項目負責人的專項基金項目。

基本介紹

  • 中文名:基於缺陷分析的軟體體系結構演化研究
  • 項目類別:專項基金項目
  • 項目負責人:盛津芳
  • 依託單位:中南大學
項目摘要,結題摘要,

項目摘要

軟體演化過程中,軟體體系結構複雜度增加會導致軟體質量逐漸下降。研究軟體體系結構演化趨勢的分析方法對於確定軟體重構的時機和降低重構的成本具有重要意義。由於現有的基於軟體體系結構特徵度量的分析方法具有可操作性不強、僅適用於特定開發模式和開發語言等不足,本項目擬從軟體缺陷分析的角度開展研究。具體研究內容包括:(1)軟體缺陷與程式變更的關在線上制;(2)具有層次特性的缺陷體系結構建模及其混合可視化描述方法;(3)支持多維分析的缺陷數據模型及多維分析方法;(4)缺陷體系結構複雜度度量方法;(5)基於缺陷體系結構複雜度度量的軟體體系結構演化趨勢分析方法及工具;(6)軟體體系結構重構策略,包括:重構時機、組件重構的優先權、重構方法。本項目結合實際案例進行研究,研究成果將為軟體體系結構的演化分析提供可量化的依據,為制定有效的軟體重構策略提供決策支持。

結題摘要

為了適應不斷變化的需求變更,軟體必須不斷地進行演化。在軟體演化的過程中,軟體結構逐漸偏離原有設計,並且這種結構上的偏離導致了軟體質量的下降,則稱為軟體體系結構退化。本項目從軟體缺陷分析的角度,研究軟體體系結構演化趨勢的判斷方法。本項目討論了軟體缺陷與軟體體系結構退化之間的關係,確定了軟體缺陷能用於表征軟體體系結構退化並且退化存在關鍵因素(退化關鍵組件、退化關鍵組件關係);提出了一種面向缺陷分析的缺陷分類方法DC4DA,基於該分類方法,設計了用於缺陷分析的多維數據模型。DC4DA缺陷屬性的選擇淡化、減少了人的活動信息,更多地關注於缺陷本身的特徵,為缺陷分析奠定了數據基礎;提出了一種將缺陷危害度分別與缺陷規模和缺陷複雜度相結合的度量方法,與現有的單純基於缺陷規模或複雜度的度量方法相比,能更全面地反映缺陷的內部和外部特徵。該方法分別從缺陷內聚度和缺陷耦合度兩個方面對軟體系統的組件層和子系統層的缺陷進行度量;提出了一種軟體體系結構演化趨勢分析模型,模型以軟體缺陷作為輸入,使用缺陷度量方法對缺陷進行量化處理,再以這些度量結果作為基礎,抽象出軟體的不同層次的缺陷體系結構,用於評估和診斷單個軟體版本體系結構中可能存在的問題。同時也可以通過缺陷體系結構的演化圖,分析各版本的關鍵缺陷因素的持續性,為軟體體系結構的演化趨勢判斷提供依據;以DC4DA與軟體缺陷體系結構模型為基礎,設計、實現了一個軟體體系結構演化分析原型系統,並通過實例分析對提出的兩種缺陷度量方法的可行性與有效性進行了驗證;針對基於組件的軟體系統,研究了如何通過性能反模式的檢測來發現系統在結構上的設計缺陷。針對現有的反模式描述方法的不足,提出了一種基於一階謂詞的描述方法,該方法綜合考慮了反模式的表現形式和表現症狀,對反模式的描述更為準確,且具有較好的可擴展性和通用性。提出了一種候選反模式的機率計算方法,有效減少了反模式檢測結果的漏報和誤報。提出了一種基於過濾策略的反模式性能影響排序機制,有助於在系統重構時優先考慮對系統影響較大的反模式。

相關詞條

熱門詞條

聯絡我們