[發(fā)明專利]一種源碼掃描工具、方法、設(shè)備及介質(zhì)有效
| 申請(qǐng)?zhí)枺?/td> | 202010790482.0 | 申請(qǐng)日: | 2020-08-07 |
| 公開(kāi)(公告)號(hào): | CN112000572B | 公開(kāi)(公告)日: | 2022-06-17 |
| 發(fā)明(設(shè)計(jì))人: | 王鳳麗 | 申請(qǐng)(專利權(quán))人: | 北京浪潮數(shù)據(jù)技術(shù)有限公司 |
| 主分類號(hào): | G06F11/36 | 分類號(hào): | G06F11/36 |
| 代理公司: | 北京集佳知識(shí)產(chǎn)權(quán)代理有限公司 11227 | 代理人: | 巴翠昆 |
| 地址: | 100085 北京*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 源碼 掃描 工具 方法 設(shè)備 介質(zhì) | ||
本申請(qǐng)公開(kāi)了一種源碼掃描工具、方法、設(shè)備及介質(zhì),該工具包括:分析模塊,用于對(duì)程序源碼進(jìn)行分析,以生成第三方組件對(duì)應(yīng)的問(wèn)題詞典;其中,所述問(wèn)題詞典中的問(wèn)題為所述分析模塊無(wú)法識(shí)別的所述第三方組件對(duì)應(yīng)的語(yǔ)法;第三方組件解析引擎,用于查找所述問(wèn)題詞典中所述問(wèn)題對(duì)應(yīng)的所述程序源碼引用的所述第三方組件的功能片段,然后將所述功能片段以及所述問(wèn)題對(duì)應(yīng)的所述程序源碼中的上下文作為目標(biāo)程序段保存至目標(biāo)文件,并將所述目標(biāo)文件的指針回調(diào)給所述分析模塊,以便所述分析模塊通過(guò)所述指針?lè)治鏊瞿繕?biāo)程序段,得到對(duì)應(yīng)的分析結(jié)果。這樣,能夠降低源碼問(wèn)題的漏報(bào)率以及提升源碼問(wèn)題報(bào)告的準(zhǔn)確率。
技術(shù)領(lǐng)域
本申請(qǐng)涉及程序測(cè)試技術(shù)領(lǐng)域,特別涉及一種源碼掃描工具、方法、設(shè)備及介質(zhì)。
背景技術(shù)
目前,在軟件工程的開(kāi)發(fā)測(cè)試階段,為了提高代碼質(zhì)量,通常引入源碼掃描工具來(lái)掃描項(xiàng)目源碼,通常情況下,源碼掃描工具能夠報(bào)告項(xiàng)目源碼中存在的問(wèn)題。但是當(dāng)源碼中引入第三方框架時(shí),源碼掃描工具通常不掃描解析三方框架,因此源碼掃描工具不了解三方框架的語(yǔ)法,故在分析源碼時(shí),遇到三方框架語(yǔ)法,存在一定的誤判與漏判。
發(fā)明內(nèi)容
有鑒于此,本申請(qǐng)的目的在于提供一種源碼掃描工具、方法、設(shè)備及介質(zhì),能夠降低源碼問(wèn)題的漏報(bào)率以及提升源碼問(wèn)題報(bào)告的準(zhǔn)確率。其具體方案如下:
第一方面,本申請(qǐng)公開(kāi)了一種源碼掃描工具,包括:
分析模塊,用于對(duì)程序源碼進(jìn)行分析,以生成第三方組件對(duì)應(yīng)的問(wèn)題詞典;其中,所述問(wèn)題詞典中的問(wèn)題為所述分析模塊無(wú)法識(shí)別的所述第三方組件對(duì)應(yīng)的語(yǔ)法;
第三方組件解析引擎,用于查找所述問(wèn)題詞典中所述問(wèn)題對(duì)應(yīng)的所述程序源碼引用的所述第三方組件的功能片段,然后將所述功能片段以及所述問(wèn)題對(duì)應(yīng)的所述程序源碼中的上下文作為目標(biāo)程序段保存至目標(biāo)文件,并將所述目標(biāo)文件的指針回調(diào)給所述分析模塊,以便所述分析模塊通過(guò)所述指針?lè)治鏊瞿繕?biāo)程序段,得到對(duì)應(yīng)的分析結(jié)果。
可選的,所述第三方組件解析引擎,還用于將所述問(wèn)題以及所述問(wèn)題對(duì)應(yīng)的所述指針添加至解疑索引表。
可選的,所述第三方組件解析引擎,還用于在查找所述問(wèn)題詞典中所述問(wèn)題對(duì)應(yīng)的所述程序源碼引用的所述第三方組件的功能片段之前,在所述解疑索引表中查找是否存在所述問(wèn)題對(duì)應(yīng)的目標(biāo)指針,若存在,則將所述目標(biāo)指針回調(diào)給所述分析模塊,否則,啟動(dòng)所述在查找所述問(wèn)題詞典中所述問(wèn)題對(duì)應(yīng)的所述程序源碼引用的所述第三方組件的功能片段的步驟。
可選的,所述分析模塊,還用于在得到所述分析結(jié)果之后,將對(duì)應(yīng)的所述問(wèn)題從所述問(wèn)題詞典中刪除。
可選的,所述分析模塊,具體用于對(duì)所述程序源碼進(jìn)行分析,以生成所述第三方組件對(duì)應(yīng)的所述問(wèn)題詞典;其中,所述問(wèn)題詞典包括任一所述問(wèn)題以及所述問(wèn)題對(duì)應(yīng)的問(wèn)題序號(hào)對(duì)應(yīng)的鍵值對(duì)。
可選的,所述源碼掃描工具,還包括:
輸入模塊,用于確定出所述程序源碼對(duì)應(yīng)的待掃描文件位置,以便所述分析模塊根據(jù)所述待掃描文件位置進(jìn)行針對(duì)所述程序源碼的分析。
可選的,所述源碼掃描工具,還包括:
輸出模塊,用于將所述分析模塊生成的目標(biāo)分析結(jié)果存放至預(yù)設(shè)緩存隊(duì)列,當(dāng)所述預(yù)設(shè)緩存隊(duì)列滿時(shí),將所述預(yù)設(shè)緩存隊(duì)列中的內(nèi)容寫(xiě)入對(duì)應(yīng)的問(wèn)題報(bào)告;
其中,所述目標(biāo)分析結(jié)果為所述分析模塊判定所述目標(biāo)程序段存在問(wèn)題時(shí)生成的分析結(jié)果。
第二方面,本申請(qǐng)公開(kāi)了一種源碼掃描方法,包括:
對(duì)程序源碼進(jìn)行分析,以生成第三方組件對(duì)應(yīng)的問(wèn)題詞典;其中,所述問(wèn)題詞典中的問(wèn)題為所述分析模塊無(wú)法識(shí)別的所述第三方組件對(duì)應(yīng)的語(yǔ)法;
查找所述問(wèn)題詞典中所述問(wèn)題對(duì)應(yīng)的所述程序源碼引用的所述第三方組件的功能片段;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京浪潮數(shù)據(jù)技術(shù)有限公司,未經(jīng)北京浪潮數(shù)據(jù)技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010790482.0/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 上一篇:集群節(jié)點(diǎn)的文件變動(dòng)管理方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 下一篇:一種權(quán)重值自動(dòng)調(diào)整方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 同類專利
- 專利分類
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ò)誤
- 坐席資源碼的分配方法和分配系統(tǒng)
- 一種服務(wù)器軟件源碼開(kāi)發(fā)管理方法
- 基于源碼庫(kù)上傳容器鏡像至鏡像倉(cāng)庫(kù)的方法及系統(tǒng)
- 一種漏洞檢測(cè)方法、裝置、服務(wù)器及存儲(chǔ)介質(zhì)
- 商品的溯源碼關(guān)聯(lián)方法及裝置
- 一種基于數(shù)據(jù)可執(zhí)行特征的網(wǎng)頁(yè)后門(mén)檢測(cè)方法與系統(tǒng)
- 文件打包方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 源碼轉(zhuǎn)換方法、裝置、計(jì)算機(jī)設(shè)備及可讀存儲(chǔ)介質(zhì)
- 一種多人模式下修改源碼文件的方法、系統(tǒng)及介質(zhì)
- 一種牲畜胴體表皮溯源碼噴印方法、噴碼機(jī)、溯源碼和服務(wù)器
- 一種數(shù)據(jù)庫(kù)讀寫(xiě)分離的方法和裝置
- 一種手機(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ì)





