面向全生命周期的軟體協同演化關鍵技術研究

《面向全生命周期的軟體協同演化關鍵技術研究》是依託東南大學,由李必信擔任項目負責人的面上項目。

基本介紹

  • 中文名:面向全生命周期的軟體協同演化關鍵技術研究
  • 項目類別:面上項目
  • 項目負責人:李必信
  • 依託單位:東南大學
中文摘要,結題摘要,

中文摘要

協同演化主要關注在軟體全生命周期中,當一個軟體製品發生演化時,另一個軟體製品是如何發生相應演化的、軟體製品之間的演化是如何相互影響的、以及協同演化一致性如何保障等問題。由於協同演化不僅存在於軟體生命周期相同階段的不同軟體製品之間,還存在於不同階段的軟體製品之間;還由於存在同步和異步演化、競爭與合作演化、對稱和非對稱演化等現象,使得協同演化的範圍難以確定,成本難以估計,演化實施過程中一致性難以保障。這些問題的成功解決無疑對軟體工程師制定有效演化方案、保障預期演化效果具有重要指導意義。本項目擬圍繞這類問題展開研究:利用數據挖掘方法從軟體修改歷史庫挖掘各種修改關聯,並結合類型關聯選擇和過濾當前軟體中存在的各種軟體製品關聯;利用機器學習方法訓練出預測模型,並結合新的修改請求預估當前軟體的協同演化範圍和成本;利用演化關聯矩陣和演化關聯圖進行一致性檢查和保障,並結合開源軟體和傳統軟體評估協同演化效果。

結題摘要

全面完成了項目申請書設定的研究內容、關鍵技術和任務指標。具體表現在:(1)提出了一種度量驅動的架構和代碼協同演進方法;(2)提出了代碼變更驅動的架構視圖協同演進方法;(3)提出一個新的架構質量指標,架構成熟度,用於衡量軟體架構在動態行為和靜態組織結構上接近成熟架構的程度,在此基礎上設計了一種基於演化的軟體架構成熟度度量與評估方法;(4)提出了質量驅動重構方法和面向模式的架構重構方法;(5)提出了基於架構重構的原始碼協同方法能有效地保證重構後的架構與協同演進後的原始碼之間的一致性;(6)提出了基於原始碼重構的架構協同方法能有效地保證重構後的原始碼與協同演進後的架構之間的一致性;(7)提出了一種基於演化的SA度量與評估方法,旨在分析SA發生演化後挖掘SA的變化情況;(8)提出了架構度量方法關注架構演進過程,是對架構演進效果的度量;(9)提出了一種基於程式分析樹匹配的多層次變更檢測方法以及基於變更檢測的架構演進缺陷分析方法,在實驗中驗證了基於程式分析樹的多層次變更檢測方法的有效性以及架構演進缺陷分析方法的有效性;(10)基於代碼複雜度的軟體演化評估與分析;等等。相關研究成果錄用和發表論文24篇,在CCF推薦的B類以上期刊和會議論文11篇;從軟體架構和代碼兩個層次開發的設計演化評估、代碼演化評估和協同演化兩個工具平台,已經上線部署,在多家單位試用,試用效果良好;申報發明專利36項,已經獲得授權專利6項;培養博士生5名(其中4名已經獲得博士生學位)、碩士生32名(其中24名已經獲得碩士學位),等等。本項目的研究成果分別在華為公司、上海工業控制安全平台公司、中船重工716研究所、江蘇省安全監督局、中科院電子學所蘇州研究院等單位推廣使用或試用,未來可望獲得更廣泛的推廣套用和合作。

相關詞條

熱門詞條

聯絡我們