源程式分析

源程式分析

源程式分析是對應某一個具體問題的軟體(計算,遍歷,查找,排序),分析程式功能的原子結構,分子結構(在數據結構中稱為聚合結構),最後用特定算法綜合得到程式框架。

基本介紹

  • 中文名:源程式分析
  • 外文名:source code analysis
  • 別名:原始碼分析
  • 作用:分析軟體結構與功能
概念,相較區別,分析結論,綜合算法,

概念


源程式分析包括分析軟體的主體,主題與結構;分析軟體不同段落模組或層次的發展線索與中心詞。主體一般認為是數據結構,中心詞(與主體的關係)是當前正在處理的變數,例如遍歷算法中的工作指針變數。源程式分析是對應某一個具體問題的軟體(計算,遍歷,查找,排序),分析程式功能的原子結構,分子結構(在數據結構中稱為聚合結構),最後用特定算法綜合得到程式框架。
根據源程式分析的結果:程式原子結構與框架,套用到同類問題中,通過上下文程式設計方法,用對應特定算法編程,得到源程式。在專家系統或軟體工程中,逐漸擴展,構成一個完整的系統。可用在軟體自動編程。
源程式
是指未經編譯的,按照一定的程式設計語言規範書寫的,人類可讀的文本檔案。通常由高級語言編寫。源程式可以是以書籍或者磁帶或者其他載體的形式出現,但最為常用的格式是文本檔案,這種典型格式的目的是為了編譯出計算機可執行的程式。將人類可讀的程式代碼文本翻譯成為計算機可以執行的二進制指令,這種過程叫做編譯,由各種編譯器來完成。一般用高級語言編寫的程式稱為“源程式”。

相較區別

與算法分析的不同
源程式分析與算法分析不同。源程式分析套用在已有成功程式中,對這些程式閱讀和分析,讀懂學會。源程式分析是軟體結構與功能的分析。算法分析是算法時間與空間複雜度的分析

分析結論

數據的處理順序
程式的數據處理可用原數據結構排序。也可從工作數據結構排序,或以目標結構排序 。例如:矩陣轉置。可用目標矩陣順序,也可用被轉置矩陣順序。
數據擴展與循環的範圍
程式功能實現中數據處理的範圍稱為數據處理範圍映射。用分而治之的思想,但是不用它的方法。數據處理的範圍,定位圍越精確,算法的效率越好。數據處理範圍映射。處理函式的映射空間。但不是函式關係,而是數據相關,數據與運算符的關係。
例如:矩陣的乘法計算。尋找與一行元素相乘的元素的範圍,可以從一個矩陣,從一列元素,或者從一個數組的幾個元素,常用在稀疏矩陣.因此相乘元素的尋找範圍越精確,軟體效率越高。
範圍映射是一類映射,硬體處理的有效範圍越小,算法的效率越高。

綜合算法

將求解一個問題的軟體分成不同功能,這與軟體模組化不完全一樣。將這些功能重構後,可以構建同一個領域的不同算法。例如:樹的遍歷算法分成三個功能:建立左子索引,判斷,訪問,回溯,右子樹被拓展。
這三個功能經過重構,可以實現樹的中序,前序,後序遍歷。
這些功能應經過源程式分析,從已有的成功源程式中獲得。這與硬體的IP核是一個道理,但也不完全相同。軟體功能的重構,是通過綜合算法實現的,而組合IP核構成一個數字系統就簡單一些,當然硬體算法是一個逐步開發的過程。這兩個方法是相輔相成,互相促進的。

相關詞條

熱門詞條

聯絡我們