




已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
運用代碼模型自動化逆向工程技術(shù)高效理解開源和遺產(chǎn)軟件系統(tǒng),劉建賓 博士、教授 軟件工程創(chuàng)新團(tuán)隊帶頭人,學(xué)科負(fù)責(zé)人、系主任 北京信息科技大學(xué)軟件工程研究與開發(fā)中心,摘要,案例簡述 達(dá)到目標(biāo) 案例背景 成功要素與經(jīng)驗 案例實踐與結(jié)果展示 失敗經(jīng)歷與嘗試 案例roi分析 案例啟示 進(jìn)一步的工作與打算,運用代碼模型自動化逆向工程技術(shù)高效理解開源和遺產(chǎn)軟件系統(tǒng),案例簡述 采用自主研發(fā)的代碼逆向模型自動化技術(shù)與工具,通過代碼詞法語法掃描分析,結(jié)構(gòu)分析、模型格式化轉(zhuǎn)換,中英文名字映射表構(gòu)造,以及自然動作漢語語義描述的自動變換等步驟,將大型開源opencms和十余個遺產(chǎn)軟件系統(tǒng)的java程序代碼自動逆向變換為可視化類圖和過程藍(lán)圖(程序藍(lán)圖)模型,將java程序語句自動逆向變換為自然動作模式語言漢語描述 自動構(gòu)造分層抽象的程序藍(lán)圖的視圖模型,以直觀圖形和自然易懂的漢語分層揭示程序代碼中隱含的模塊結(jié)構(gòu)、算法思想、及其設(shè)計與實現(xiàn)細(xì)節(jié); 降低閱讀理解程序的復(fù)雜性和難度,提高學(xué)習(xí)和維護(hù)工作效率5倍以上。,開源軟件源代碼,程序藍(lán)圖可視自動化逆向工程,類圖,過程藍(lán)圖,中文代碼,其他源代碼資源,遺產(chǎn)系統(tǒng)源代碼,教學(xué)程序源代碼,項目開發(fā)源代碼,英文代碼,運用代碼模型自動化逆向工程技術(shù)高效理解開源和遺產(chǎn)軟件系統(tǒng),b) 達(dá)到目標(biāo) 自動掃描java源碼進(jìn)行詞法語法分析并變換為java藍(lán)圖模型文件格式; 采用三維程序藍(lán)圖(類圖+過程藍(lán)圖)可視化表示類模塊結(jié)構(gòu)及其類方法的算法過程模型; 運用程序變換工具自動生成概念和邏輯層動作語義的自然漢語描述; 自動對程序藍(lán)圖模型的概念、邏輯和實現(xiàn)三層視圖進(jìn)行分層抽象和可視化展示; 通過中英文標(biāo)識符名字映射技術(shù),支持程序模型的中文本地化表示; 運用文檔生成工具批量自動生成項目程序藍(lán)圖模型文檔; 自動從程序藍(lán)圖模型正向生成程序的中英文框架代碼和完整代碼 通過文本自動對比驗證技術(shù),保證模型與代碼的一致性,運用代碼模型自動化逆向工程技術(shù)高效理解開源和遺產(chǎn)軟件系統(tǒng),誰-北京信息科技大學(xué)軟件工程研究與開發(fā)中心,案例背景 北京信息科技大學(xué)是由原北京機械工業(yè)學(xué)院和北京信息工程學(xué)院(原北大二分校)合并組建,北京市重點支持建設(shè)的全日制普通高等學(xué)校。 軟件工程研究與開發(fā)中心是原電子部1983年批準(zhǔn)成立的重點科研機構(gòu),曾擔(dān)任多項“六五”至“九五”等國家重點科技攻關(guān)項目,以及多項軍用軟件工程項目的研究與開發(fā),起草多項國家標(biāo)準(zhǔn),多項成果曾受國家和部委的表彰,為我國軟件產(chǎn)業(yè)的發(fā)展做出重要貢獻(xiàn)。 與國家信息產(chǎn)業(yè)主管部門密切協(xié)作,以標(biāo)準(zhǔn)化和創(chuàng)新成果帶動軟件技術(shù)發(fā)展是中心長期以來形成和堅持的特色。 中心的主要任務(wù)是以國家軟件工程建設(shè)需求為導(dǎo)向,繼續(xù)參與國家重大的軟件工程課題和各類縱橫向項目的研究與開發(fā),為it企業(yè)和高校師生提供軟件工程新技術(shù)服務(wù),帶動教學(xué)和科研水平的提高,建設(shè)成為軟件工程新技術(shù)的研發(fā)基地、“產(chǎn)學(xué)研用”一體化人才培養(yǎng)基地、科技成果轉(zhuǎn)化、應(yīng)用推廣和產(chǎn)業(yè)化基地、知識創(chuàng)新基地。 中心主要從事軟件工程標(biāo)準(zhǔn)制定、模型驅(qū)動軟件工程理論與方法的研究、程序代碼模型可視自動化逆向工程服務(wù)、軟件工程項目開發(fā),人才培養(yǎng)、技術(shù)培訓(xùn)、知識創(chuàng)新與出版等方面的工作。,程序代碼理解是學(xué)習(xí)開源軟件和維護(hù)遺產(chǎn)系統(tǒng)的基礎(chǔ)和前提。復(fù)雜程序代碼閱讀理解周期長,效率低、工作量投入大和成本高的老大難問題一直未能得到有效解決。大量開源軟件和遺產(chǎn)系統(tǒng)的程序代碼資源有學(xué)習(xí)理解和維護(hù)的實際需求和迫切需要。 軟件工程創(chuàng)新團(tuán)隊在軟件可視自動化工程技術(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藍(lán)圖、c+藍(lán)圖等過程藍(lán)圖建模語言及其模型驅(qū)動程序理論與方法,在正向工程、逆向工程、模型重構(gòu)、算法模式、再工程等技術(shù)方向取得創(chuàng)新性理論研究成果。 提出自然動作模式語言及其語言驅(qū)動程序技術(shù),在自然動作模式語言與編程語言間的雙向轉(zhuǎn)換技術(shù)方面找到快速實用的模式匹配自動轉(zhuǎn)換方法,研制系列模型驅(qū)動軟件工具與環(huán)境,開發(fā)語言驅(qū)動程序自動變換系統(tǒng),在藍(lán)圖模型和自然動作模式語言的自動變換關(guān)鍵技術(shù)方面獲得突破性進(jìn)展。 經(jīng)過大量測試與案例試驗,并在大型opencms、sweet home3d、violet等多個開源軟件的學(xué)習(xí)和十余個遺產(chǎn)軟件系統(tǒng)的維護(hù)工作中得到成功應(yīng)用,顯著提高軟件開發(fā)與維護(hù)效率。 不斷將最新原創(chuàng)科研成果引入課堂,近十年來先后為汕頭大學(xué)、北信科大和北航的2000余名本科和研究生新開“模型驅(qū)動程序設(shè)計方法學(xué)”、“模型驅(qū)動開發(fā)”等8門前沿特色課程,程序藍(lán)圖開發(fā)工具在教學(xué)中得到持續(xù)測試與應(yīng)用,不斷得以改進(jìn)和完善。,哪來的創(chuàng)新團(tuán)隊多年潛心研究與開發(fā)的原創(chuàng)成果,怎么做到的,成功要素與經(jīng)驗分享 程序代碼向藍(lán)圖模型成功轉(zhuǎn)換的關(guān)鍵是需要有一個可靠穩(wěn)定和功能全面的詞法語法分析掃描器 分析類間關(guān)系是類圖建立的技術(shù)難點和關(guān)鍵 信息過濾和抽象技術(shù)是實現(xiàn)分層抽象程序視圖模型的基本方法 程序藍(lán)圖模型、動作模式語言與變換規(guī)則的嚴(yán)格形式化定義是實現(xiàn)自動化處理和變換的基礎(chǔ)和前提條件 構(gòu)造中英文標(biāo)識符名字映射對照表是支持中文化模型界面和實現(xiàn)中英文表示雙向映射的基本條件,對照表的規(guī)模與模型中文化支持率成正比,中英文名字命名質(zhì)量對程序的可理解性有重要影響 從逆向模型自動重新生成程序代碼的正向轉(zhuǎn)換技術(shù)和代碼文本自動對比驗證技術(shù)是保證逆向模型與代碼一致性的有效方法,案例實踐與結(jié)果展示 案例1-大型開源軟件opencms程序藍(lán)圖模型可視自動化逆向工程,opencms是一個基于java ee平臺的開源內(nèi)容管理系統(tǒng),由德國的alkacon software公司負(fù)責(zé)開發(fā)和維護(hù),可以非常平穩(wěn)的運行在各種開源(linux、apache、tomcat、mysql等)和商業(yè)環(huán)境(windows、bea weblogic、oricle等)中 opencms是一個完全免費的開源軟件,使用它不需要支付任何許可費用,利用它可以非常容易的創(chuàng)建、維護(hù)和管理復(fù)雜的大型網(wǎng)站 opencms是具有企業(yè)級軟件品質(zhì)的開源軟件,全球各地均有專業(yè)公司提供技術(shù)服務(wù)支持 opencms是一個大型開源軟件,v核心版源代碼擁有56643個標(biāo)識符,18552個方法,1508個類和111個包,源碼包規(guī)模21.5m,實踐 1.1-opencms的功能概要模型-cim,實踐 1.2- opencms的org.opencms.db.mysql包源代碼逆向可視自動化產(chǎn)生的實現(xiàn)類圖模型-psm,實踐 1.3- opencms的org.opencms.db.mysql包源代碼逆向可視自動化產(chǎn)生的邏輯類圖模型-psm,實踐 1.4-opencms的org.opencms.db.mysql包源代碼逆向可視自動化產(chǎn)生的概念類圖-pim,實踐 1.5-三層抽象類圖逆向變換過程,文本自動對比驗證,自動生成,自動生成,詞法語法分析,從類圖模型重新生成的類中文框架代碼,概念層-pim,邏輯層-psm,實現(xiàn)層psm,框架信息提取模型格式變換標(biāo)識符變換,信息過濾,信息抽取,格式轉(zhuǎn)換,屬性方法逆向映射變換,類圖,自動生成,從類圖模型重新生成的類英文框架代碼,從類圖模型重新生成的類中文框架代,類圖三層抽象視圖,cmssubscriptiondriver類源代碼,實踐 1.6- cmssubscriptiondriver類markresourceasvisitedby方法源代碼逆向可視自動化產(chǎn)生的編程實現(xiàn)圖(抽象實現(xiàn)結(jié)構(gòu)圖),實踐 1.7- cmssubscriptiondriver類markresourceasvisitedby方法源代碼逆向可視自動化產(chǎn)生的編程邏輯圖(抽象邏輯結(jié)構(gòu)圖),實踐 1.8- cmssubscriptiondriver類markresourceasvisitedby方法源代碼逆向可視自動化產(chǎn)生的編程概念圖(編程思維導(dǎo)向圖、抽象概念結(jié)構(gòu)圖),實踐 1.9- cmssubscriptiondriver類markresourceasvisitedby方法源代碼逆向可視自動化產(chǎn)生的過程藍(lán)圖三維模型(編程思維導(dǎo)圖+java藍(lán)圖),文本自動對比驗證,自動生成,自動生成,詞法語法分析,從類圖模型重新生成的類中文框架代碼,概念層-pim,邏輯層-psm,實現(xiàn)層psm,過程藍(lán)圖,結(jié)點描述變換,格式變換 標(biāo)識符變換,結(jié)點語義抽象,控制結(jié)構(gòu)抽象,實踐 1.10-過程藍(lán)圖三層抽象視圖逆向變換過程,重新生成的類方法英文代碼,重新生成的類方法中文代碼,過程藍(lán)圖三層抽象視圖,markresourceasvisitedby方法的源碼,自動生成,實踐 1.11- 從cmssubscriptiondriver類的實現(xiàn)類圖重新正向自動生成的中文框架代碼,實踐 1.12- 從cmssubscriptiondriver類的實現(xiàn)類圖重新正向自動生成的英文框架代碼,實踐 1.13- cmssubscriptiondriver類markresourceasvisitedby方法的抽象實現(xiàn)結(jié)構(gòu)圖重新正向自動生成的中文方法代碼,實踐 1.14- cmssubscriptiondriver類markresourceasvisitedby方法的抽象實現(xiàn)結(jié)構(gòu)圖重新正向自動生成的英文方法代碼,實踐 1.15-實例演示,案例實踐與結(jié)果展示 案例2- sweethome 3d實例演示,sweethome 3d是一款免費的家裝輔助設(shè)計軟件。它能幫您通過二維的家居平面圖來設(shè)計和布置您的家具,還可以用三維的視角瀏覽整個裝修布局的全貌 可以在官方網(wǎng)站 /下載到這款軟件, 它主要面向一些正在搬遷或者想重新設(shè)計現(xiàn)有居室,同時又希望能夠盡快完成室內(nèi)設(shè)計的人。多樣化的可視向?qū)軌驇椭L制家居平面圖和布置家具。您可以在已有的平面圖上繪制墻體,然后把家具從目錄中拖拽到平面圖上。每一次在二維平面圖上的操作都能同步更新到三維視圖上,這樣您就可以看見一個真實的立體布局。 sweethome 3d是一個大型開源軟件,最新v4.1版源代碼擁有14512個標(biāo)識符,3610個方法,194個類和9個包,源碼包規(guī)模23.6m,案例實踐與結(jié)果展示 案例2- sweethome 3d實例演示,案例實踐與結(jié)果展示 案例3-全中文模型界面支持案例演示,and失敗經(jīng)歷與嘗試,在動作語義的自然語言描述與編程語言的動作表達(dá)式之間的自動化變換方面,曾采用自然語言的分詞和語義理解的傳統(tǒng)處理方法,速度慢,效果不佳,成為關(guān)鍵技術(shù)瓶頸; 近年來,嘗試基于形式語言的模式匹配與變換的自動處理方法獲得成功,通過自動機將編程語言的動作表達(dá)式自動變換為自然動作模式語言的受限自然語言描述,高效快速,穩(wěn)定可靠,在解決關(guān)鍵技術(shù)瓶頸問題上取得重要進(jìn)展與突破。,案例roi分析,(1)閱讀理解遺產(chǎn)系統(tǒng)代碼和學(xué)習(xí)開源軟件編程技術(shù)的效率提高5-10倍,將使維護(hù)和學(xué)習(xí)周期縮短,人力成本下降; (2)自動變換得到的三維程序藍(lán)圖模型容易閱讀和理解。藍(lán)圖模型將作為公司負(fù)資產(chǎn)的遺產(chǎn)程序代碼(代碼越多,花費越多)轉(zhuǎn)變?yōu)檎Y產(chǎn)(模型越多,花費越少),三維的程序藍(lán)圖模型及變換將取代二維的代碼和傳統(tǒng)文檔成為公司的核心資產(chǎn); (3)代碼與模型的雙向可視自動化變換技術(shù)和代碼文本自動對比驗證技術(shù),可及時維護(hù)模型與代碼的一致性,保證模型不會過時和它具有的智能資產(chǎn)價值; (4)對中小規(guī)模的企業(yè)和直接編碼的項目,可在代碼開發(fā)完成后進(jìn)行代碼模型可視自動化逆向工程,自動快速生成項目的模型文檔,減少60-80%的程序核心文檔書寫工作,使項目開發(fā)敏捷化; (5)從代碼逆向自動創(chuàng)建的可視化程序藍(lán)圖模型具有直觀和容易理解的特性,這將有效降低項目關(guān)鍵人員變動的風(fēng)險并有利于控制人員費用的增加。 (6)模型到代碼的正向自動變換技術(shù)提供模型自動轉(zhuǎn)換和代碼自動生成的功能,減少4/5以上的編碼工作量;另外,可視化藍(lán)圖建模語言和本地化動作模式語言取代傳統(tǒng)編程語言作為開發(fā)語言工件,簡單易懂,直觀自然,顯著提高開發(fā)工作效率,并改進(jìn)軟件的可維護(hù)性。,案例啟示-程序藍(lán)圖可視自動化逆向工程過程,開源軟件代碼,遺產(chǎn)系統(tǒng)代碼,教學(xué)程序代碼,項目開發(fā)代碼,其他代碼資源,程序藍(lán)圖可視自動化逆向變換,程序藍(lán)圖文檔與代碼自動生成,中文程序代碼,英文程序代碼,文本自動對比驗證,類圖模型,過程藍(lán)圖模型,藍(lán)圖模型制品,案例啟示-類圖三層抽象視圖逆向變換過程,類源代碼,從類圖模型重新生成的類英文框架代碼,從類圖模型重新生成的類中文框架代碼,文本自動對比驗證,自動生成,自動生成,詞法語法分析,從類圖模型重新生成的類中文框架代碼,概念層-pim,邏輯層-psm,框架信息提取模型格式變換標(biāo)識符變換,信息過濾,信息抽取,格式轉(zhuǎn)換,屬性方法逆向映射變換,概念類圖,邏輯類圖,實現(xiàn)類圖,類圖,類圖三層視圖模型,自動生成,實現(xiàn)層psm,案例啟示-過程藍(lán)圖三層抽象視圖逆向變換過程,方法源代碼,重新生成的類方法英文代碼,重新生成的類方法中文代碼,文本自動對比驗證,自動生成,自動生成,詞法語法分析,從類圖模型重新生成的類中文框架代碼,概念層-pim,邏輯層-psm,實現(xiàn)層psm,抽象概念結(jié)構(gòu)圖 (編程思維導(dǎo)向圖),抽象邏輯結(jié)構(gòu)圖,抽象實現(xiàn)結(jié)構(gòu)圖,過程藍(lán)圖,結(jié)點描述變換,格式變換 標(biāo)識符變換,結(jié)點語義抽象,控制結(jié)構(gòu)抽象,過程藍(lán)圖三層視圖,自動生成,案例啟示-程序藍(lán)圖可視自動化再工程過程,開源軟件代碼,遺產(chǎn)系統(tǒng)代碼,教學(xué)程序代碼,項目開發(fā)代碼,其他代碼資源,程序藍(lán)圖模型可視自動化逆向工程,逆向程序藍(lán)圖,程序藍(lán)圖模型可視自動化正向工程,再工程中文程序代碼,文本自動對比驗證,類
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年交通運輸應(yīng)急預(yù)案演練計劃
- 五年級信息技術(shù)評估與反饋計劃
- 小學(xué)六年級后進(jìn)生情緒管理課程計劃
- 2023-2024學(xué)年湖北省鄂州市部分高中教科研協(xié)作體高二下學(xué)期期中聯(lián)考地理試卷(解析版)
- 旅游行業(yè)導(dǎo)游技能培訓(xùn)措施
- 2025蘇科版小學(xué)五年級道德與法治教育計劃
- 2025-2030中國按摩連鎖店行業(yè)市場發(fā)展現(xiàn)狀及競爭格局與投資戰(zhàn)略研究報告
- 2025-2030中國康復(fù)醫(yī)院行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 2025-2030中國平板電腦除塵器行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 2025-2030中國工業(yè)塑料條門行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 專題十五 民事權(quán)利與義務(wù)(考點講析+練習(xí))-2025年高考政治三輪沖刺過關(guān)(全國適用)
- 小學(xué)英語人教PEP版三至六年級全冊單詞詞匯默寫打印
- 2023-2024學(xué)年湖南省長沙市長沙縣八年級(下)月考數(shù)學(xué)試卷(6月份)(含答案)
- 2023年基金從業(yè)資格考試知識點、考點總結(jié)
- JGJ80-2016 建筑施工高處作業(yè)安全技術(shù)規(guī)范
- 2023年新疆烏魯木齊一中自主招生物理試卷試題(含答案)
- 國開(河北)2024年《中外政治思想史》形成性考核1-4答案
- 巴金名著導(dǎo)讀《激流三部曲》
- 吸煙與肺結(jié)核雙重危害的防范
- 石油開采業(yè)的大數(shù)據(jù)應(yīng)用與數(shù)據(jù)分析
- 中心靜脈導(dǎo)管相關(guān)血流感染課件
評論
0/150
提交評論