基于抽象語法樹的C編程題自動評分方法研究及應(yīng)用
發(fā)布時間:2021-07-11 00:23
隨著計算機技術(shù)的飛速發(fā)展,互聯(lián)網(wǎng)+教育深刻地影響著教育教學(xué)方式和課程考試方式。編程題的自動評分是程序設(shè)計類課程在線考試中的一個重大需求,實現(xiàn)編程題的在線實際測試是程序設(shè)計語言課程考試的最有效形式。由于程序設(shè)計題主觀因素強、解決方式多、評分標(biāo)準不完善,因此,如何實現(xiàn)高效合理的編程題自動評分,一直是程序設(shè)計類課程在線考試領(lǐng)域研究的難點和熱點問題;趯幊填}評測特點的研究,本文依據(jù)人工評分思想,設(shè)計了一個改進的動靜結(jié)合評分模型。該模型的動態(tài)評分部分依賴于POJ(Peking Online Judge)內(nèi)核實現(xiàn),靜態(tài)評分部分基于抽象語法樹實現(xiàn)。改進的動靜結(jié)合評分模型依據(jù)學(xué)生程序編譯是否通過,分別對學(xué)生程序應(yīng)用不同的評分規(guī)則,同時加入了程序是否滿足要求的知識點評測。對編譯通過的學(xué)生程序同時進行動態(tài)評分和基于抽象語法樹的靜態(tài)評分。對于編譯未通過的學(xué)生程序,先按照預(yù)先設(shè)置的評分規(guī)則扣除語法分,之后只進行基于抽象語法樹的靜態(tài)評分。研究并實現(xiàn)了基于抽象語法樹的C編程題靜態(tài)分析方法,該方法首先借助GCC編譯命令生成抽象語法樹(Abstract Syntax Tree,AST),并依據(jù)本文給出的抽象語法樹...
【文章來源】:西安理工大學(xué)陜西省
【文章頁數(shù)】:81 頁
【學(xué)位級別】:碩士
【部分圖文】:
抽象語法樹的預(yù)處理總流程圖
ark[j] ==0 && useful_mark[s] ==1 thens] == 1;‘@’,pos+1); //找到下一個子節(jié)點為有用或者無用,不在有未知節(jié)點重新標(biāo)記expr”);//找到函數(shù)調(diào)用節(jié)點 thenthen; //將有用的節(jié)點全部存入 nodeL1 中言加密程序為例,生成其對應(yīng)的 GCC 文本抽到了規(guī)范化的文本抽象語法樹。C 語言加密程
圖 2-4 GCC 生成的文本 AST 部分節(jié)點信息Figure 2-4 GCC generated text AST part node information圖 2-5 冗余處理后的文本 AST 部分節(jié)點信息Figure 2-5 Redundant processed text AST part node information2.3.2 重建處理經(jīng)過冗余處理后得到的有用節(jié)點不連續(xù),將不利于后續(xù)對節(jié)點的識別及存儲,因此,需要對這些有用節(jié)點的編號進行哈希(Hash)變換,使節(jié)點號連續(xù)[46]。此外,由于所篩選出
【參考文獻】:
期刊論文
[1]基于FC-KNN的C語言程序自動評分算法[J]. 李亭葳,劉新,白王梓松,李夢磊. 計算機應(yīng)用與軟件. 2018(09)
[2]基于最小子程序匹配的C語言自動評分算法研究[J]. 朱林琴,劉新,張輝,李亭葳,郭炳元. 中國教育信息化. 2017(17)
[3]一種優(yōu)化GCC抽象語法樹的方法[J]. 趙彥博,張星,周毅楷,鄒德昊. 電子技術(shù)與軟件工程. 2017(06)
[4]淺析面向?qū)W生自主學(xué)習(xí)的C語言程序設(shè)計實踐教學(xué)支撐環(huán)境[J]. 蘇小紅,王甜甜,趙玲玲. 工業(yè)和信息化教育. 2017(01)
[5]自動閱卷系統(tǒng)中編程題的解決方法[J]. 周松. 中國信息技術(shù)教育. 2016(23)
[6]面向大規(guī)模在線開放課程的編程題多特征綜合自動評分方法[J]. 劉月霞,牛志堯,吳寧. 西安交通大學(xué)學(xué)報. 2016(10)
[7]編程題綜合評分方法的研究[J]. 李郴,史國峰. 計算機與網(wǎng)絡(luò). 2016(06)
[8]基于Web的在線判題系統(tǒng)設(shè)計與實現(xiàn)[J]. 蔡崇超. 軟件導(dǎo)刊. 2016(03)
[9]基于多種技術(shù)的混合式程序代碼抄襲檢測方法[J]. 楊超. 計算機工程與應(yīng)用. 2016(18)
[10]基于圖文法的程序流程圖與源代碼自動轉(zhuǎn)換[J]. 朱云,曾曉勤,朱寧,劉禹鋒. 計算機工程與科學(xué). 2015(05)
碩士論文
[1]基于web的程序在線評測方法的研究[D]. 劉崢.哈爾濱理工大學(xué) 2018
[2]主觀編程題自動閱卷算法的研究與實現(xiàn)[D]. 王正.東華理工大學(xué) 2017
[3]C語言編程題在線評測系統(tǒng)的設(shè)計與研究[D]. 臧雙媛.北京交通大學(xué) 2017
[4]動靜態(tài)結(jié)合的程序自動評閱技術(shù)研究及系統(tǒng)實現(xiàn)[D]. 唐思娩.四川師范大學(xué) 2017
[5]C語言在線考試系統(tǒng)開發(fā)及關(guān)鍵技術(shù)的研究[D]. 曹亞妮.西安理工大學(xué) 2016
[6]大規(guī)模編程題在線評判技術(shù)研究[D]. 黃洪波.華南農(nóng)業(yè)大學(xué) 2016
[7]Open edX程序設(shè)計題判分系統(tǒng)的設(shè)計與實現(xiàn)[D]. 劉平.新疆農(nóng)業(yè)大學(xué) 2015
[8]基于抽象語法樹的軟件語義分析方法研究[D]. 王莉莉.哈爾濱工程大學(xué) 2014
[9]基于語義理解與運行分析的程序題自動評分算法研究[D]. 劉天藍.湖南師范大學(xué) 2013
[10]基于Windows消息機制的VB編程題評分系統(tǒng)的研究與應(yīng)用[D]. 付亞臣.大連海事大學(xué) 2012
本文編號:3276948
【文章來源】:西安理工大學(xué)陜西省
【文章頁數(shù)】:81 頁
【學(xué)位級別】:碩士
【部分圖文】:
抽象語法樹的預(yù)處理總流程圖
ark[j] ==0 && useful_mark[s] ==1 thens] == 1;‘@’,pos+1); //找到下一個子節(jié)點為有用或者無用,不在有未知節(jié)點重新標(biāo)記expr”);//找到函數(shù)調(diào)用節(jié)點 thenthen; //將有用的節(jié)點全部存入 nodeL1 中言加密程序為例,生成其對應(yīng)的 GCC 文本抽到了規(guī)范化的文本抽象語法樹。C 語言加密程
圖 2-4 GCC 生成的文本 AST 部分節(jié)點信息Figure 2-4 GCC generated text AST part node information圖 2-5 冗余處理后的文本 AST 部分節(jié)點信息Figure 2-5 Redundant processed text AST part node information2.3.2 重建處理經(jīng)過冗余處理后得到的有用節(jié)點不連續(xù),將不利于后續(xù)對節(jié)點的識別及存儲,因此,需要對這些有用節(jié)點的編號進行哈希(Hash)變換,使節(jié)點號連續(xù)[46]。此外,由于所篩選出
【參考文獻】:
期刊論文
[1]基于FC-KNN的C語言程序自動評分算法[J]. 李亭葳,劉新,白王梓松,李夢磊. 計算機應(yīng)用與軟件. 2018(09)
[2]基于最小子程序匹配的C語言自動評分算法研究[J]. 朱林琴,劉新,張輝,李亭葳,郭炳元. 中國教育信息化. 2017(17)
[3]一種優(yōu)化GCC抽象語法樹的方法[J]. 趙彥博,張星,周毅楷,鄒德昊. 電子技術(shù)與軟件工程. 2017(06)
[4]淺析面向?qū)W生自主學(xué)習(xí)的C語言程序設(shè)計實踐教學(xué)支撐環(huán)境[J]. 蘇小紅,王甜甜,趙玲玲. 工業(yè)和信息化教育. 2017(01)
[5]自動閱卷系統(tǒng)中編程題的解決方法[J]. 周松. 中國信息技術(shù)教育. 2016(23)
[6]面向大規(guī)模在線開放課程的編程題多特征綜合自動評分方法[J]. 劉月霞,牛志堯,吳寧. 西安交通大學(xué)學(xué)報. 2016(10)
[7]編程題綜合評分方法的研究[J]. 李郴,史國峰. 計算機與網(wǎng)絡(luò). 2016(06)
[8]基于Web的在線判題系統(tǒng)設(shè)計與實現(xiàn)[J]. 蔡崇超. 軟件導(dǎo)刊. 2016(03)
[9]基于多種技術(shù)的混合式程序代碼抄襲檢測方法[J]. 楊超. 計算機工程與應(yīng)用. 2016(18)
[10]基于圖文法的程序流程圖與源代碼自動轉(zhuǎn)換[J]. 朱云,曾曉勤,朱寧,劉禹鋒. 計算機工程與科學(xué). 2015(05)
碩士論文
[1]基于web的程序在線評測方法的研究[D]. 劉崢.哈爾濱理工大學(xué) 2018
[2]主觀編程題自動閱卷算法的研究與實現(xiàn)[D]. 王正.東華理工大學(xué) 2017
[3]C語言編程題在線評測系統(tǒng)的設(shè)計與研究[D]. 臧雙媛.北京交通大學(xué) 2017
[4]動靜態(tài)結(jié)合的程序自動評閱技術(shù)研究及系統(tǒng)實現(xiàn)[D]. 唐思娩.四川師范大學(xué) 2017
[5]C語言在線考試系統(tǒng)開發(fā)及關(guān)鍵技術(shù)的研究[D]. 曹亞妮.西安理工大學(xué) 2016
[6]大規(guī)模編程題在線評判技術(shù)研究[D]. 黃洪波.華南農(nóng)業(yè)大學(xué) 2016
[7]Open edX程序設(shè)計題判分系統(tǒng)的設(shè)計與實現(xiàn)[D]. 劉平.新疆農(nóng)業(yè)大學(xué) 2015
[8]基于抽象語法樹的軟件語義分析方法研究[D]. 王莉莉.哈爾濱工程大學(xué) 2014
[9]基于語義理解與運行分析的程序題自動評分算法研究[D]. 劉天藍.湖南師范大學(xué) 2013
[10]基于Windows消息機制的VB編程題評分系統(tǒng)的研究與應(yīng)用[D]. 付亞臣.大連海事大學(xué) 2012
本文編號:3276948
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/3276948.html
最近更新
教材專著