999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于白箱測試的C語言代碼在線評測系統的研究與實現

2016-12-21 11:38:17衛軍超薛鵬鵬
電子技術與軟件工程 2016年20期

衛軍超++薛鵬鵬

摘 要 在程序設計語言教學過程中,教師往往運用手把手教學的方式對學生的源代碼編程進行審核,這類傳統的教學模式效率低下,也不便于學生之間的交流。構建一個基于白箱測試的建立在C語言基礎上的教學平臺,提高師生互動,促進大家學習交流,簡化程序的評測過程,提高學習的效率。

【關鍵詞】白箱測試 在線評測 C語言

高校程序設計類課程傳統的手工評測方式有許多難以克服的弊端,對教學效果和學生編程能力的提高造成了許多障礙。隨著計算機技術的發展,特別是Internet技術的普遍應用, 源代碼在線評測系統應運而生,應用于各高校程序設計類課程的輔助教學,同時還可以當做程序編程設計等競賽的模擬系統,和傳統的手工測評方式相比較而言,優勢明顯。

1 研究內容

在分析和總結前人研究工作的基礎上,本研究基于白箱測試實現對C語言源代碼的評測,使其能夠應用在具體教學實踐中。

1.1 評測系統的關鍵技術

評測系統要用到以下幾個關鍵技術:操作 My SQL 數據庫;編譯源代碼;執行被測試的數據;測試運行結果;獲取評測時間等。

1.2 代碼安全性檢測

代碼安全檢測是研究的核心內容。一旦源代碼使用者提供了錯誤的惡意性質的代碼,必然會影響服務器的正常運行。所以確保代碼的安全性是保障系統正常使用的核心,需要及時對用戶提供的源代碼進行安全性檢測,以白箱測試中的靜態分析技術為前提,設計這一模塊,針對C語言源代碼常見的安全漏洞機械能給你檢測,分析。重點研究存儲越界錯誤、動態內存分配錯誤、內存泄漏、類型不一致錯誤、數組越界、死循環等類六類安全漏洞的檢測方法。

1.3 代碼剽竊檢測

分析常見的代碼剽竊的幾種方式,及目前國內外代碼剽竊檢測技術的發展情況。代碼剽竊檢測這項技術的最終要的計算方法就是代碼相似度的檢測。檢測兩種代碼的相似情況的主要方法有兩種,屬性計數和結構度量。結合實際教學環境,選擇合適的代碼相似度計算機方法,提出解決學生在日常的編程、考試中代碼剽竊自動檢測的設計方案。

2 評測技術的關鍵技術

本研究主要是對實現評測系統的技術進行研究,主要包括以下幾個方面:評測系統的關鍵技術、代碼安全檢測、代碼剽竊檢測。

2.1 評測系統關鍵技術

(1)采用C語言操作MySQL數據庫。用到的API主要有:MYSQL*mysql_init(MYSQL*mysql),用來實現初始化一個MySQL對象。

MYSQL* mysql_connect(MYSQL*mysql,const char*host,const*user,const char*passwd),用來實現連接數據庫。

int mysql_query(MYSQL *mysql,const char*query),實現對SQL語句的執行操作。

(2)對源代碼進行編譯,實現對源代碼的編譯要用到以下主要參數:

-o out_file:表示將編譯后的可執行文件存儲為out_file。如out_file為空,則則編譯后的可執行文件存儲為a.out;

-O2:在編譯的過程中會采取優化處理方式;

-Wall:在編譯時,程序會及時輸出警告信息;

-Im:-I編譯時,鏈接庫會被連接;-I后面會出現需要要鏈接的庫名。-Im表示會鏈接數學庫;

-Static:在編譯過程中,進行連接鏈接庫時,會使用靜態鏈接庫進行連接,及時避免連接動態的鏈接庫。

(3)源代碼文件編譯通過之后,會生成一個名為“main”的文件接下來的工作是測試程序的正確性,源代碼的正確性測評采用的是黑盒測試,執行被測試程序的過程如下:重定向輸入輸出文件;創建一個子進程;設置資源限制;用函數調用要執行的程序。

(4)用來檢測程序運行情況的思路是這樣的:在對待評測程序進行評測時,要使用標準的輸入文件,把標準文件輸出的數據和待評測程序輸出的數據比較分析,假設待評測程序的結果和標準的一樣,那么久可以判斷此待評測程序編碼是正確的,如果有出入,就認為待評測程序是錯誤的,當然,在檢測和對照的過程中,要確保時間合適,注意監視內存情況,假設超出時間和內存的限制就需要及時返回錯誤代碼,測評時間就是看測試前后系統時間差。

2.2 代碼安全檢測

在檢測代碼安全性之前,要檢查C語言是否存在安全漏洞,如果有,就好及時分析,在安全漏洞中破壞性較大的、典型很難發現的的一共有六種。

(1)存儲越界錯誤;

(2)動態內存分配錯誤:

(3)內存泄漏;

(4)類型不一致錯誤;

(5)指針錯誤;

(6)死循環。

針對對內存泄漏和數組越界兩大類漏洞找到合適的檢測方法。

2.3 代碼剽竊檢測

作為代碼剽竊檢測的最重要的技術就是計算兩個代碼的相似度,也就是通過一種檢測手段來衡量兩個代碼是否具有相似性,代碼相似度計算的方法一共有兩種,分別是:屬性技術;結構度量。在代碼剽竊檢測的初始階段,屬性技術的方法被最早被提出和使用,結構度量的方式是后來才出現的。這兩中度量的方式共同點是在對相應的程序代碼做分析后,歸納出數字化的特征,運用特征這一向量把不同的屬性綜合起來,表征程序。兩種度量方法的區別在于,前者僅僅處理各種代碼的統計屬性,忽略其內部結構;但是后者主要是針對程序的內部結構進行度量,通過對分析控制流和嵌套深度的整理,運用得出的度量值分析程序特征向量。所以,結構度量法比屬性計數法應用的更加廣泛,或者可以將兩者結合起來檢測代碼剽竊軟件。

針對學校學生的實際情況,考慮采用屬性計數法采計算代碼相似程度,且投入較少、易于實現,也方便拓展到不同的語言。在完成代碼相似度的計算以后,根據計算結果判斷代碼是否是剽竊嫌疑,將所有嫌疑代碼及涉嫌學生明確列出,供教師進行進一步審查。基本流程如圖1。

3 結束語

該文提出了一個基于白箱測試的C語言在線評測系統設計方法,并解決了在搭建系統過程中遇到的一些列問題,方便了教師和學生對于源代碼的評測。當然此平臺上基本實現了代碼的自動評測,下一步要做的工作是改進剽竊檢測模塊,以適用教學需求。

參考文獻

[1]苑文會.黑盒測試技術在輔助教學系統中的應用[J].計算機工程與設計,2006,27(23):4604-4606.

[2]呂鵬,戴冠中.Linux下Ptrace()調用的安全分析[J].計算機應用研究,2005,22(08):102-104.

作者單位

西安交通工程學院 陜西省西安市 710300

主站蜘蛛池模板: 白浆视频在线观看| 日韩AV无码一区| 极品国产一区二区三区| 麻豆国产原创视频在线播放| AⅤ色综合久久天堂AV色综合| 亚洲精品午夜无码电影网| 人妻丰满熟妇αv无码| 自慰网址在线观看| av尤物免费在线观看| 亚洲天堂网视频| 热这里只有精品国产热门精品| 亚洲性视频网站| 欧美激情第一区| 日韩成人午夜| 国产福利小视频高清在线观看| 第一区免费在线观看| 亚洲性影院| 丁香六月激情综合| 777午夜精品电影免费看| 亚洲欧洲一区二区三区| 日本道综合一本久久久88| 国产一级毛片网站| 亚洲区欧美区| 亚洲狼网站狼狼鲁亚洲下载| 天天色天天综合网| 成人韩免费网站| 秘书高跟黑色丝袜国产91在线| 58av国产精品| 99精品免费在线| 欧美中文字幕无线码视频| 午夜福利网址| 3D动漫精品啪啪一区二区下载| 国产人免费人成免费视频| 亚洲人成电影在线播放| 国产99视频精品免费观看9e| 网久久综合| 日本精品中文字幕在线不卡| 四虎永久免费在线| 成人精品视频一区二区在线| 福利小视频在线播放| a毛片基地免费大全| 一级全黄毛片| 国产AV毛片| 免费人欧美成又黄又爽的视频| 久久香蕉国产线看观看精品蕉| 国产一区三区二区中文在线| 久草中文网| 亚洲无码37.| 久久综合色播五月男人的天堂| 国产h视频免费观看| 国产亚洲日韩av在线| 免费一级α片在线观看| 亚洲精品无码人妻无码| 99久久精品国产自免费| 国产性精品| 欧美97欧美综合色伦图| 亚洲精品无码不卡在线播放| 国产嫩草在线观看| 国产亚洲精| 日本道中文字幕久久一区| 乱人伦中文视频在线观看免费| 中国精品久久| 亚洲天堂2014| 国产成人高清亚洲一区久久| 毛片久久网站小视频| 亚洲综合片| 久久精品女人天堂aaa| 伊人色在线视频| 99精品在线看| 丁香婷婷激情综合激情| 中文成人无码国产亚洲| 国产一二三区视频| 国产午夜福利在线小视频| 久久a级片| a毛片基地免费大全| 亚洲人成网7777777国产| 成人在线欧美| 日韩精品无码免费专网站| 在线观看免费国产| 最新国产精品鲁鲁免费视频| 国产噜噜在线视频观看| 精品福利视频网|