運(yùn)用代碼模型自動(dòng)化逆向工程技術(shù)高效理解開源和遺產(chǎn)軟件系統(tǒng)_第1頁(yè)
運(yùn)用代碼模型自動(dòng)化逆向工程技術(shù)高效理解開源和遺產(chǎn)軟件系統(tǒng)_第2頁(yè)
運(yùn)用代碼模型自動(dòng)化逆向工程技術(shù)高效理解開源和遺產(chǎn)軟件系統(tǒng)_第3頁(yè)
運(yùn)用代碼模型自動(dòng)化逆向工程技術(shù)高效理解開源和遺產(chǎn)軟件系統(tǒng)_第4頁(yè)
運(yùn)用代碼模型自動(dòng)化逆向工程技術(shù)高效理解開源和遺產(chǎn)軟件系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩36頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、運(yùn)用代碼模型自動(dòng)化逆向工程技術(shù)高效理解開源和遺產(chǎn)軟件系統(tǒng)摘要案例簡(jiǎn)述達(dá)到目標(biāo)案例背景成功要素與經(jīng)驗(yàn)案例實(shí)踐與結(jié)果展示失敗經(jīng)歷與嘗試案例ROI分析案例啟示進(jìn)一步的工作與打算運(yùn)用代碼模型自動(dòng)化逆向工程技術(shù)高效理解開源和遺產(chǎn)軟件系統(tǒng)案例簡(jiǎn)述案例簡(jiǎn)述 采用自主研發(fā)的代碼逆向模型自動(dòng)化技術(shù)與工具,通過代碼詞法語(yǔ)法掃描分析,結(jié)構(gòu)分析、模型格式化轉(zhuǎn)換,中英文名字映射表構(gòu)造,以及自然動(dòng)作漢語(yǔ)語(yǔ)義描述的自動(dòng)變換等步驟,將大型開源OpenCMS和十余個(gè)遺產(chǎn)軟件系統(tǒng)的JAVA程序代碼自動(dòng)逆向變換為可視化類圖和過程藍(lán)圖(程序藍(lán)圖)模型,將JAVA程序語(yǔ)句自動(dòng)逆向變換為自然動(dòng)作模式語(yǔ)言漢語(yǔ)描述自動(dòng)構(gòu)造分層抽象的程序藍(lán)圖

2、的視圖模型,以直觀圖形和自然易懂的漢語(yǔ)分層揭示程序代碼中隱含的模塊結(jié)構(gòu)、算法思想、及其設(shè)計(jì)與實(shí)現(xiàn)細(xì)節(jié);降低閱讀理解程序的復(fù)雜性和難度,提高學(xué)習(xí)和維護(hù)工作效率5倍以上。開源軟件源代碼程序藍(lán)圖可視自動(dòng)化逆向工程類圖過程藍(lán)圖中文代碼其他源代碼資源遺產(chǎn)系統(tǒng)源代碼教學(xué)程序源代碼項(xiàng)目開發(fā)源代碼英文代碼運(yùn)用代碼模型自動(dòng)化逆向工程技術(shù)高效理解開源和遺產(chǎn)軟件系統(tǒng)b)達(dá)到目標(biāo)達(dá)到目標(biāo)自動(dòng)掃描JAVA源碼進(jìn)行詞法語(yǔ)法分析并變換為JAVA藍(lán)圖模型文件格式;采用三維程序藍(lán)圖(類圖+過程藍(lán)圖)可視化表示類模塊結(jié)構(gòu)及其類方法的算法過程模型;運(yùn)用程序變換工具自動(dòng)生成概念和邏輯層動(dòng)作語(yǔ)義的自然漢語(yǔ)描述;自動(dòng)對(duì)程序藍(lán)圖模型的概念

3、、邏輯和實(shí)現(xiàn)三層視圖進(jìn)行分層抽象和可視化展示;通過中英文標(biāo)識(shí)符名字映射技術(shù),支持程序模型的中文本地化表示;運(yùn)用文檔生成工具批量自動(dòng)生成項(xiàng)目程序藍(lán)圖模型文檔;自動(dòng)從程序藍(lán)圖模型正向生成程序的中英文框架代碼和完整代碼通過文本自動(dòng)對(duì)比驗(yàn)證技術(shù),保證模型與代碼的一致性運(yùn)用代碼模型自動(dòng)化逆向工程技術(shù)高效理解開源和遺產(chǎn)軟件系統(tǒng)誰(shuí)-北京信息科技大學(xué)軟件工程研究與開發(fā)中心案例背景北京信息科技大學(xué)是由原北京機(jī)械工業(yè)學(xué)院和北京信息工程學(xué)院(原北大二分校)合并組建,北京市重點(diǎn)支持建設(shè)的全日制普通高等學(xué)校。軟件工程研究與開發(fā)中心是原電子部1983年批準(zhǔn)成立的重點(diǎn)科研機(jī)構(gòu),曾擔(dān)任多項(xiàng)“六五”至“九五”等國(guó)家重點(diǎn)科技攻關(guān)

4、項(xiàng)目,以及多項(xiàng)軍用軟件工程項(xiàng)目的研究與開發(fā),起草多項(xiàng)國(guó)家標(biāo)準(zhǔn),多項(xiàng)成果曾受國(guó)家和部委的表彰,為我國(guó)軟件產(chǎn)業(yè)的發(fā)展做出重要貢獻(xiàn)。與國(guó)家信息產(chǎn)業(yè)主管部門密切協(xié)作,以標(biāo)準(zhǔn)化和創(chuàng)新成果帶動(dòng)軟件技術(shù)發(fā)展是中心長(zhǎng)期以來形成和堅(jiān)持的特色。中心的主要任務(wù)是以國(guó)家軟件工程建設(shè)需求為導(dǎo)向,繼續(xù)參與國(guó)家重大的軟件工程課題和各類縱橫向項(xiàng)目的研究與開發(fā),為IT企業(yè)和高校師生提供軟件工程新技術(shù)服務(wù),帶動(dòng)教學(xué)和科研水平的提高,建設(shè)成為軟件工程新技術(shù)的研發(fā)基地、“產(chǎn)學(xué)研用”一體化人才培養(yǎng)基地、科技成果轉(zhuǎn)化、應(yīng)用推廣和產(chǎn)業(yè)化基地、知識(shí)創(chuàng)新基地。中心主要從事軟件工程標(biāo)準(zhǔn)制定、模型驅(qū)動(dòng)軟件工程理論與方法的研究、程序代碼模型可視自動(dòng)

5、化逆向工程服務(wù)、軟件工程項(xiàng)目開發(fā),人才培養(yǎng)、技術(shù)培訓(xùn)、知識(shí)創(chuàng)新與出版等方面的工作。程序代碼理解是學(xué)習(xí)開源軟件和維護(hù)遺產(chǎn)系統(tǒng)的基礎(chǔ)和前提。復(fù)雜程序代碼閱讀理解周期長(zhǎng),效率低、工作量投入大和成本高的老大難問題一直未能得到有效解決。大量開源軟件和遺產(chǎn)系統(tǒng)的程序代碼資源有學(xué)習(xí)理解和維護(hù)的實(shí)際需求和迫切需要。軟件工程創(chuàng)新團(tuán)隊(duì)在軟件可視自動(dòng)化工程技術(shù)領(lǐng)域已持續(xù)開展近二十年的研究工作,先后有100多人參與研發(fā),培養(yǎng)了30余名碩士生和50余名本科生,發(fā)表系列專題研究論文60余篇(其中核心期刊論文30余篇,EI檢索論文10余篇),在科學(xué)出版社出版理論性學(xué)術(shù)專著1部,原創(chuàng)編程思維導(dǎo)向圖(抽象概念結(jié)構(gòu)圖)、JAVA

6、藍(lán)圖、C+藍(lán)圖等過程藍(lán)圖建模語(yǔ)言及其模型驅(qū)動(dòng)程序理論與方法,在正向工程、逆向工程、模型重構(gòu)、算法模式、再工程等技術(shù)方向取得創(chuàng)新性理論研究成果。提出自然動(dòng)作模式語(yǔ)言及其語(yǔ)言驅(qū)動(dòng)程序技術(shù),在自然動(dòng)作模式語(yǔ)言與編程語(yǔ)言間的雙向轉(zhuǎn)換技術(shù)方面找到快速實(shí)用的模式匹配自動(dòng)轉(zhuǎn)換方法,研制系列模型驅(qū)動(dòng)軟件工具與環(huán)境,開發(fā)語(yǔ)言驅(qū)動(dòng)程序自動(dòng)變換系統(tǒng),在藍(lán)圖模型和自然動(dòng)作模式語(yǔ)言的自動(dòng)變換關(guān)鍵技術(shù)方面獲得突破性進(jìn)展。經(jīng)過大量測(cè)試與案例試驗(yàn),并在大型OpenCMS、Sweet Home3D、violet等多個(gè)開源軟件的學(xué)習(xí)和十余個(gè)遺產(chǎn)軟件系統(tǒng)的維護(hù)工作中得到成功應(yīng)用,顯著提高軟件開發(fā)與維護(hù)效率。不斷將最新原創(chuàng)科研成果引

7、入課堂,近十年來先后為汕頭大學(xué)、北信科大和北航的2000余名本科和研究生新開“模型驅(qū)動(dòng)程序設(shè)計(jì)方法學(xué)”、“模型驅(qū)動(dòng)開發(fā)”等8門前沿特色課程,程序藍(lán)圖開發(fā)工具在教學(xué)中得到持續(xù)測(cè)試與應(yīng)用,不斷得以改進(jìn)和完善。哪來的創(chuàng)新團(tuán)隊(duì)多年潛心研究與開發(fā)的原創(chuàng)成果怎么做到的成功要素與經(jīng)驗(yàn)分享 程序代碼向藍(lán)圖模型成功轉(zhuǎn)換的關(guān)鍵是需要有一個(gè)可靠穩(wěn)定和功能全面的詞法語(yǔ)法分析掃描器 分析類間關(guān)系是類圖建立的技術(shù)難點(diǎn)和關(guān)鍵 信息過濾和抽象技術(shù)是實(shí)現(xiàn)分層抽象程序視圖模型的基本方法 程序藍(lán)圖模型、動(dòng)作模式語(yǔ)言與變換規(guī)則的嚴(yán)格形式化定義是實(shí)現(xiàn)自動(dòng)化處理和變換的基礎(chǔ)和前提條件 構(gòu)造中英文標(biāo)識(shí)符名字映射對(duì)照表是支持中文化模型界面和

8、實(shí)現(xiàn)中英文表示雙向映射的基本條件,對(duì)照表的規(guī)模與模型中文化支持率成正比,中英文名字命名質(zhì)量對(duì)程序的可理解性有重要影響 從逆向模型自動(dòng)重新生成程序代碼的正向轉(zhuǎn)換技術(shù)和代碼文本自動(dòng)對(duì)比驗(yàn)證技術(shù)是保證逆向模型與代碼一致性的有效方法 案例實(shí)踐與結(jié)果展示案例1-大型開源軟件OpenCMS程序藍(lán)圖模型可視自動(dòng)化逆向工程OpenCms是一個(gè)基于JAVA EE平臺(tái)的開源內(nèi)容管理系統(tǒng),由德國(guó)的Alkacon Software公司負(fù)責(zé)開發(fā)和維護(hù),可以非常平穩(wěn)的運(yùn)行在各種開源(Linux、Apache、Tomcat、MySQL等)和商業(yè)環(huán)境(Windows、BEA Weblogic、Oricle等)中OpenCms

9、是一個(gè)完全免費(fèi)的開源軟件,使用它不需要支付任何許可費(fèi)用,利用它可以非常容易的創(chuàng)建、維護(hù)和管理復(fù)雜的大型網(wǎng)站OpenCms是具有企業(yè)級(jí)軟件品質(zhì)的開源軟件,全球各地均有專業(yè)公司提供技術(shù)服務(wù)支持OpenCms是一個(gè)大型開源軟件,V核心版源代碼擁有56643個(gè)標(biāo)識(shí)符,18552個(gè)方法,1508個(gè)類和111個(gè)包,源碼包規(guī)模21.5M實(shí)踐 1.1-OpenCMS的功能概要模型-CIM 實(shí)踐 1.2- OpenCMS的org.opencms.db.mysql包源代碼逆向可視自動(dòng)化產(chǎn)生的實(shí)現(xiàn)類圖模型-PSM實(shí)踐 1.3- OpenCMS的org.opencms.db.mysql包源代碼逆向可視自

10、動(dòng)化產(chǎn)生的邏輯類圖模型-PSM實(shí)踐 1.4-OpenCMS的org.opencms.db.mysql包源代碼逆向可視自動(dòng)化產(chǎn)生的概念類圖-PIM實(shí)踐 1.5-三層抽象類圖逆向變換過程文本自動(dòng)對(duì)比驗(yàn)證自動(dòng)生成自動(dòng)生成詞法語(yǔ)法分析從類圖模型重新生成的類中文框架代碼概念層-PIM邏輯層-PSM實(shí)現(xiàn)層PSM框架信息提取模型格式變換標(biāo)識(shí)符變換信息過濾信息抽取格式轉(zhuǎn)換屬性方法逆向映射變換類圖自動(dòng)生成從類圖模型重新生成的類英文框架代碼從類圖模型重新生成的類中文框架代類圖三層抽象視圖CmsSubscriptionDriver類源代碼實(shí)踐 1.6- CmsSubscriptionDriver類markResou

11、rceAsVisitedBy方法源代碼逆向可視自動(dòng)化產(chǎn)生的編程實(shí)現(xiàn)圖(抽象實(shí)現(xiàn)結(jié)構(gòu)圖)實(shí)踐 1.7- CmsSubscriptionDriver類markResourceAsVisitedBy方法源代碼逆向可視自動(dòng)化產(chǎn)生的編程邏輯圖(抽象邏輯結(jié)構(gòu)圖)實(shí)踐 1.8- CmsSubscriptionDriver類markResourceAsVisitedBy方法源代碼逆向可視自動(dòng)化產(chǎn)生的編程概念圖(編程思維導(dǎo)向圖、抽象概念結(jié)構(gòu)圖)實(shí)踐 1.9- CmsSubscriptionDriver類markResourceAsVisitedBy方法源代碼逆向可視自動(dòng)化產(chǎn)生的過程藍(lán)圖三維模型(編程思維導(dǎo)圖+J

12、AVA藍(lán)圖)文本自動(dòng)對(duì)比驗(yàn)證自動(dòng)生成自動(dòng)生成詞法語(yǔ)法分析從類圖模型重新生成的類中文框架代碼概念層-PIM邏輯層-PSM實(shí)現(xiàn)層PSM過程藍(lán)圖結(jié)點(diǎn)描述變換格式變換標(biāo)識(shí)符變換結(jié)點(diǎn)語(yǔ)義抽象控制結(jié)構(gòu)抽象實(shí)踐 1.10-過程藍(lán)圖三層抽象視圖逆向變換過程重新生成的類方法英文代碼重新生成的類方法中文代碼過程藍(lán)圖三層抽象視圖markResourceAsVisitedBy方法的源碼自動(dòng)生成實(shí)踐 1.11- 從CmsSubscriptionDriver類的實(shí)現(xiàn)類圖重新正向自動(dòng)生成的中文框架代碼實(shí)踐 1.12- 從CmsSubscriptionDriver類的實(shí)現(xiàn)類圖重新正向自動(dòng)生成的英文框架代碼實(shí)踐 1.13- C

13、msSubscriptionDriver類markResourceAsVisitedBy方法的抽象實(shí)現(xiàn)結(jié)構(gòu)圖重新正向自動(dòng)生成的中文方法代碼實(shí)踐 1.14- CmsSubscriptionDriver類markResourceAsVisitedBy方法的抽象實(shí)現(xiàn)結(jié)構(gòu)圖重新正向自動(dòng)生成的英文方法代碼實(shí)踐 1.15-實(shí)例演示案例實(shí)踐與結(jié)果展示案例2- SweetHome 3D實(shí)例演示SweetHome 3D是一款免費(fèi)的家裝輔助設(shè)計(jì)軟件。它能幫您通過二維的家居平面圖來設(shè)計(jì)和布置您的家具,還可以用三維的視角瀏覽整個(gè)裝修布局的全貌可以在官方網(wǎng)站 http:/ 它主要面向一些正在搬遷或者想重新設(shè)計(jì)現(xiàn)有居室,

14、同時(shí)又希望能夠盡快完成室內(nèi)設(shè)計(jì)的人。多樣化的可視向?qū)軌驇椭L制家居平面圖和布置家具。您可以在已有的平面圖上繪制墻體,然后把家具從目錄中拖拽到平面圖上。每一次在二維平面圖上的操作都能同步更新到三維視圖上,這樣您就可以看見一個(gè)真實(shí)的立體布局。SweetHome 3D是一個(gè)大型開源軟件,最新V4.1版源代碼擁有14512個(gè)標(biāo)識(shí)符,3610個(gè)方法,194個(gè)類和9個(gè)包,源碼包規(guī)模23.6M案例實(shí)踐與結(jié)果展示案例2- SweetHome 3D實(shí)例演示案例實(shí)踐與結(jié)果展示案例3-全中文模型界面支持案例演示And失敗經(jīng)歷與嘗試在動(dòng)作語(yǔ)義的自然語(yǔ)言描述與編程語(yǔ)言的動(dòng)作表達(dá)式之間的自動(dòng)化變換方面,曾采用自然語(yǔ)言

15、的分詞和語(yǔ)義理解的傳統(tǒng)處理方法,速度慢,效果不佳,成為關(guān)鍵技術(shù)瓶頸;近年來,嘗試基于形式語(yǔ)言的模式匹配與變換的自動(dòng)處理方法獲得成功,通過自動(dòng)機(jī)將編程語(yǔ)言的動(dòng)作表達(dá)式自動(dòng)變換為自然動(dòng)作模式語(yǔ)言的受限自然語(yǔ)言描述,高效快速,穩(wěn)定可靠,在解決關(guān)鍵技術(shù)瓶頸問題上取得重要進(jìn)展與突破。案例ROI分析(1)閱讀理解遺產(chǎn)系統(tǒng)代碼和學(xué)習(xí)開源軟件編程技術(shù)的效率提高5-10倍,將使維護(hù)和學(xué)習(xí)周期縮短,人力成本下降;(2)自動(dòng)變換得到的三維程序藍(lán)圖模型容易閱讀和理解。藍(lán)圖模型將作為公司負(fù)資產(chǎn)的遺產(chǎn)程序代碼(代碼越多,花費(fèi)越多)轉(zhuǎn)變?yōu)檎Y產(chǎn)(模型越多,花費(fèi)越少),三維的程序藍(lán)圖模型及變換將取代二維的代碼和傳統(tǒng)文檔成為公

16、司的核心資產(chǎn);(3)代碼與模型的雙向可視自動(dòng)化變換技術(shù)和代碼文本自動(dòng)對(duì)比驗(yàn)證技術(shù),可及時(shí)維護(hù)模型與代碼的一致性,保證模型不會(huì)過時(shí)和它具有的智能資產(chǎn)價(jià)值;(4)對(duì)中小規(guī)模的企業(yè)和直接編碼的項(xiàng)目,可在代碼開發(fā)完成后進(jìn)行代碼模型可視自動(dòng)化逆向工程,自動(dòng)快速生成項(xiàng)目的模型文檔,減少60-80%的程序核心文檔書寫工作,使項(xiàng)目開發(fā)敏捷化;(5)從代碼逆向自動(dòng)創(chuàng)建的可視化程序藍(lán)圖模型具有直觀和容易理解的特性,這將有效降低項(xiàng)目關(guān)鍵人員變動(dòng)的風(fēng)險(xiǎn)并有利于控制人員費(fèi)用的增加。(6)模型到代碼的正向自動(dòng)變換技術(shù)提供模型自動(dòng)轉(zhuǎn)換和代碼自動(dòng)生成的功能,減少4/5以上的編碼工作量;另外,可視化藍(lán)圖建模語(yǔ)言和本地化動(dòng)作模式

17、語(yǔ)言取代傳統(tǒng)編程語(yǔ)言作為開發(fā)語(yǔ)言工件,簡(jiǎn)單易懂,直觀自然,顯著提高開發(fā)工作效率,并改進(jìn)軟件的可維護(hù)性。案例啟示-程序藍(lán)圖可視自動(dòng)化逆向工程過程開源軟件代碼遺產(chǎn)系統(tǒng)代碼教學(xué)程序代碼項(xiàng)目開發(fā)代碼其他代碼資源程序藍(lán)圖可視自動(dòng)化逆向變換程序藍(lán)圖文檔與代碼自動(dòng)生成中文程序代碼英文程序代碼文本自動(dòng)對(duì)比驗(yàn)證類圖模型過程藍(lán)圖模型藍(lán)圖模型制品案例啟示-類圖三層抽象視圖逆向變換過程類源代碼從類圖模型重新生成的類英文框架代碼從類圖模型重新生成的類中文框架代碼文本自動(dòng)對(duì)比驗(yàn)證自動(dòng)生成自動(dòng)生成詞法語(yǔ)法分析從類圖模型重新生成的類中文框架代碼概念層-PIM邏輯層-PSM框架信息提取模型格式變換標(biāo)識(shí)符變換信息過濾信息抽取格式

18、轉(zhuǎn)換屬性方法逆向映射變換概念類圖邏輯類圖實(shí)現(xiàn)類圖類圖類圖三層視圖模型自動(dòng)生成實(shí)現(xiàn)層PSM案例啟示-過程藍(lán)圖三層抽象視圖逆向變換過程方法源代碼重新生成的類方法英文代碼重新生成的類方法中文代碼文本自動(dòng)對(duì)比驗(yàn)證自動(dòng)生成自動(dòng)生成詞法語(yǔ)法分析從類圖模型重新生成的類中文框架代碼概念層-PIM邏輯層-PSM實(shí)現(xiàn)層PSM抽象概念結(jié)構(gòu)圖(編程思維導(dǎo)向圖)抽象邏輯結(jié)構(gòu)圖抽象實(shí)現(xiàn)結(jié)構(gòu)圖過程藍(lán)圖結(jié)點(diǎn)描述變換格式變換標(biāo)識(shí)符變換結(jié)點(diǎn)語(yǔ)義抽象控制結(jié)構(gòu)抽象過程藍(lán)圖三層視圖自動(dòng)生成案例啟示-程序藍(lán)圖可視自動(dòng)化再工程過程開源軟件代碼遺產(chǎn)系統(tǒng)代碼教學(xué)程序代碼項(xiàng)目開發(fā)代碼其他代碼資源程序藍(lán)圖模型可視自動(dòng)化逆向工程逆向程序藍(lán)圖程序藍(lán)圖模型可視自動(dòng)化正向工程再工程中文程序代碼文本自動(dòng)對(duì)比

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論