freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c語(yǔ)言源代碼靜態(tài)檢測(cè)工具設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文-資料下載頁(yè)

2024-10-08 14:48本頁(yè)面

【導(dǎo)讀】于軟件本身存在安全漏洞所引起的,并且造成了巨大的經(jīng)濟(jì)損失。一方面是程序員編。程上的疏忽,一方面也是相關(guān)語(yǔ)言沒(méi)有提供完整的安全機(jī)制。在眾多的語(yǔ)言中,C語(yǔ)。言也被認(rèn)為是最容易遭到攻擊的語(yǔ)言。所以代碼的安全檢查就變得極其重要。求,所以代碼的靜態(tài)安全檢測(cè)應(yīng)運(yùn)而生。

  

【正文】 me+39。.39。) 把 warn 寫入文件 analysisfileprefix = tmppath + 39。/39。+ filename 分析文件前綴 print(analysisfileprefix) return analysisfileprefix 第 4 步:調(diào)用圖表分析模塊,生成相應(yīng)的統(tǒng)計(jì)圖表。 具體流程圖見(jiàn)下圖: 沈陽(yáng)航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 24 開(kāi) 始打 開(kāi) 載 入 目 錄打 開(kāi) 工 程 目 錄選 擇 一 個(gè) 工 程選 擇 文 件開(kāi) 始 檢 測(cè)生 成 圖 表 分 析 調(diào) 用 圖 表 分 析 模 塊獲 得 檢 測(cè) 結(jié) 果結(jié) 束模 式 設(shè) 置YNYN 圖 代碼檢測(cè)功 能流程圖 待檢測(cè)代碼目錄列表 設(shè)計(jì)與實(shí)現(xiàn) 在 Qt 庫(kù)中,用一個(gè)控件叫做 QListView,我們使用它進(jìn)行待檢測(cè)文件或工程的顯示 ,我們將其命名為 DirList。其中向列表中添加內(nèi)容為 insertItem()方法。 第一步:使用 QtGui 類庫(kù)中的 getExistingDirectory()方法打開(kāi)一個(gè)文件選擇框。 第二步:如果為空不進(jìn)行任何操作,如果不為空則將打開(kāi)的工程文件方法加載到目錄文檔QDir 中 , QDir 為一個(gè) Qt 庫(kù)中用于暫存目錄的類 。 第三步:判斷 QDir 中各個(gè)文件的后綴名如果后綴名為 .c,則使用 insertItem()方法將該文件加載到我們之前的定義好的列表框 DirList 中。 沈陽(yáng)航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 25 主要代碼如下: def Slot_openFiles(self): tmp=(self,Open Files, /home) if tmp != 39。39。: =tmp =39。39。 () () () () d=QDir() for i in range (()): tmp1 =(d[i]) 分割帶 有路徑的完整文件名 suffix = tmp1[1] if suffix==.c: (i, d[i]) (0) () 具體流程圖如下: 沈陽(yáng)航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 26 開(kāi) 始打 開(kāi) 文 件 選 擇 列 表是 否 為 空YN將 列 表 存 入 Qdir 中是 否 后 綴 名為 .c加 入 列 表 中是 否 為 空從 Qdir 中 讀 取一 個(gè) 文 件 名YNYN結(jié) 束 圖 目錄列表功能流程圖 若果 選擇的 待檢測(cè)代碼 改變 ,應(yīng)該能在右側(cè)的代碼顯示框中顯示新的文件代碼,所以我們應(yīng)該使用一個(gè)改變監(jiān)聽(tīng)器,在此我們使用 itemClicked()方 法進(jìn) 行 監(jiān) 聽(tīng) 。 使用 槽 函 數(shù)()觸發(fā)相應(yīng)的改變代碼函數(shù)。 這樣就可以實(shí)時(shí)監(jiān)聽(tīng)選擇文件的改變。創(chuàng)造出一個(gè)左邊文件選擇改變,右側(cè)改變?yōu)樾挛募脑敿?xì)代碼。 函數(shù)主要代碼如下: def Slot_change(self): if ()!=None: =().text() Path=+39。/39。+ 獲取絕對(duì)路徑 if !=39。39。: fp=open(Path) 沈陽(yáng)航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 27 () i=0 for line in fp: i=i+1 (39。%4s39。%str(i) +39。 39。+(39。\n39。)) () () else :(self, Critical, 該文件夾里沒(méi)有可用的 .c 文件,請(qǐng)重新選擇! ) 結(jié)果顯示界面設(shè)計(jì)與實(shí)現(xiàn) 為了更好的顯示安全漏洞所在的位置,使整個(gè)界面更加友好。我們?cè)诖颂砑恿艘粋€(gè)文本框,用來(lái)顯示被檢測(cè)的結(jié)果。在此采用 Qt 庫(kù)中的 TextBox 控件,我們將其命名為 txt_tab_pre。檢測(cè)工具的檢測(cè)結(jié)果會(huì)以文件的形式存儲(chǔ)在指定的硬盤空間上。然后我們將數(shù)據(jù)從文件中讀取出來(lái),顯示在我們的界面上。 所以代碼開(kāi)始的第一步為從檢測(cè)結(jié)果文件中,將數(shù)據(jù)讀出。再?gòu)膬?nèi)存中將相應(yīng)的信息使用循環(huán)語(yǔ)句逐行顯示。 主 要代碼如下: def Slot_detection(self): if == 39。39。: (self, Critical, 請(qǐng)選擇要檢測(cè)的文件! ) else: flawfinder 檢測(cè)顯示 analysisFile = (, , , ) fp = open(analysisFile, 39。r39。) for line in fp: ((39。\n39。)) () () (, analysisFile) splint 檢測(cè)顯示 沈陽(yáng)航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 28 fileprefix=(, , , ) ErrorFile=fileprefix+39。.39。 WarnFile=fileprefix+39。.39。 fp=open(WarnFile, 39。r39。) for line in fp: ((39。\n39。)) () () (, WarnFile) 模式選擇與 參數(shù)的添加功能 設(shè)計(jì) 模式選擇功能是為了方便用戶的不同需求而設(shè)計(jì)的,力求為用戶提供更加方便的操作,針對(duì)不同的檢查需要,以及不同的檢查強(qiáng)度為用戶提供更加方便選擇。 第一步:用戶進(jìn)入選擇模式界面。分為簡(jiǎn)易模式,自定義模式,命令行模式。 第二步:如果用戶選擇簡(jiǎn)易模式,則可以直接進(jìn)行代碼檢測(cè)。使用我們后臺(tái)耦合進(jìn)代碼中的參數(shù)進(jìn)行模式設(shè)定,和參數(shù)設(shè)定。方便剛剛使用軟件 的用戶。 第三步:如果用戶選擇命令行模式,則會(huì)彈出兩個(gè)命令行,分別提示配置 Splint和 Flawfinder 代碼檢查工具。然后我們的程序會(huì)根據(jù)用戶輸入的命令行進(jìn)行檢測(cè)。 第四步:如果用戶選擇了自定義模式,則會(huì)彈出一個(gè)參數(shù)選擇對(duì)話框,首先用戶要選擇代碼檢測(cè)強(qiáng)度,強(qiáng)度分為四個(gè)等級(jí),針對(duì)不同的等級(jí),有不同的檢驗(yàn)標(biāo)準(zhǔn)。然后用戶可以選擇不同的參數(shù),進(jìn)行細(xì)調(diào)。這樣可以方便用戶的使用。 具體流程圖如下: 沈陽(yáng)航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 29 開(kāi) 始自 定 義 模 式選 擇 模 式命 令 行 模 式簡(jiǎn) 易 模 式輸 入 命 令選 擇 檢 測(cè) 強(qiáng) 度選 擇 特 定 檢 測(cè) 參 數(shù)返 回 主 控 界 面結(jié) 束 圖 參數(shù)設(shè)定流程圖 下面為該模塊的主要代碼: def Slot_mandline(self): (命令行模式 ) =CommandWindow() () () def Slot_DIY(self): (自定義模式 ) =DIYWindow() () () 沈陽(yáng)航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 30 def Slot_init(self): (簡(jiǎn)易模式 ) =39。39。 =39。39。 生成分析圖表功能設(shè)計(jì) 為了更加直觀的查看漏洞的分布情況,以及更加方便統(tǒng)計(jì)。我們?cè)O(shè)計(jì)了分析圖表功能,這樣可以使整個(gè)界面更加友好。 第一步:用戶選擇生成分析圖表。 第二步:調(diào)用圖形生成模塊,根據(jù)之前的分析結(jié)果生成相應(yīng)的圖形。 第三步:調(diào)用 SQLite 數(shù)據(jù)庫(kù)。從中提取數(shù)據(jù),在對(duì)話框中顯示出來(lái),我們還提供了安全漏洞的分類,用戶可以根據(jù)漏洞分類查看不同的安全漏洞檢測(cè)結(jié)果。 下圖為整個(gè)功能的流程圖: 開(kāi) 始讀 取 數(shù) 據(jù) 庫(kù) 數(shù) 據(jù)生 成 圖 形根 據(jù) 查 詢 條 件 顯 示表 格調(diào) 用 圖 形 生 成 模 塊結(jié) 束 圖 參數(shù)設(shè)定流程圖 生成安全漏洞統(tǒng)計(jì)表 格 為了能夠更方便的提取數(shù)據(jù),并形成直觀的分析表格。我們使用了數(shù)據(jù)庫(kù)作為一個(gè)中間的存儲(chǔ)結(jié)構(gòu)。根據(jù)數(shù)據(jù)庫(kù)中的表,構(gòu)建漏洞統(tǒng)計(jì)表格,并顯示出來(lái)。 我使用了沈陽(yáng)航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 31 Qt 庫(kù)中的 QTableWidget 控件,用于顯示表格的一個(gè)控件,將其命名為 tbl。使用該控件的 setItem()方法將數(shù)據(jù)庫(kù)中的數(shù)據(jù)逐條插入表格中。 生成安全漏洞分析圖表 調(diào)用 Python 中的 matplotlib 類 。 matplotlib 是 python 最著名的繪圖庫(kù),它提供了一整套和 matlab 相似的命令 API,十分適合交互式地進(jìn)行制圖 。我們 使用這個(gè)類庫(kù)生成一個(gè)條形圖,數(shù)據(jù)來(lái)源于之前檢查好的存在數(shù)據(jù)庫(kù)中的數(shù)據(jù)。 首先申請(qǐng)一個(gè)Figure,然后使用畫筆在其上面畫條形圖。 沈陽(yáng)航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 32 5 系統(tǒng)測(cè)試 軟件測(cè)試是軟件開(kāi)發(fā)過(guò) 程的重要組成部分,是用來(lái)確認(rèn)一個(gè)程序的品質(zhì)或性能是否符合需求分析中所提出的 要求 。 以下主要測(cè)試代碼檢測(cè)功能模塊, 模式選擇與參數(shù)的添加功能模塊,漏洞分析圖表功能模塊 。 代碼檢測(cè) 功能 模塊測(cè)試 代碼檢測(cè)功能模塊 測(cè)試是根據(jù)需求分析測(cè)試系統(tǒng) 是否達(dá)到預(yù)期的要求,是評(píng)估該系統(tǒng)是否完善的一個(gè)衡量標(biāo)準(zhǔn) 之一。 以下主要測(cè)試 代碼檢查功能主界面,待檢測(cè)本地目錄列表,代碼安全檢測(cè)功 能。 代碼檢查功能主界面測(cè)試 代碼檢查功能界面為本系統(tǒng)的主界面,控制連接著程序的各個(gè)模塊。 當(dāng)用戶進(jìn)入時(shí),顯示為模式未定義,等待用戶選擇模式。其他界面均為空。測(cè)試結(jié)果如圖。 圖 功能主界面 沈陽(yáng)航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 33 待檢測(cè)本地目錄列表測(cè)試 選擇打開(kāi)本地目錄,選擇一個(gè)單個(gè)文件,或者一個(gè)工程,選擇完成后將文件的名字加載在左側(cè)的列表框中,測(cè)試結(jié)果如圖所示。 圖 本地文件目錄 代碼安全檢測(cè)功能測(cè)試 當(dāng)用戶選擇好要檢測(cè)的文件之后,點(diǎn)擊開(kāi)始檢測(cè)按鈕,既可以開(kāi)始檢測(cè),然后在對(duì)話框的下側(cè)將顯示出檢測(cè)結(jié)果。測(cè)試結(jié)果如圖所示。 沈陽(yáng)航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 34 圖 代碼安全檢測(cè) 功能實(shí)現(xiàn) 模式選擇與 參數(shù)的設(shè)定 功能 測(cè)試 模式選擇和參數(shù)設(shè)定功能能夠方便用戶脫離繁瑣的命令行操作,更加直觀簡(jiǎn)單的使用代碼安全檢測(cè)工具,提高系統(tǒng)的用戶友好性。使整個(gè)系統(tǒng)更加簡(jiǎn)單,易用。 命令行模式測(cè)試 當(dāng)用戶選擇命令行模式后,彈出如圖所示的對(duì)話框,提示用戶輸入命令行。當(dāng)用戶輸入命令行之后,程序就可以讀出命令行,并且按照其參數(shù)進(jìn)行相應(yīng)的代碼安全檢查。 沈陽(yáng)航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 35 圖 命令行模式 自定義模式測(cè)試 當(dāng)用戶選擇自定義模式后,系統(tǒng)會(huì)彈出如圖所示的界面。提示用戶進(jìn)行自定義參數(shù)的 選擇,以及檢測(cè)強(qiáng)度的選擇。選擇結(jié)束后系統(tǒng)就可以根據(jù)選擇的參數(shù)進(jìn)行相應(yīng) 的檢測(cè)。 沈陽(yáng)航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 36 圖 自定義模式 生成分析圖表功能 測(cè)試 當(dāng)用戶點(diǎn)擊生成圖表后,系統(tǒng)會(huì)調(diào)用圖表生成模塊,在左側(cè)的圖形框中根據(jù)漏洞的數(shù)量生成相應(yīng)的條形圖。在右側(cè)的列表框中根據(jù)不同的漏洞顯示出漏洞的詳細(xì)信息 。用戶可以按照漏洞的分類選擇查看不同的安全漏洞以及其他信息。測(cè)試結(jié)果如圖所示。 沈陽(yáng)航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 37 圖 圖表分析結(jié)果 沈陽(yáng)航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 38 參考文獻(xiàn) [1] 赫特蘭,司偉 . Python 基礎(chǔ)教程 [M]. 北京:人民郵電出版社, 2020 [2] 張若愚 . Python 科學(xué)計(jì)算 [M]. 北京:清華大學(xué)出版社, 2020 [3] 王世江 .鳥(niǎo)哥的 Linux 私房菜 [M]. 北 京:人民郵電出版社, 2020 [4] Richard Blum、 Christine Bresnahan. Linux 命令行與 shell腳本編程大全 (第 2 版 ) [M].北京
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1