欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種分布式代碼檢測(cè)方法

文檔序號(hào):6636022閱讀:409來源:國(guó)知局
一種分布式代碼檢測(cè)方法
【專利摘要】本發(fā)明涉及一種分布式代碼檢測(cè)方法,所述方法通過檢測(cè)系統(tǒng)檢測(cè);所述方法包括以下步驟:初始化參數(shù);分析函數(shù)引用;整合數(shù)據(jù)流;分解約束集;回溯結(jié)果。所述檢測(cè)系統(tǒng)包括控制端和分布式終端。所述控制端對(duì)各分布式終端E的管理,同時(shí)提供測(cè)試系統(tǒng)代碼整體的預(yù)處理并分配給分布式終端E進(jìn)行協(xié)處理;所述分布式終端負(fù)責(zé)對(duì)所分配的代碼進(jìn)行檢測(cè)處理。本發(fā)明的方法通過將數(shù)據(jù)流進(jìn)行分解,使用不同的分布式終端進(jìn)行協(xié)同處理,降低原有單一設(shè)備處理的檢測(cè)負(fù)載問題,提升處理代碼的容量。
【專利說明】一種分布式代碼檢測(cè)方法

【技術(shù)領(lǐng)域】
:
[0001]本發(fā)明涉及一種代碼檢測(cè)方法,更具體涉及一種分布式代碼檢測(cè)方法。

【背景技術(shù)】
:
[0002]代碼檢測(cè)是白盒測(cè)試的一種靜態(tài)測(cè)試方法,是眾多軟件測(cè)試方法中發(fā)現(xiàn)軟件缺陷最有效的方法之一。代碼測(cè)試分為兩種分析方法:
[0003]1、靜態(tài)分析
[0004]靜態(tài)分析主要對(duì)源代碼進(jìn)行詞法分析、語法分析,提取被分析程序的靜態(tài)信息,所提取的靜態(tài)信息是代碼缺陷檢測(cè)的基礎(chǔ)。靜態(tài)分析結(jié)果主要包括三部分信息:
[0005]程序定義信息:程序定義信息包含了程序中所有的定義和聲明信息,如類定義、方法和數(shù)據(jù)成員的定義、方法內(nèi)局部變量的定義等。
[0006]程序結(jié)構(gòu)信息:主要指方法內(nèi)的控制流信息和方法間的調(diào)用關(guān)系。靜態(tài)分析器分析程序的語句分支、分支間的嵌套關(guān)系和方法調(diào)用,記錄方法的控制流信息和調(diào)用信息,構(gòu)造語法樹。
[0007]分支內(nèi)的變量操作:以方法控制流程中的分支為基本單元,記錄每一分支中各語句對(duì)各變量施加的操作和操作序列。
[0008]2、數(shù)據(jù)流分析
[0009]數(shù)據(jù)流分析也是一種靜態(tài)代碼檢查方法。它是在不通過計(jì)算機(jī)運(yùn)行被測(cè)程序的條件下,利用預(yù)先進(jìn)行靜態(tài)分析后獲取的信息,檢測(cè)對(duì)變量的賦值與使用操作中,是否存在不合理情況,即找出被測(cè)程序中是否存在變量在使用前未被賦值;變量在兩次賦值之間未被使用;一個(gè)變量在被賦值后是否未被使用等異常情況。
[0010]數(shù)據(jù)流分析目前的主要用途大多局限在編譯器的實(shí)現(xiàn)和優(yōu)化技術(shù)方面,而在代碼檢查系統(tǒng)中實(shí)用的數(shù)據(jù)流分析技術(shù)并不多見,主要集中在某幾種缺陷檢測(cè)上,如賦值引用異常檢測(cè)以及內(nèi)存錯(cuò)誤檢測(cè),使用方式主要是定義數(shù)據(jù)流操作的符號(hào),使用該符號(hào)系統(tǒng)構(gòu)造數(shù)據(jù)流表達(dá)式(由數(shù)據(jù)操作符號(hào)構(gòu)成的符號(hào)串),再分析該符號(hào)串來確定是否存在代碼缺陷。
[0011]故需要提出一種分布式代碼檢測(cè)方法,以克服上述缺陷。


【發(fā)明內(nèi)容】

:
[0012]本發(fā)明的目的是提供一種分布式代碼檢測(cè)方法,所述方法針對(duì)數(shù)據(jù)流分析,提供高性能的分析方法。
[0013]為實(shí)現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案:一種分布式代碼檢測(cè)方法,所述方法通過檢測(cè)系統(tǒng)檢測(cè);所述方法包括以下步驟:
[0014](I)初始化參數(shù);
[0015](2)分析函數(shù)引用;
[0016](3)整合數(shù)據(jù)流;
[0017](4)分解約束集;
[0018](5)回溯結(jié)果。
[0019]本發(fā)明提供的一種分布式代碼檢測(cè)方法,其特征在于:所述檢測(cè)系統(tǒng)包括控制端和分布式終端。
[0020]本發(fā)明提供的一種分布式代碼檢測(cè)方法,所述步驟(I)中的初始化參數(shù)為在所述主控端對(duì)所有代碼數(shù)據(jù)進(jìn)行整理,整合所有分散文件中的代碼數(shù)據(jù)。
[0021]本發(fā)明提供的另一優(yōu)選的一種分布式代碼檢測(cè)方法,所述代碼數(shù)據(jù)通過主函數(shù)開始進(jìn)行預(yù)處理。
[0022]本發(fā)明提供的再一優(yōu)選的一種所述的一種分布式代碼檢測(cè)方法,所述步驟(2)中的分析過程為遍歷檢索所有引用的外部函數(shù),并對(duì)其引用位置進(jìn)行標(biāo)記。
[0023]本發(fā)明提供的又一優(yōu)選的一種分布式代碼檢測(cè)方法,所述步驟(3)中的整合過程為對(duì)從主函數(shù)開始的所有數(shù)據(jù)流進(jìn)行整合,形成約束集,并開始代碼檢測(cè)。
[0024]本發(fā)明提供的又一優(yōu)選的一種分布式代碼檢測(cè)方法,所述步驟(4)中的分解過程為包括以下步驟:
[0025]當(dāng)新參數(shù)產(chǎn)生或遇到判斷語句,則根據(jù)新參數(shù)引入后的每個(gè)參數(shù)所處的數(shù)據(jù)流和判斷語句所產(chǎn)生的不同數(shù)據(jù)流分解出約束子集,并分配到不同的分布式終端進(jìn)行代碼檢測(cè);
[0026]當(dāng)約束子集有新參數(shù)產(chǎn)生或遇到判斷語句,則根據(jù)新參數(shù)引入后的每個(gè)參數(shù)所處的數(shù)據(jù)流和判斷語句所產(chǎn)生的不同數(shù)據(jù)流分解出新的約束子集并分配給不同的分布式終端E進(jìn)行處理。
[0027]本發(fā)明提供的又一優(yōu)選的一種分布式代碼檢測(cè)方法,當(dāng)無法再分解的約束子集檢測(cè)結(jié)束后,則根據(jù)所述步驟(5)將結(jié)果回溯給分解前的約束子集提供后續(xù)處理,直到回溯到原約束集。
[0028]本發(fā)明提供的又一優(yōu)選的一種分布式代碼檢測(cè)方法,所述控制端對(duì)若干所述分布式終端進(jìn)行控制。
[0029]本發(fā)明提供的又一優(yōu)選的一種分布式代碼檢測(cè)方法,所述控制端對(duì)各分布式終端E的管理,同時(shí)提供測(cè)試系統(tǒng)代碼整體的預(yù)處理并分配給分布式終端E進(jìn)行協(xié)處理;
[0030]所述分布式終端負(fù)責(zé)對(duì)所分配的代碼進(jìn)行檢測(cè)處理。
[0031 ] 和最接近的現(xiàn)有技術(shù)比,本發(fā)明提供技術(shù)方案具有以下優(yōu)異效果
[0032]1、本發(fā)明通過將數(shù)據(jù)流進(jìn)行分解,使用不同的分布式終端進(jìn)行協(xié)同處理;
[0033]2、本發(fā)明降低原有單一設(shè)備處理的檢測(cè)負(fù)載問題,提升處理代碼的容量;
[0034]3、本發(fā)明針對(duì)數(shù)據(jù)流分析,提供高性能的分析方法;
[0035]4、本發(fā)明減少檢測(cè)錯(cuò)誤的產(chǎn)生;
[0036]5、本發(fā)明能夠較為準(zhǔn)確的發(fā)現(xiàn)軟件缺陷。

【專利附圖】

【附圖說明】
[0037]圖1為本發(fā)明方法的約束集分解示意圖;
[0038]圖2為本發(fā)明的分布式代碼檢測(cè)技術(shù)邏輯圖;
[0039]圖3為本發(fā)明方法的流程圖。

【具體實(shí)施方式】
[0040]下面結(jié)合實(shí)施例對(duì)發(fā)明作進(jìn)一步的詳細(xì)說明。
[0041]實(shí)施例1:
[0042]如圖1-3所示,本例的發(fā)明一種分布式代碼檢測(cè)方法,所述方法通過檢測(cè)系統(tǒng)檢測(cè),如圖2所示;
[0043]所述包括控制端C和分布式終端E ;所述控制端C和分布式終端E相互之間進(jìn)行代碼檢測(cè)的運(yùn)作過程。
[0044]控制端C:主要負(fù)責(zé)對(duì)各分布式終端E的管理,同時(shí)提供系統(tǒng)代碼整體的預(yù)處理并分配給分布式終端E進(jìn)行協(xié)處理。
[0045]分布式終端E:可以是一臺(tái)實(shí)際可運(yùn)行的設(shè)備,也可以設(shè)備上的指定的一個(gè)處理線程。負(fù)責(zé)對(duì)所分配的代碼進(jìn)行檢測(cè)處理。
[0046]針對(duì)一種分布式代碼檢測(cè)方法的處理流程參見圖3,為:
[0047]1、參數(shù)初始化
[0048]對(duì)所有參數(shù)進(jìn)行初始化,首先在主控端C對(duì)所有代碼數(shù)據(jù)進(jìn)行整理,整合所有分散文件中的代碼數(shù)據(jù)。然后通過主函數(shù)開始進(jìn)行預(yù)處理。
[0049]2、函數(shù)引用分析
[0050]遍歷檢索所有引用的外部函數(shù),并對(duì)其引用位置進(jìn)行標(biāo)記,以便于所引用部分代碼分配給指定分布式終端時(shí)能夠及時(shí)傳遞被引用外部函數(shù)。
[0051]3、整合數(shù)據(jù)流
[0052]整合從主函數(shù)開始的所有數(shù)據(jù)流,形成約束集vl,開始代碼檢測(cè)工作。
[0053]4、約束集分解
[0054]對(duì)代碼進(jìn)行逐條檢測(cè)過程中,如果有新參數(shù)產(chǎn)生或遇到if、switch等判斷語句,則根據(jù)新參數(shù)引入后的每參數(shù)所處數(shù)據(jù)流、判斷語句所產(chǎn)生的不同數(shù)據(jù)流分解出約束子集vl、v2……vk(圖1中僅以分解為vl、v2兩個(gè)約束子集為示例),分配到不同的分布式終端E1、E2……Ek中進(jìn)行代碼檢測(cè)。
[0055]如果約束子集vl、v2......vk有新參數(shù)產(chǎn)生或遇到if、switch等判斷語句,則根據(jù)新參數(shù)引入后的每參數(shù)所處數(shù)據(jù)流、判斷語句所產(chǎn)生的不同數(shù)據(jù)流分解出新的約束子集并分配給不同的分布式終端E進(jìn)行處理。
[0056]重復(fù)此動(dòng)作,至自約束子集無法再分解。
[0057]5、結(jié)果回溯
[0058]當(dāng)無法再分解的約束子集檢測(cè)結(jié)束后,則將結(jié)果回溯給分解前的約束子集提供后續(xù)處理,直到回溯到原約束集vl。
[0059]最后應(yīng)當(dāng)說明的是:以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案而非對(duì)其限制,所屬領(lǐng)域的普通技術(shù)人員盡管參照上述實(shí)施例應(yīng)當(dāng)理解:依然可以對(duì)本發(fā)明的【具體實(shí)施方式】進(jìn)行修改或者等同替換,這些未脫離本發(fā)明精神和范圍的任何修改或者等同替換,均在申請(qǐng)待批的本發(fā)明的權(quán)利要求保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種分布式代碼檢測(cè)方法,所述方法通過檢測(cè)系統(tǒng)檢測(cè);其特征在于:所述方法包括以下步驟: (1)初始化參數(shù); (2)分析函數(shù)引用; (3)整合數(shù)據(jù)流; (4)分解約束集; (5)回溯結(jié)果。
2.如權(quán)利要求1所述的一種分布式代碼檢測(cè)方法,其特征在于:所述檢測(cè)系統(tǒng)包括控制端和分布式終端。
3.如權(quán)利要求2所述的一種分布式代碼檢測(cè)方法,其特征在于:所述步驟(I)中的初始化參數(shù)為在所述主控端對(duì)所有代碼數(shù)據(jù)進(jìn)行整理,整合所有分散文件中的代碼數(shù)據(jù)。
4.如權(quán)利要求3所述的一種分布式代碼檢測(cè)方法,其特征在于:所述代碼數(shù)據(jù)通過主函數(shù)開始進(jìn)行預(yù)處理。
5.如權(quán)利要求1-4任意一項(xiàng)所述的一種分布式代碼檢測(cè)方法,其特征在于:所述步驟(2)中的分析過程為遍歷檢索所有引用的外部函數(shù),并對(duì)其引用位置進(jìn)行標(biāo)記。
6.如權(quán)利要求5所述的一種分布式代碼檢測(cè)方法,其特征在于:所述步驟(3)中的整合過程為對(duì)從主函數(shù)開始的所有數(shù)據(jù)流進(jìn)行整合,形成約束集,并開始代碼檢測(cè)。
7.如權(quán)利要求1所述的一種分布式代碼檢測(cè)方法,其特征在于:所述步驟(4)中的分解過程為包括以下步驟: 當(dāng)新參數(shù)產(chǎn)生或遇到判斷語句,則根據(jù)新參數(shù)引入后的每個(gè)參數(shù)所處的數(shù)據(jù)流和判斷語句所產(chǎn)生的不同數(shù)據(jù)流分解出約束子集,并分配到不同的分布式終端進(jìn)行代碼檢測(cè); 當(dāng)約束子集有新參數(shù)產(chǎn)生或遇到判斷語句,則根據(jù)新參數(shù)引入后的每個(gè)參數(shù)所處的數(shù)據(jù)流和判斷語句所產(chǎn)生的不同數(shù)據(jù)流分解出新的約束子集并分配給不同的分布式終端E進(jìn)行處理。
8.如權(quán)利要求7所述的一種分布式代碼檢測(cè)方法,其特征在于:當(dāng)無法再分解的約束子集檢測(cè)結(jié)束后,則根據(jù)所述步驟(5)將結(jié)果回溯給分解前的約束子集提供后續(xù)處理,直到回溯到原約束集。
9.如權(quán)利要求2所述的一種分布式代碼檢測(cè)方法,其特征在于:所述控制端對(duì)若干所述分布式終端進(jìn)行控制。
10.如權(quán)利要求9所述的一種分布式代碼檢測(cè)方法,其特征在于:所述控制端對(duì)各分布式終端E的管理,同時(shí)提供測(cè)試系統(tǒng)代碼整體的預(yù)處理并分配給分布式終端E進(jìn)行協(xié)處理; 所述分布式終端負(fù)責(zé)對(duì)所分配的代碼進(jìn)行檢測(cè)處理。
【文檔編號(hào)】G06F11/36GK104331371SQ201410696785
【公開日】2015年2月4日 申請(qǐng)日期:2014年11月26日 優(yōu)先權(quán)日:2014年11月26日
【發(fā)明者】郭騫, 李尼格, 范杰, 高鵬, 余勇, 石聰聰, 蔣誠(chéng)智, 俞庚申, 曹宛恬, 馮谷 申請(qǐng)人:國(guó)家電網(wǎng)公司, 中國(guó)電力科學(xué)研究院
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
天气| 富阳市| 黄冈市| 岑巩县| 德江县| 娱乐| 新晃| 贡觉县| 盖州市| 怀柔区| 杨浦区| 太保市| 绍兴市| 通辽市| 陵水| 隆子县| 普兰县| 北宁市| 崇州市| 驻马店市| 阿尔山市| 大连市| 萍乡市| 天台县| 临湘市| 赤水市| 鹤庆县| 莱阳市| 平凉市| 桃园市| 绥德县| 县级市| 杭锦后旗| 中西区| 保山市| 浑源县| 高邑县| 乐平市| 横山县| 漯河市| 齐河县|