[發(fā)明專利]代碼分析方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)在審
| 申請(qǐng)?zhí)枺?/td> | 202110396877.7 | 申請(qǐng)日: | 2021-04-13 |
| 公開(kāi)(公告)號(hào): | CN112988593A | 公開(kāi)(公告)日: | 2021-06-18 |
| 發(fā)明(設(shè)計(jì))人: | 宋大偉;楊群峰;徐志普 | 申請(qǐng)(專利權(quán))人: | 蘇州沁游網(wǎng)絡(luò)科技有限公司 |
| 主分類號(hào): | G06F11/36 | 分類號(hào): | G06F11/36 |
| 代理公司: | 北京品源專利代理有限公司 11332 | 代理人: | 孟金喆 |
| 地址: | 215006 江蘇省蘇州市蘇州工*** | 國(guó)省代碼: | 江蘇;32 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 代碼 分析 方法 裝置 計(jì)算機(jī) 設(shè)備 存儲(chǔ) 介質(zhì) | ||
本發(fā)明實(shí)施例公開(kāi)了一種代碼分析方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)。其中,方法包括:獲取目標(biāo)分析代碼,所述目標(biāo)分析代碼包括多個(gè)用于實(shí)現(xiàn)不同功能的代碼塊,每個(gè)代碼塊中預(yù)先標(biāo)注有功能注解數(shù)據(jù);在目標(biāo)分析代碼的執(zhí)行過(guò)程中,動(dòng)態(tài)捕捉每個(gè)代碼塊在執(zhí)行過(guò)程中所生成的動(dòng)態(tài)描述數(shù)據(jù);根據(jù)所述動(dòng)態(tài)描述數(shù)據(jù)以及所述功能注解數(shù)據(jù),形成與所述目標(biāo)分析代碼對(duì)應(yīng)的執(zhí)行流程描述信息。本發(fā)明實(shí)施例可以實(shí)現(xiàn)對(duì)代碼執(zhí)行過(guò)程中生成的動(dòng)態(tài)數(shù)據(jù)的實(shí)時(shí)獲取,直觀地記錄了代碼執(zhí)行的流程及代碼功能的實(shí)現(xiàn)情況,以使開(kāi)發(fā)測(cè)試人員快速了解代碼的業(yè)務(wù)邏輯,以及快速定位到代碼錯(cuò)誤導(dǎo)致的業(yè)務(wù)流程異常。
技術(shù)領(lǐng)域
本發(fā)明實(shí)施例涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種代碼分析方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù)
借助計(jì)算機(jī)進(jìn)行代碼分析可以幫助開(kāi)發(fā)人員準(zhǔn)確、高效地理解代碼的業(yè)務(wù)邏輯、功能以及查找出代碼存在的缺陷。現(xiàn)有技術(shù)中,市面上主流代碼分析工具主要包括以下幾種:1、Checkstyle:通過(guò)檢查代碼編碼格式、命名約定、Javadoc和類設(shè)計(jì)等方面,有效約束開(kāi)發(fā)人員更好地遵循代碼編寫規(guī)范;2、FindBugs:通過(guò)檢查類文件或JAR文件,將字節(jié)碼與一組缺陷模式進(jìn)行對(duì)比從而發(fā)現(xiàn)代碼缺陷,完成靜態(tài)代碼分析;3、PMD:通過(guò)其內(nèi)置的編碼規(guī)則對(duì)Java代碼進(jìn)行靜態(tài)檢查,主要包括對(duì)潛在的bug,未使用的代碼,重復(fù)的代碼,循環(huán)體創(chuàng)建新對(duì)象等問(wèn)題的檢驗(yàn);4、Jtest:是Parasoft公司推出的一款針對(duì)Java語(yǔ)言的自動(dòng)化代碼優(yōu)化和測(cè)試工具,其靜態(tài)代碼分析功能能夠按照其內(nèi)置的超過(guò)800條的Java編碼規(guī)范自動(dòng)檢查,同時(shí)還支持用戶自定義編碼規(guī)則,幫助用戶預(yù)防一些特殊用法的錯(cuò)誤。
然而,現(xiàn)有技術(shù)提供的代碼分析工具均是基于對(duì)靜態(tài)代碼進(jìn)行分析,以進(jìn)行代碼規(guī)范和風(fēng)格的檢查,查找出代碼編寫中出現(xiàn)的語(yǔ)法錯(cuò)誤或代碼重復(fù)等漏洞,無(wú)法獲得代碼執(zhí)行過(guò)程中生成的動(dòng)態(tài)數(shù)據(jù),從而無(wú)法幫助開(kāi)發(fā)測(cè)試人員了解代碼執(zhí)行的流程,亦無(wú)法根據(jù)代碼錯(cuò)誤快速定位到業(yè)務(wù)流程中出現(xiàn)的異常。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種代碼分析方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì),以實(shí)現(xiàn)對(duì)代碼執(zhí)行過(guò)程中生成的動(dòng)態(tài)數(shù)據(jù)的實(shí)時(shí)獲取,直觀地記錄了代碼執(zhí)行的流程及代碼功能的實(shí)現(xiàn)情況,以使開(kāi)發(fā)測(cè)試人員快速了解代碼的業(yè)務(wù)邏輯,以及快速定位到代碼錯(cuò)誤導(dǎo)致的業(yè)務(wù)流程異常。
第一方面,本發(fā)明實(shí)施例提供了一種代碼分析方法,包括:
獲取目標(biāo)分析代碼,所述目標(biāo)分析代碼包括多個(gè)用于實(shí)現(xiàn)不同功能的代碼塊,每個(gè)代碼塊中預(yù)先標(biāo)注有功能注解數(shù)據(jù);
在目標(biāo)分析代碼的執(zhí)行過(guò)程中,動(dòng)態(tài)捕捉每個(gè)代碼塊在執(zhí)行過(guò)程中所生成的動(dòng)態(tài)描述數(shù)據(jù);
根據(jù)所述動(dòng)態(tài)描述數(shù)據(jù)以及所述功能注解數(shù)據(jù),形成與所述目標(biāo)分析代碼對(duì)應(yīng)的執(zhí)行流程描述信息。
第二方面,本發(fā)明實(shí)施例還提供了一種代碼分析裝置,包括:
代碼獲取模塊,用于獲取目標(biāo)分析代碼,所述目標(biāo)分析代碼包括多個(gè)用于實(shí)現(xiàn)不同功能的代碼塊,每個(gè)代碼塊中預(yù)先標(biāo)注有功能注解數(shù)據(jù);
數(shù)據(jù)捕捉模塊,用于在目標(biāo)分析代碼的執(zhí)行過(guò)程中,動(dòng)態(tài)捕捉每個(gè)代碼塊在執(zhí)行過(guò)程中所生成的動(dòng)態(tài)描述數(shù)據(jù);
流程描述模塊,用于根據(jù)所述動(dòng)態(tài)描述數(shù)據(jù)以及所述功能注解數(shù)據(jù),形成與所述目標(biāo)分析代碼對(duì)應(yīng)的執(zhí)行流程描述信息。
第三方面,本發(fā)明實(shí)施例還提供了一種計(jì)算機(jī)設(shè)備,所述計(jì)算機(jī)設(shè)備包括:
一個(gè)或多個(gè)處理器;
存儲(chǔ)裝置,用于存儲(chǔ)一個(gè)或多個(gè)程序;
當(dāng)所述一個(gè)或多個(gè)程序被所述一個(gè)或多個(gè)處理器執(zhí)行,使得所述一個(gè)或多個(gè)處理器實(shí)現(xiàn)本發(fā)明任意實(shí)施例所提供的代碼分析方法。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于蘇州沁游網(wǎng)絡(luò)科技有限公司,未經(jīng)蘇州沁游網(wǎng)絡(luò)科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/202110396877.7/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測(cè);錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過(guò)測(cè)試作故障硬件的檢測(cè)或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過(guò)處理作錯(cuò)誤檢測(cè)、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過(guò)軟件的測(cè)試或調(diào)試防止錯(cuò)誤
- 遙控器代碼格式結(jié)構(gòu)及其收發(fā)信方法及裝置
- 在虛擬機(jī)中驗(yàn)證代碼模塊的方法及裝置
- 一種用于代碼的管理方法及裝置
- 虛擬代碼提供系統(tǒng)、生成裝置、驗(yàn)證裝置、提供方法
- 一種自動(dòng)化代碼質(zhì)量檢查方法及系統(tǒng)
- 代碼掃描方法、裝置、計(jì)算設(shè)備及計(jì)算機(jī)存儲(chǔ)介質(zhì)
- 用于更新代碼的方法和裝置
- 前端代碼打包方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 一種代碼審查服務(wù)同步方法、裝置及計(jì)算機(jī)設(shè)備
- 一種高效智能源代碼安全管理平臺(tái)
- 一種數(shù)據(jù)庫(kù)讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





