国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

程序理解中的商業(yè)智能恢復(fù)方法

2017-09-07 12:31康劍
關(guān)鍵詞:商業(yè)智能

康劍

摘要:本文目標(biāo)提出一個在反向工程領(lǐng)域中的商業(yè)智慧概念及其恢復(fù)方法。我們發(fā)現(xiàn)在用反向工程技術(shù)分析已有程序時,反向技術(shù)本身缺乏一種主動理解程序的智慧,進而不能夠運用這種智慧實現(xiàn)更好的進行程序理解。我們將這種智慧稱之為商業(yè)智能,我們希望通過所提出商業(yè)智能恢復(fù)方法,使反向技術(shù)具備主動恢復(fù)商業(yè)智慧的能力,從而幫助反向工程技術(shù)更好的理解程序本身。

關(guān)鍵詞:程序理解;反向工程;商業(yè)智能

中圖分類號:TP391.41 文獻標(biāo)識碼:A 文章編號:1007-9416(2017)05-0244-01

1 簡介

反向工程技術(shù)是用以理解程序的重要方法,反向技術(shù)期望抽取程序中的有用要素信息,并用這些要素信息進一步建立程序的抽象結(jié)構(gòu),借此進一步描繪出軟件設(shè)計的原型。這些要素信息包括:項目、組件、模塊、架構(gòu)、特性、需求等等。然而,當(dāng)前反向技術(shù)停滯在代碼理解階段,比如:系統(tǒng)分解技術(shù)、程序分解技術(shù)、程序轉(zhuǎn)換技術(shù)、程序抽取技術(shù)等,這些技術(shù)目前,仍然不能達到軟件特性理解和軟件需求理解的高度。

2 介紹現(xiàn)有的商業(yè)智能恢復(fù)方法

2.1 程序抽取方法

程序抽取方法是常見的基于數(shù)據(jù)流分析的方法,且已成為多種程序理解工具的基礎(chǔ)功能。程序當(dāng)中特別的字段,以及特別變量都可以在數(shù)據(jù)流的節(jié)點上得以體現(xiàn)。比如,當(dāng)你希望查找到某個程序中存在的語法錯誤時,你不需要等待整個程序運行完畢,你會選擇截取整個完整程序中某單獨一段程序加以執(zhí)行,即可有效尋找這段程序中存在的語法問題。

2.2 線性程序分割方法

傳統(tǒng)的程序分割方法是非線性的,這是因為通常情況下,程序分割能力一定受到計算機資源的限制,且難以滿足在線實時的程序分割需求。本文中,我們設(shè)想一種線性程序分割方法,它可以基于程序的不同類型提出將源程序按照商業(yè)智能模塊進行分割。并且,因為商業(yè)模塊具備線性邏輯分析的基礎(chǔ),這種線性程序分割方法就可以達到線性分割理解程序的目的。同時,在進行程序分割時,商業(yè)智能模塊和源程序模塊必然存在一一對應(yīng)的關(guān)系,這樣就避免了重復(fù)使用計算資源和侵占計算資源,進而又實現(xiàn)自動化效率提升的目標(biāo)。

2.3 商業(yè)智能矩陣分解方法

商業(yè)智能矩陣分解方法是建立在數(shù)據(jù)模型基礎(chǔ)之上的一種軟件理解方法。這種方法的實質(zhì)在于解釋:分解后所獲得的商業(yè)數(shù)據(jù)及其結(jié)果,與分解過程中的所選擇的假設(shè)條件和方法是存在必然的關(guān)聯(lián)關(guān)系。在面對大段程序代碼的時候,這種方法就凸顯出它必然優(yōu)勢,因為最開始的程序理解和程序分解工作是從頂層出發(fā)的,這就要求程序分解方法必須具備有效的追蹤功能,追蹤何時何處拆分,和何時何處組合,最終能夠找到變化路徑并恢復(fù)程序原形。

3 提出商業(yè)智能恢復(fù)方法

3.1 商業(yè)智能恢復(fù)與反向工程之間的關(guān)系

商業(yè)智能恢復(fù)和反向工程間存在著5層級關(guān)系,這既代表商業(yè)智能恢復(fù)的5個層級,也代表著反向工程的5個層級,且每個層級的商業(yè)智能恢復(fù)方法和每個層級的反向工程方法都存在一對一關(guān)系:

(1)程序代碼反向工程與商業(yè)智能數(shù)據(jù)恢復(fù)保持一致。給定一段源代碼,我們一定可以確定商業(yè)數(shù)據(jù)一定嵌入在該段程序的代碼中間。(2)程序結(jié)構(gòu)反向工程與商業(yè)算法恢復(fù)保持一致。用程序分割方法從代碼中抽取程序結(jié)構(gòu),就是將不同種定義對象標(biāo)注出來,再將其關(guān)系結(jié)構(gòu)提取出來。商業(yè)算法同樣可以解釋不同程序模塊之間的聯(lián)系,從而解釋程序結(jié)構(gòu)。組件模型的反向工程與商業(yè)智能的數(shù)據(jù)模型恢復(fù)保持一致。商業(yè)智能的算法設(shè)計就在這個區(qū)間內(nèi)實現(xiàn)。對于程序本身來說,這相當(dāng)于程序的控制流程,用來解釋項目與組件之間的關(guān)系。架構(gòu)反向工程與商業(yè)智能物理模型恢復(fù)保持一致。商業(yè)智能的物理模型是與軟件架構(gòu)保持一致的,這個架構(gòu)可以有效的將組件與軟件需求聯(lián)系起來。(3)需求反向工程與商業(yè)智能邏輯恢復(fù)保持一致。簡單來說,軟件的需求就是商業(yè)邏輯本身,只不過是通過功能定義加以實現(xiàn)的。

3.2 一種線性程序分割方法

我們首先需要定義商業(yè)智能的基本組成。商業(yè)智能是由一個個相關(guān)聯(lián)的概念信息組成的,每一個獨立的概念信息又可以稱之為一個單元,若干個強關(guān)系的單元組成了一條規(guī)則,若干條強關(guān)系的規(guī)則組成了一個模型。我們再將所有這些找到的單元、規(guī)則、模型都放在一個數(shù)據(jù)庫內(nèi),進而組成了商業(yè)智能數(shù)據(jù)庫。有了這個商業(yè)智能數(shù)據(jù)庫,我們就具備了運用商業(yè)智能的進行程序線性分析和理解程序的基礎(chǔ)。

3.3 構(gòu)建商業(yè)智能矩陣

在一個標(biāo)準(zhǔn)的矩陣中間,商業(yè)智能單元1和程序段1存在著一一對應(yīng)的強關(guān)系,但同時,商業(yè)智能單元1可能又與程序段2、3、4等存在著某種弱關(guān)系。商業(yè)智能矩陣方法是最佳的尋找強弱關(guān)系的方法,并且能夠幫助軟件理解工具在最快時間找到一條關(guān)系度最強的商業(yè)邏輯主線,這條商業(yè)邏輯主線在最大可能程度上,就是這個軟件程序的設(shè)計需求或性能描述的一部分。

4 結(jié)語

反向工程仍然是程序理解的重要方法,但是我們確信沒有商業(yè)智能恢復(fù)的幫助,反向工程對于程序的理解能力,仍將停留在代碼分析的層面,這無法達到我們對程序設(shè)計需求和功能特性理解的高度。但我們?nèi)匀恍枰钊胙芯可虡I(yè)智能的恢復(fù)方法,使之針對具體問題行之有效,更快更準(zhǔn),比如說:系統(tǒng)軟件網(wǎng)頁化、云端服務(wù)智能終端化等等。endprint

猜你喜歡
商業(yè)智能
什么是商業(yè)智能?它的定義和解決方案
關(guān)于實時商業(yè)智能的文獻綜述
商業(yè)智能在當(dāng)下出版社中的運用
廣東省高速公路聯(lián)網(wǎng)綜合信息商業(yè)智能系統(tǒng)