度量和緩減軟體系統架構惡化的實證研究

度量和緩減軟體系統架構惡化的實證研究

《度量和緩減軟體系統架構惡化的實證研究》是依託中南大學,由李祖德擔任項目負責人的青年科學基金項目。

基本介紹

  • 中文名:度量和緩減軟體系統架構惡化的實證研究
  • 項目類別:青年科學基金項目
  • 項目負責人:李祖德
  • 依託單位:中南大學
項目摘要,結題摘要,

項目摘要

持續的代碼變更常導致軟體系統架構惡化,即系統內部各代碼模組之間的耦合過於緊密,使得系統質量降低和代碼變更成本上升、易於出錯。其顯著表征就是存在於多個系統模組內的交叉型(軟體)缺陷。從缺陷的角度分析架構惡化能對系統質量和可持續性演化都有直接指導意義,然而國內外目前尚無相關研究成果。本課題擬採用實證軟體工程方法,基於交叉型缺陷的分析,度量和緩減工業系統的架構惡化現象。主要研究內容包括:一,交叉型缺陷基本特徵(如分布廣度和複雜度等)的量化描述;二,系統架構惡化的度量和誘因研究;三,提出緩減系統架構惡化的策略及具體方案;四,研製原型系統以輔助度量和緩減一般性系統的架構惡化現象。本課題的實證研究不僅可獲得關於交叉型缺陷和架構惡化的實證知識,而且所研製的原型系統也可用於工業系統的維護、演化及質量控制。

結題摘要

本項目以工業級大規模軟體系統演化實踐為背景,基於“交叉型缺陷”這一獨特視角,套用實證軟體工程研究方法,度量和緩減系統“架構惡化”現象。交叉型缺陷是存在於多個系統模組內的軟體缺陷,架構惡化即軟體系統內部各代碼模組之間的耦合過於緊密,使得系統質量降低和代碼變更成本上升、易於出錯。項目的主要研究內容包括四方面。(一)量化描述交叉型缺陷的基本特徵(如分布廣度和複雜度等),典型結論有:交叉型缺陷約占所有缺陷的10-20%,其中之80%聚集於約20%的系統構件,且這些構件具有明顯更強於其他構件的缺陷持續密集特徵(簡言之,在前一版本中密集交叉型缺陷的構件會在下一版本依據密集交叉型缺陷。);另外,修正一個交叉型缺陷需要3倍於修正一個普通缺陷的代碼變更數量。(二)度量系統架構惡化程度並查明其誘因,相關研究發現常規的軟體維護和演化實踐都帶有“髒”的特徵,即在修改代碼的同時會破壞系統原有的架構及其相關質量屬性,故而導致架構惡化。架構層面的髒變更是導致架構惡化的主因。(三)提出緩減系統架構惡化的策略及具體方案,認為構件層面的再工程既能有效緩減架構惡化,同時還能極大控制工程成本、時間和資源需求,是一項可在實踐中常態化套用的有效技術;(四)研製原型工具集以輔助度量和緩減一般性系統的架構惡化現象,這套工具集基於對軟體系統缺陷及其修複數據的分析,獲得關於系統內部交叉型缺陷的量化特徵,進而度量系統的架構惡化程度以及跨越多版本的架構惡化趨勢,最後為系統架構設計師和管理者提供架構惡化緩減建議。縱觀上述之主要成果,申請人團隊認為,本項目能對工業界大規模軟體系統的質量控制和可持續性演化產生直接積極的指導意義,且已彌補國內外相關研究成果之空白(相關研究成果已發表於國際權威學術期刊和會議)。典型的,本項目關於交叉型缺陷的研究成果可指導系統維護人員關注一類特殊的、會產生明顯負面影響的、且耗費更大維護成本的缺陷(儘管這類缺陷為數並不多)。同時,本項目關於架構惡化的度量結論可幫助架構師適時主動改善系統架構,以避免以往被動的、耗費極大成本和時間的系統級再工程實踐。

相關詞條

熱門詞條

聯絡我們