[發(fā)明專利]一種面向C/C++混源軟件的自動化質(zhì)量評估系統(tǒng)設(shè)計方法在審
| 申請?zhí)枺?/td> | 202011271320.2 | 申請日: | 2020-11-13 |
| 公開(公告)號: | CN112380123A | 公開(公告)日: | 2021-02-19 |
| 發(fā)明(設(shè)計)人: | 李必信;金曉驍;王璐璐;廖力 | 申請(專利權(quán))人: | 眾信方成智能科技(南京)有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F8/70 |
| 代理公司: | 南京眾聯(lián)專利代理有限公司 32206 | 代理人: | 杜靜靜 |
| 地址: | 211106 江蘇省南京市*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 面向 c++ 軟件 自動化 質(zhì)量 評估 系統(tǒng) 設(shè)計 方法 | ||
1.一種面向C/C++混源軟件的自動化質(zhì)量評估系統(tǒng)設(shè)計方法,其特征在于,具體步驟如下:
步驟1,提取指標;
根據(jù)閉源軟件,開源軟件和混源軟件的不同特性分別提取不同的一級指標和二級指標;
步驟2,構(gòu)建模型;
以步驟1中提取的指標構(gòu)建面向C/C++的混源軟件質(zhì)量模型,模型為“質(zhì)量屬性—質(zhì)量子屬性—度量指標”的三層軟件質(zhì)量框架;每一層包含不同的指標,質(zhì)量屬性對應(yīng)所有一級指標,質(zhì)量子屬性對應(yīng)所有二級指標,度量指標包含每個二級指標的度量元;
步驟3,獲取度量元與設(shè)計指標計算;
3.1,通過代碼的抽象語法樹,測試文檔,用戶手冊文檔,運行日志解析度量元信息;
3.2,設(shè)計所有二級指標計算公式;
步驟4,設(shè)計自動化度量系統(tǒng);
系統(tǒng)主要分為前端和后端兩大模塊,前端負責上傳混源項目代碼,文檔與所使用開源代碼、選擇使用的模型、勾選指標、設(shè)置指標相對權(quán)重矩陣和展示度量結(jié)果功能;后端包含解析模塊、矩陣構(gòu)造模塊、計算模塊3個子模塊,解析模塊負責對上傳的代碼,文檔進行解析提取度量元信息,矩陣構(gòu)造模塊負責對用戶輸入的各質(zhì)量屬性兩兩之間的相對重要權(quán)重值構(gòu)建判斷矩陣,并驗證輸入的相對權(quán)重是否符合一致性,計算模塊負責對每個二級指標進行計算,并結(jié)合矩陣構(gòu)造模塊獲得的權(quán)重計算最終度量結(jié)果。
2.根據(jù)權(quán)利要求1所述的面向C/C++語言的混源軟件自動化質(zhì)量評估系統(tǒng)設(shè)計方法,其特征在于,所述步驟1中從ISO25010模型中提取的和閉源軟件特性相關(guān)的二級指標根據(jù)C/C++語言的特性進行一些修改,對混源軟件中C/C++語言交互帶來的影響在可移植性下增加共存性和互操作性兩個二級指標,安全性下的漏洞情況二級指標;根據(jù)C/C++語言的特性,包括C/C++中指針的引用規(guī)范性,在可維護性指標下增加代碼復雜性二級指標;在自主可控性一級指標下增加多源可控性和數(shù)據(jù)可交換性兩個二級指標表示混源項目中開源代碼與閉源代碼交互所帶來的影響。
3.根據(jù)權(quán)利要求1所述的面向C/C++語言的混源軟件自動化質(zhì)量評估系統(tǒng)設(shè)計方法,其特征在于,所述步驟3中度量元的獲取主要來自3個方面:
1)對C/C++代碼使用CDT工具構(gòu)建抽象語法樹AST,AST上的每個節(jié)點都表示源代碼中的一種結(jié)構(gòu),通過繼承ASTVisitor對象,并重寫其中的visit()方法訪問AST中的節(jié)點獲取源代碼的靜態(tài)信息,包括圈復雜度,類或函數(shù)的個數(shù),C語言函數(shù)的調(diào)用關(guān)系,有效代碼,文件間調(diào)用關(guān)系;
2)對日志文檔、測試文檔、用戶手冊文檔進行解析獲取一些體現(xiàn)軟件實際運行情況的信息,如日志信息中的總運行時間,平均無故障運行時間等,測試文檔信息的總功能數(shù),交換數(shù)據(jù)量等,用戶指南信息的界面數(shù),安裝步驟;
3)對所使用的開源項目在GitHub上的信息進行比較來獲取和開源特性相關(guān)的二級指標的度量元,包括收藏數(shù),代碼提交次數(shù),版本分支數(shù),并比較上傳到開源代碼庫中的開源代碼與混源代碼獲取相似度信息和開源協(xié)議信息,對上傳到開源代碼庫的開源代碼和混源項目代碼進行相似度匹配獲取,將相似度0.9以上的代碼定為相似代碼,然后遍歷混源軟件代碼獲取相似代碼片段并計算開源代碼占比信息。
4.根據(jù)權(quán)利要求1所述的面向C/C++語言的混源軟件自動化質(zhì)量評估系統(tǒng)設(shè)計方法,其特征在于,所述步驟4中計算子模塊首先根據(jù)步驟3.1中得到的度量元信息和3.2中設(shè)計的每個二級指標的計算公式進行計算得到每個二級指標的度量值,然后采用層次分析法獲得每個二級指標的權(quán)重,層次分析法是美國運籌學家匹茨堡大學教授薩蒂提出的一種層次權(quán)重決策分析方法,根據(jù)問題的性質(zhì)和要達到的總目標,將問題分解為不同的組成因素,并按照因素間的相互關(guān)聯(lián)影響以及隸屬關(guān)系將因素按不同的層次聚集組合,形成一個多層次的分析結(jié)構(gòu)模型,從而最終使問題歸結(jié)為最低層相對于最高層的相對重要權(quán)值的確定或相對優(yōu)劣次序的排定。最后通過線性法對所有二級指標和其權(quán)重進行加權(quán)計算得到最終結(jié)果。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于眾信方成智能科技(南京)有限公司,未經(jīng)眾信方成智能科技(南京)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011271320.2/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種跨操作系統(tǒng)平臺的機群系統(tǒng)監(jiān)控和管理方法
- 由C/C++生成JavaWeb服務(wù)的方法及裝置
- 代碼轉(zhuǎn)換方法與裝置
- 一種WPF和C++的交互方法
- 一種在C++程序中實現(xiàn)反射的方法、存儲介質(zhì)及計算設(shè)備
- 用于生成C/C++庫與解釋語言之間的綁定的方法,并且執(zhí)行所述方法以轉(zhuǎn)換三維(3D)模型
- 基于模塊定義圖的無人機飛行控制系統(tǒng)的C++代碼生成方法
- 基于銀河銳華操作系統(tǒng)的C++適配層的裝置
- 一種C++模塊接口的調(diào)用方法及裝置
- 在虛擬機中執(zhí)行C++任務(wù)的方法、裝置、電子設(shè)備及介質(zhì)
- 一種基于應(yīng)用軟件散布的軟件授權(quán)與保護方法及系統(tǒng)
- 一種用于航空機載設(shè)備的軟件在線加載系統(tǒng)及方法
- 軟件構(gòu)建方法、軟件構(gòu)建裝置和軟件構(gòu)建系統(tǒng)
- 惡意軟件檢測方法及裝置
- 一種基于軟件基因的軟件同源性分析方法和裝置
- 軟件引入系統(tǒng)、軟件引入方法及存儲介質(zhì)
- 軟件驗證裝置、軟件驗證方法以及軟件驗證程序
- 使用靜態(tài)和動態(tài)惡意軟件分析來擴展惡意軟件的動態(tài)檢測
- 一種工業(yè)控制軟件構(gòu)建方法和軟件構(gòu)建系統(tǒng)
- 可替換游戲軟件與測驗軟件的裝置與方法
- 自動化設(shè)備和自動化系統(tǒng)
- 一種基于流程驅(qū)動的測試自動化方法以及測試自動化系統(tǒng)
- 用于工業(yè)自動化設(shè)備認識的系統(tǒng)和方法
- 實現(xiàn)過程自動化服務(wù)的標準化設(shè)計方法學的自動化系統(tǒng)
- 一種日產(chǎn)50萬安時勻漿自動化系統(tǒng)
- 一種自動化肥料生產(chǎn)系統(tǒng)
- 一種電氣自動化設(shè)備自動檢測系統(tǒng)及檢測方法
- 用于自動化應(yīng)用的抽象層
- 一種基于虛擬化架構(gòu)的自動化系統(tǒng)功能驗證方法
- 自動化測試框架自動測試的實現(xiàn)技術(shù)





