軟體重構調度方法研究

《軟體重構調度方法研究》是依託北京理工大學,由劉輝擔任項目負責人的青年科學基金項目。

基本介紹

  • 中文名:軟體重構調度方法研究
  • 依託單位:北京理工大學
  • 項目負責人:劉輝
  • 項目類別:青年科學基金項目
項目摘要,結題摘要,

項目摘要

軟體重構是在不改變軟體外部行為特性的前提下通過調整軟體內部結構以提高軟體質量的過程。在複雜的軟體系統中通常能找到多個重構機會,而重構的調度(重構機會的處理順序)會影響重構的效率和效果。但目前未見重構調度方面的系統研究工作,缺乏有效的重構調度方法。為此本項目將對重構調度展開研究。軟體重構目前以半自動化為主,但也有部分重構實現了形式化自動化。本項目將根據形式化軟體重構及半自動化軟體重構的不同特徵設計不同的調度方法。對形式化軟體重構,本項目將研究形式化的調度模型及其求解算法以實現重構效果的最大化。對半自動化軟體重構,本項目將研究不同種類的代碼壞味之間的內在聯繫及其相對處理順序對重構效率和效果的影響,進而提出基於代碼壞味處理順序的調度方法以提高重構的效果和效率。此外,針對因資源不足無法查找並處理所有類型的代碼壞味的情況,本項目將研究代碼壞味的嚴重程度等級劃分方法,確保最嚴重的代碼壞味得到優先處理。

結題摘要

按照項目研究計畫開展科學研究,順利完成了相關研究內容,取得了一系列的研究陳果。本項目圍繞軟體重構調度展開研究,其中包括:針對形式化軟體重構,研究基於圖轉換和關鍵對技術的軟體重構調度方法;針對半自動的非形式的軟體重構,研究基於代碼壞味處理順序的軟體重構調度方法;針對資源受限的軟體重構,研究基於優先權的軟體重構調度方法。研究提出了基於關鍵對的軟體重構衝突檢測算法,基於此提出了基於衝突關係的形式化軟體重構調度算法。設計並實施實驗,初步結果表明該方法可以通過降低重構之間的衝突關係而有效提高軟體重構的整體效果。對常見的11種非形式化的代碼壞味,重點研究其內在聯繫,分析其重構順序對重構成本、重構效率的影響。進而分析出一張全局的處理順序圖。設計並實施科學實驗對研究結果進行驗證,實驗結果表明本研究成果可以在不降低重構效果的前提下,將重構成本降低17.64%到20%。針對資源受限的軟體重構,研究分析了10種常見的代碼壞味,按照代碼壞味對軟體質量的影響進行分類,將10種常見代碼壞味的分成五個處理優先權。設計並實施實驗,初步結果表明分級的合理性。 在軟體重構若干關鍵問題上,也進行了研究探索。對逆向工程生成的龐大而複雜的類圖,研究了類圖的切割分解方法,在不丟失信息的情況下將一個大的類圖分解為若干高內聚的小類圖;對UML順序圖中出現的重複片段,提出了一個基於二維圖到一維串映射的方法,將順序圖映射成一個元素串,進而利用現有一維的重複片段檢測方法檢測重複事件流片段;研究Eclipse捕獲的軟體重構命令記錄,分析批量式重構與分散式重構的比例,結果表明分散式重構目前處於主流狀態,但批量式重構的比例比業內預計的要大(約20%);對重構機會的檢測也進行了初步探索,提出了一種基於靜態分析的泛化重構機會發掘算法。培養博士研究生3人,碩士研究生6人。在國際頂級期刊IEEE Transactions on Software Engineering發表論文2篇,在計算機學會推薦B類SCI期刊發表錄用論文3篇,在計算機學會推薦B類國際會議發表論文1篇。

相關詞條

熱門詞條

聯絡我們