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

主站蜘蛛池模板: 亚洲人网站| 日韩免费无码人妻系列| 国产成人精品一区二区秒拍1o| 亚洲一本大道在线| 亚洲中文字幕日产无码2021| 5555国产在线观看| 欧美成人免费| 亚欧成人无码AV在线播放| 精品国产污污免费网站| 毛片三级在线观看| 九九热这里只有国产精品| 88av在线播放| 71pao成人国产永久免费视频 | 大学生久久香蕉国产线观看| 欧美另类一区| 久热re国产手机在线观看| 亚洲最大看欧美片网站地址| 国产精品综合久久久| 国产精品久久久免费视频| 中美日韩在线网免费毛片视频 | 久久综合色视频| 国产乱子伦一区二区=| 日韩在线成年视频人网站观看| 69视频国产| 亚洲精品午夜无码电影网| 青草免费在线观看| 久草视频精品| 一本久道久综合久久鬼色| 91精品啪在线观看国产60岁| 人妻熟妇日韩AV在线播放| 国产三级国产精品国产普男人 | 亚洲开心婷婷中文字幕| 她的性爱视频| 青青草原国产免费av观看| 91网址在线播放| 国产一级妓女av网站| 亚洲中文精品久久久久久不卡| 色悠久久久久久久综合网伊人| 久久久久国产精品免费免费不卡| 亚洲欧美综合精品久久成人网| 99视频在线免费| 国产91特黄特色A级毛片| 国内精品视频在线| 亚洲区一区| 亚洲一区二区三区中文字幕5566| 三区在线视频| 国产理论一区| 一级毛片在线播放| 国产JIZzJIzz视频全部免费| 99在线视频免费| 久久永久视频| 亚洲无码高清一区二区| 国产微拍精品| 亚洲一区二区三区国产精华液| 伊人国产无码高清视频| 亚洲香蕉久久| 亚洲午夜久久久精品电影院| 波多野结衣第一页| 欧美天堂久久| 五月婷婷导航| 国产精品毛片一区| 2021国产精品自拍| 国产精品久久久久鬼色| 久久久精品久久久久三级| 中文天堂在线视频| 欧美国产视频| 国产精品亚洲欧美日韩久久| 欧美精品成人| 亚洲乱伦视频| 日韩性网站| 最新日本中文字幕| 欧美成人手机在线观看网址| 久久99精品久久久久纯品| 国产一区二区福利| 久久综合干| 亚洲国产欧美目韩成人综合| 欧美精品亚洲日韩a| 亚洲国产系列| 国产99视频精品免费视频7| 在线国产你懂的| 五月婷婷综合网| 一本大道无码日韩精品影视|