[發明專利]確定代碼質量的方法和裝置在審
| 申請號: | 201811536774.0 | 申請日: | 2018-12-14 |
| 公開(公告)號: | CN109783361A | 公開(公告)日: | 2019-05-21 |
| 發明(設計)人: | 秦天歡;張宗勇 | 申請(專利權)人: | 平安壹錢包電子商務有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F8/41 |
| 代理公司: | 北京英特普羅知識產權代理有限公司 11015 | 代理人: | 林彥之 |
| 地址: | 518033 廣東省深圳市福田區福田*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 目標代碼文件 質量分析結果 質量分析模型 抽象語法樹 方法和裝置 循環神經網絡 代碼文件 映射關系 申請 測試 漏洞 評估 分析 | ||
本申請提供了一種確定代碼質量的方法和裝置,該方法包括:獲取待測試的目標代碼文件;對所述目標代碼文件進行分析,得到所述目標代碼文件的抽象語法樹;根據所述目標代碼文件的抽象語法樹和代碼質量分析模型,確定所述目標代碼文件的代碼質量分析結果,所述代碼質量分析結果包括存在漏洞BUG或不存在BUG,所述代碼質量分析模型用于表示抽象語法樹與代碼質量分析結果之間的映射關系,且所述代碼質量分析模型是通過雙向長短時記憶循環神經網絡LSTM訓練得到的。采用本申請提供的確定代碼質量的方法和裝置,能夠對代碼文件的質量進行評估。
技術領域
本申請涉及計算機領域,并且更具體地,涉及計算機領域中確定代碼質量的方法和裝置。
背景技術
隨著信息技術的蓬勃發展,計算機已經越來越廣泛的應用到各行各業中,作為信息技術的靈魂,軟件的規模也在日益擴大,這不僅導致了程序復雜度的提高,也降低了軟件自身的可靠性。因此保證軟件的代碼質量,是貫穿到整個生命周期的重要問題,而如何對軟件的代碼質量進行有效的評價則是保證軟件質量的一種重要手段。
傳統會通過靜態分析的方式對代碼做一些靜態檢查,諸如BUG檢查、編碼規范等。這類靜態分析無法感知到項目的業務邏輯、人員編碼習慣等信息,因此很難識別出業務類型的BUG、不規范行為。并且,傳統的靜態分析的方式進行檢查時需要進行大量的邏輯判斷,在實際項目中運用是不現實的。
發明內容
本申請提供一種確定代碼質量的方法和裝置,能夠對代碼文件的質量進行評估。
為實現上述目的,本申請提供一種確定代碼質量的方法,包括以下內容:
獲取待測試的目標代碼文件;
對所述目標代碼文件進行分析,得到所述目標代碼文件的抽象語法樹;
根據所述目標代碼文件的抽象語法樹和代碼質量分析模型,確定所述目標代碼文件的代碼質量分析結果,所述代碼質量分析結果包括存在BUG或不存在BUG,所述代碼質量分析模型用于表示抽象語法樹與代碼質量分析結果之間的映射關系,且所述代碼質量分析模型是通過雙向長短時記憶循環神經網絡LSTM訓練得到的。
在一種可能的實現方式中,在根據所述目標代碼文件的抽象語法樹和代碼質量分析模型,確定所述目標代碼文件的代碼質量分析結果之前,所述方法還包括:獲取多個樣本代碼文件和所述多個樣本代碼文件中每個樣本代碼文件的代碼質量分析結果;對所述每個樣本代碼文件進行分析,得到所述每個樣本代碼文件的抽象語法樹;將所述每個樣本代碼文件的抽象語法樹和所述每個樣本代碼文件的代碼質量分析結果輸入到所述雙向長短時記憶循環神經網絡LSTM模型中,訓練得到所述代碼質量分析模型。
在一種可能的實現方式中,對所述目標代碼文件進行分析,得到所述目標代碼文件的抽象語法樹,包括:通過語法分析器對所述目標代碼文件進行詞法和語法分析,得到分析結果;將所述分析結果通過抽象語法樹的形式表示。
在一種可能的實現方式中,所述方法還包括:當所述目標代碼文件的代碼質量分析結果為存在BUG時,發送第一提醒信息,所述第一提醒信息用于提醒用戶修復所述目標代碼文件中的BUG。
在一種可能的實現方式中,所述方法還包括:當所述目標代碼文件的代碼質量分析結果為存在BUG時,發送第二提醒信息,所述第二提醒信息用于提醒用戶所述目標代碼文件中存在的所有BUG在所述目標代碼文件中的位置。
在一種可能的實現方式中,所述方法還包括:當所述目標代碼文件的代碼質量分析結果為不存在BUG時,提交所述目標代碼;或當所述目標代碼文件的代碼質量分析結果為存在BUG時,修復所述目標代碼文件中存在的問題。
在一種可能的實現方式中,所述方法還包括:輸出所述目標代碼文件的代碼質量分析結果。
為實現上述目的,本申請還提供一種確定代碼質量的裝置,該裝置具體包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于平安壹錢包電子商務有限公司,未經平安壹錢包電子商務有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811536774.0/2.html,轉載請聲明來源鉆瓜專利網。





