




已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
運用代碼模型自動化逆向工程技術高效理解開源和遺產(chǎn)軟件系統(tǒng),劉建賓 博士、教授 軟件工程創(chuàng)新團隊帶頭人,學科負責人、系主任 北京信息科技大學軟件工程研究與開發(fā)中心,摘要,案例簡述 達到目標 案例背景 成功要素與經(jīng)驗 案例實踐與結果展示 失敗經(jīng)歷與嘗試 案例roi分析 案例啟示 進一步的工作與打算,運用代碼模型自動化逆向工程技術高效理解開源和遺產(chǎn)軟件系統(tǒng),案例簡述 采用自主研發(fā)的代碼逆向模型自動化技術與工具,通過代碼詞法語法掃描分析,結構分析、模型格式化轉換,中英文名字映射表構造,以及自然動作漢語語義描述的自動變換等步驟,將大型開源opencms和十余個遺產(chǎn)軟件系統(tǒng)的java程序代碼自動逆向變換為可視化類圖和過程藍圖(程序藍圖)模型,將java程序語句自動逆向變換為自然動作模式語言漢語描述 自動構造分層抽象的程序藍圖的視圖模型,以直觀圖形和自然易懂的漢語分層揭示程序代碼中隱含的模塊結構、算法思想、及其設計與實現(xiàn)細節(jié); 降低閱讀理解程序的復雜性和難度,提高學習和維護工作效率5倍以上。,開源軟件源代碼,程序藍圖可視自動化逆向工程,類圖,過程藍圖,中文代碼,其他源代碼資源,遺產(chǎn)系統(tǒng)源代碼,教學程序源代碼,項目開發(fā)源代碼,英文代碼,運用代碼模型自動化逆向工程技術高效理解開源和遺產(chǎn)軟件系統(tǒng),b) 達到目標 自動掃描java源碼進行詞法語法分析并變換為java藍圖模型文件格式; 采用三維程序藍圖(類圖+過程藍圖)可視化表示類模塊結構及其類方法的算法過程模型; 運用程序變換工具自動生成概念和邏輯層動作語義的自然漢語描述; 自動對程序藍圖模型的概念、邏輯和實現(xiàn)三層視圖進行分層抽象和可視化展示; 通過中英文標識符名字映射技術,支持程序模型的中文本地化表示; 運用文檔生成工具批量自動生成項目程序藍圖模型文檔; 自動從程序藍圖模型正向生成程序的中英文框架代碼和完整代碼 通過文本自動對比驗證技術,保證模型與代碼的一致性,運用代碼模型自動化逆向工程技術高效理解開源和遺產(chǎn)軟件系統(tǒng),誰-北京信息科技大學軟件工程研究與開發(fā)中心,案例背景 北京信息科技大學是由原北京機械工業(yè)學院和北京信息工程學院(原北大二分校)合并組建,北京市重點支持建設的全日制普通高等學校。 軟件工程研究與開發(fā)中心是原電子部1983年批準成立的重點科研機構,曾擔任多項“六五”至“九五”等國家重點科技攻關項目,以及多項軍用軟件工程項目的研究與開發(fā),起草多項國家標準,多項成果曾受國家和部委的表彰,為我國軟件產(chǎn)業(yè)的發(fā)展做出重要貢獻。 與國家信息產(chǎn)業(yè)主管部門密切協(xié)作,以標準化和創(chuàng)新成果帶動軟件技術發(fā)展是中心長期以來形成和堅持的特色。 中心的主要任務是以國家軟件工程建設需求為導向,繼續(xù)參與國家重大的軟件工程課題和各類縱橫向項目的研究與開發(fā),為it企業(yè)和高校師生提供軟件工程新技術服務,帶動教學和科研水平的提高,建設成為軟件工程新技術的研發(fā)基地、“產(chǎn)學研用”一體化人才培養(yǎng)基地、科技成果轉化、應用推廣和產(chǎn)業(yè)化基地、知識創(chuàng)新基地。 中心主要從事軟件工程標準制定、模型驅動軟件工程理論與方法的研究、程序代碼模型可視自動化逆向工程服務、軟件工程項目開發(fā),人才培養(yǎng)、技術培訓、知識創(chuàng)新與出版等方面的工作。,程序代碼理解是學習開源軟件和維護遺產(chǎn)系統(tǒng)的基礎和前提。復雜程序代碼閱讀理解周期長,效率低、工作量投入大和成本高的老大難問題一直未能得到有效解決。大量開源軟件和遺產(chǎn)系統(tǒng)的程序代碼資源有學習理解和維護的實際需求和迫切需要。 軟件工程創(chuàng)新團隊在軟件可視自動化工程技術領域已持續(xù)開展近二十年的研究工作,先后有100多人參與研發(fā),培養(yǎng)了30余名碩士生和50余名本科生,發(fā)表系列專題研究論文60余篇(其中核心期刊論文30余篇,ei檢索論文10余篇),在科學出版社出版理論性學術專著1部,原創(chuàng)編程思維導向圖(抽象概念結構圖)、java藍圖、c+藍圖等過程藍圖建模語言及其模型驅動程序理論與方法,在正向工程、逆向工程、模型重構、算法模式、再工程等技術方向取得創(chuàng)新性理論研究成果。 提出自然動作模式語言及其語言驅動程序技術,在自然動作模式語言與編程語言間的雙向轉換技術方面找到快速實用的模式匹配自動轉換方法,研制系列模型驅動軟件工具與環(huán)境,開發(fā)語言驅動程序自動變換系統(tǒng),在藍圖模型和自然動作模式語言的自動變換關鍵技術方面獲得突破性進展。 經(jīng)過大量測試與案例試驗,并在大型opencms、sweet home3d、violet等多個開源軟件的學習和十余個遺產(chǎn)軟件系統(tǒng)的維護工作中得到成功應用,顯著提高軟件開發(fā)與維護效率。 不斷將最新原創(chuàng)科研成果引入課堂,近十年來先后為汕頭大學、北信科大和北航的2000余名本科和研究生新開“模型驅動程序設計方法學”、“模型驅動開發(fā)”等8門前沿特色課程,程序藍圖開發(fā)工具在教學中得到持續(xù)測試與應用,不斷得以改進和完善。,哪來的創(chuàng)新團隊多年潛心研究與開發(fā)的原創(chuàng)成果,怎么做到的,成功要素與經(jīng)驗分享 程序代碼向藍圖模型成功轉換的關鍵是需要有一個可靠穩(wěn)定和功能全面的詞法語法分析掃描器 分析類間關系是類圖建立的技術難點和關鍵 信息過濾和抽象技術是實現(xiàn)分層抽象程序視圖模型的基本方法 程序藍圖模型、動作模式語言與變換規(guī)則的嚴格形式化定義是實現(xiàn)自動化處理和變換的基礎和前提條件 構造中英文標識符名字映射對照表是支持中文化模型界面和實現(xiàn)中英文表示雙向映射的基本條件,對照表的規(guī)模與模型中文化支持率成正比,中英文名字命名質量對程序的可理解性有重要影響 從逆向模型自動重新生成程序代碼的正向轉換技術和代碼文本自動對比驗證技術是保證逆向模型與代碼一致性的有效方法,案例實踐與結果展示 案例1-大型開源軟件opencms程序藍圖模型可視自動化逆向工程,opencms是一個基于java ee平臺的開源內容管理系統(tǒng),由德國的alkacon software公司負責開發(fā)和維護,可以非常平穩(wěn)的運行在各種開源(linux、apache、tomcat、mysql等)和商業(yè)環(huán)境(windows、bea weblogic、oricle等)中 opencms是一個完全免費的開源軟件,使用它不需要支付任何許可費用,利用它可以非常容易的創(chuàng)建、維護和管理復雜的大型網(wǎng)站 opencms是具有企業(yè)級軟件品質的開源軟件,全球各地均有專業(yè)公司提供技術服務支持 opencms是一個大型開源軟件,v核心版源代碼擁有56643個標識符,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,框架信息提取模型格式變換標識符變換,信息過濾,信息抽取,格式轉換,屬性方法逆向映射變換,類圖,自動生成,從類圖模型重新生成的類英文框架代碼,從類圖模型重新生成的類中文框架代,類圖三層抽象視圖,cmssubscriptiondriver類源代碼,實踐 1.6- cmssubscriptiondriver類markresourceasvisitedby方法源代碼逆向可視自動化產(chǎn)生的編程實現(xiàn)圖(抽象實現(xiàn)結構圖),實踐 1.7- cmssubscriptiondriver類markresourceasvisitedby方法源代碼逆向可視自動化產(chǎn)生的編程邏輯圖(抽象邏輯結構圖),實踐 1.8- cmssubscriptiondriver類markresourceasvisitedby方法源代碼逆向可視自動化產(chǎn)生的編程概念圖(編程思維導向圖、抽象概念結構圖),實踐 1.9- cmssubscriptiondriver類markresourceasvisitedby方法源代碼逆向可視自動化產(chǎn)生的過程藍圖三維模型(編程思維導圖+java藍圖),文本自動對比驗證,自動生成,自動生成,詞法語法分析,從類圖模型重新生成的類中文框架代碼,概念層-pim,邏輯層-psm,實現(xiàn)層psm,過程藍圖,結點描述變換,格式變換 標識符變換,結點語義抽象,控制結構抽象,實踐 1.10-過程藍圖三層抽象視圖逆向變換過程,重新生成的類方法英文代碼,重新生成的類方法中文代碼,過程藍圖三層抽象視圖,markresourceasvisitedby方法的源碼,自動生成,實踐 1.11- 從cmssubscriptiondriver類的實現(xiàn)類圖重新正向自動生成的中文框架代碼,實踐 1.12- 從cmssubscriptiondriver類的實現(xiàn)類圖重新正向自動生成的英文框架代碼,實踐 1.13- cmssubscriptiondriver類markresourceasvisitedby方法的抽象實現(xiàn)結構圖重新正向自動生成的中文方法代碼,實踐 1.14- cmssubscriptiondriver類markresourceasvisitedby方法的抽象實現(xiàn)結構圖重新正向自動生成的英文方法代碼,實踐 1.15-實例演示,案例實踐與結果展示 案例2- sweethome 3d實例演示,sweethome 3d是一款免費的家裝輔助設計軟件。它能幫您通過二維的家居平面圖來設計和布置您的家具,還可以用三維的視角瀏覽整個裝修布局的全貌 可以在官方網(wǎng)站 /下載到這款軟件, 它主要面向一些正在搬遷或者想重新設計現(xiàn)有居室,同時又希望能夠盡快完成室內設計的人。多樣化的可視向導能夠幫助您繪制家居平面圖和布置家具。您可以在已有的平面圖上繪制墻體,然后把家具從目錄中拖拽到平面圖上。每一次在二維平面圖上的操作都能同步更新到三維視圖上,這樣您就可以看見一個真實的立體布局。 sweethome 3d是一個大型開源軟件,最新v4.1版源代碼擁有14512個標識符,3610個方法,194個類和9個包,源碼包規(guī)模23.6m,案例實踐與結果展示 案例2- sweethome 3d實例演示,案例實踐與結果展示 案例3-全中文模型界面支持案例演示,and失敗經(jīng)歷與嘗試,在動作語義的自然語言描述與編程語言的動作表達式之間的自動化變換方面,曾采用自然語言的分詞和語義理解的傳統(tǒng)處理方法,速度慢,效果不佳,成為關鍵技術瓶頸; 近年來,嘗試基于形式語言的模式匹配與變換的自動處理方法獲得成功,通過自動機將編程語言的動作表達式自動變換為自然動作模式語言的受限自然語言描述,高效快速,穩(wěn)定可靠,在解決關鍵技術瓶頸問題上取得重要進展與突破。,案例roi分析,(1)閱讀理解遺產(chǎn)系統(tǒng)代碼和學習開源軟件編程技術的效率提高5-10倍,將使維護和學習周期縮短,人力成本下降; (2)自動變換得到的三維程序藍圖模型容易閱讀和理解。藍圖模型將作為公司負資產(chǎn)的遺產(chǎn)程序代碼(代碼越多,花費越多)轉變?yōu)檎Y產(chǎn)(模型越多,花費越少),三維的程序藍圖模型及變換將取代二維的代碼和傳統(tǒng)文檔成為公司的核心資產(chǎn); (3)代碼與模型的雙向可視自動化變換技術和代碼文本自動對比驗證技術,可及時維護模型與代碼的一致性,保證模型不會過時和它具有的智能資產(chǎn)價值; (4)對中小規(guī)模的企業(yè)和直接編碼的項目,可在代碼開發(fā)完成后進行代碼模型可視自動化逆向工程,自動快速生成項目的模型文檔,減少60-80%的程序核心文檔書寫工作,使項目開發(fā)敏捷化; (5)從代碼逆向自動創(chuàng)建的可視化程序藍圖模型具有直觀和容易理解的特性,這將有效降低項目關鍵人員變動的風險并有利于控制人員費用的增加。 (6)模型到代碼的正向自動變換技術提供模型自動轉換和代碼自動生成的功能,減少4/5以上的編碼工作量;另外,可視化藍圖建模語言和本地化動作模式語言取代傳統(tǒng)編程語言作為開發(fā)語言工件,簡單易懂,直觀自然,顯著提高開發(fā)工作效率,并改進軟件的可維護性。,案例啟示-程序藍圖可視自動化逆向工程過程,開源軟件代碼,遺產(chǎn)系統(tǒng)代碼,教學程序代碼,項目開發(fā)代碼,其他代碼資源,程序藍圖可視自動化逆向變換,程序藍圖文檔與代碼自動生成,中文程序代碼,英文程序代碼,文本自動對比驗證,類圖模型,過程藍圖模型,藍圖模型制品,案例啟示-類圖三層抽象視圖逆向變換過程,類源代碼,從類圖模型重新生成的類英文框架代碼,從類圖模型重新生成的類中文框架代碼,文本自動對比驗證,自動生成,自動生成,詞法語法分析,從類圖模型重新生成的類中文框架代碼,概念層-pim,邏輯層-psm,框架信息提取模型格式變換標識符變換,信息過濾,信息抽取,格式轉換,屬性方法逆向映射變換,概念類圖,邏輯類圖,實現(xiàn)類圖,類圖,類圖三層視圖模型,自動生成,實現(xiàn)層psm,案例啟示-過程藍圖三層抽象視圖逆向變換過程,方法源代碼,重新生成的類方法英文代碼,重新生成的類方法中文代碼,文本自動對比驗證,自動生成,自動生成,詞法語法分析,從類圖模型重新生成的類中文框架代碼,概念層-pim,邏輯層-psm,實現(xiàn)層psm,抽象概念結構圖 (編程思維導向圖),抽象邏輯結構圖,抽象實現(xiàn)結構圖,過程藍圖,結點描述變換,格式變換 標識符變換,結點語義抽象,控制結構抽象,過程藍圖三層視圖,自動生成,案例啟示-程序藍圖可視自動化再工程過程,開源軟件代碼,遺產(chǎn)系統(tǒng)代碼,教學程序代碼,項目開發(fā)代碼,其他代碼資源,程序藍圖模型可視自動化逆向工程,逆向程序藍圖,程序藍圖模型可視自動化正向工程,再工程中文程序代碼,文本自動對比驗證,類
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年委托代理合同范本下載
- 2025房產(chǎn)交易合同模板
- 2025標準版普通房屋租賃合同
- 2025年股權轉讓合同范本
- 《企業(yè)生產(chǎn)管理實務概述》課件
- 新建預拌混凝土生產(chǎn)項目環(huán)評資料環(huán)境影響
- 培養(yǎng)具備全球競爭力的人才的路徑與策略
- 聚酯樹脂行業(yè)發(fā)展趨勢與市場前景解析
- 低空經(jīng)濟產(chǎn)業(yè)園公司成立可行性分析
- 58同城合作協(xié)議
- 鉆井基本知識
- 2025年中考歷史總復習十大專題知識復習講義
- 護膚夏日美白課件
- 2025年河南藝術職業(yè)學院高職單招職業(yè)適應性測試歷年(2019-2024年)真題考點試卷含答案解析
- kmeans聚類算法原理試題及答案
- 2024年山西華陽新材料科技集團有限公司招聘筆試真題
- 國家糧食和物資儲備局垂直管理系統(tǒng)事業(yè)單位招聘筆試真題2024
- 隧道二襯臺車安裝拆除施工方案
- 2025第二屆衛(wèi)生健康行業(yè)網(wǎng)絡與數(shù)據(jù)安全技能大賽備賽試題庫資料500題(含答案)
- 2024年度浙江省衢州市人民醫(yī)院護士招聘真題練習試卷A卷附答案
- GB/T 13927-2022工業(yè)閥門壓力試驗
評論
0/150
提交評論