王鵬

摘要
隨著計算機時代的到來,我國很多院校都開展了計算機編程課程,由于程序設計技能培養的重要性,教師會布置編程作業作為學生的課后作業。為了解決此專業課程老師們在對學生編程作業檢查時,需要花很多心思來檢查抄襲率,所以研究計算機程序抄襲檢測系統的設計方案尤為必要。檢測系統的核心技術是通過對學生們所提交的程序實踐作業進行程序相似度的計算,這種全自動的抄襲檢測可以找到相似度較高的程序文檔對,從而方便快捷地從大量程序作業中篩選出疑似抄襲的作業。抄襲檢測系統的應用,可以幫助老師減輕負擔,高效完成工作。本文就著重分析了計算機程序抄襲檢測系統的基本功能需求。
【關鍵詞】計算機程序 抄襲檢測 設計
1計算機程序檢測系統基本功能的實現
計算機程序檢測系統的核心技術是程序代碼相似度的計算,既是通過計算機將兩個程序代碼文檔的相似程度自動數值化。而這種程序相似度計算技術己經廣泛應用到軟件工程程序代碼的重用管理或對數字信息類知識產權中的程序代碼抄襲或復制的檢測等等。
在學生所提交的大量程序文檔作業當中,在沒有用檢測系統進行檢測以前,均無法準確判斷其中哪些程序作業之間存在互相抄襲的嫌疑。為了保證檢測系統的檢測結果與實際情況充分符合,需要抄襲監測系統可以對輸入的所有程序文檔進行“一對一”的自動抄襲檢測。然后將它們的相似程度自動數值化,相似數值以“XX%”表示。并且相似數值輸出后可以按照從從低到高或者是高到低的方式排列出來,這樣方便檢測者結合相似數值和實際情況設定一個值,超過這個值得程序文檔即為具有抄襲性的作業。
2計算機程序抄襲檢測系統設計方案研究
2.1應當具備陳列和選取待檢測程序文檔的路徑和文件名
這個過程最重要的是要求檢測系統具有可以陳列和選取電子文檔的存儲路徑與文件名稱的功能。同時,為了提高檢測系統的工作效率,增強可行性,要求檢測系統能能夠直接在己經陳列好的程序文檔列表中實現新建和增設新程序文檔和文件的功能。另外,要求檢測系統具有對整個檢測文檔清空、批量處理、重命名等操作功能。
2.2程序文檔“一對一”相似度檢測的應用功能
相似度檢測這是整個計算機程序抄襲檢測系統最為關鍵的一步。具體步驟為:
(1)所謂“一對一”,需要檢測者對待檢測的程序文檔列表中的所有文件進行配對,要求每個文檔都與其他文檔兩兩配對。需要說明的是,進行單個文件的兩兩匹配時,如文檔列表為1#、2#、3#、4#、5#,需要以1#配對2#、1#配對3#、1#配對4#、1#配對5#、2#配對3#、2#配對4#、2#配對5#、3#配對4#、3#配對5#、4#配對5#為準,不是1#對應2#、3#對應4#……這樣。
(2)配對好的程序文檔對自動進行相似度數值的計算。
(3)計算結果按照從高到低或者從低到高進行排列出來。文檔中往往存在很多不重要信息會影響系統的檢測準確性,為了保證整個抄襲檢測系統的科學有效性,應當避免這些不重要信息對系統的不利影響。其中不重要信息主要包括:換行、空格或者標點符號等等。不僅如此,還應該將那些對程序文檔內容和結構影響非常低的詞語(比如:的、得、地等)進行篩除,從而保證抄襲檢測結果的真實性。
2.3相似度較高的程序文檔進行深度詳細比對
當計算機程序抄襲檢測系統對大量程序文檔進行“一對一”檢測后得出較高相似度數值就表明這些程序文檔對有很大的抄襲嫌疑,這個時候,就需要對這些相似度較高的程序文檔進行深度詳細比對進一步排除和確定抄襲。這一步驟可以同時顯示程序文檔對,主要觀察文檔對相同部分得以實現。如果計算出程序文檔對相似度較低,則可以直接排除它們之間的抄襲嫌疑。
從上述方法操作,計算機程序抄襲檢測系統基本操作流程圖如圖1。
2.4抄襲檢測系統的關鍵技術及其應用
(1)首先,需要分析計算機程序編碼的專業用語,即用各種標點符號來合理轉換程序文檔內容,把通俗意義上的文檔語句轉變為特定的語句序列。然后,利用此法分析的方法再將它們劃分成適用于這個程序文檔的語句序列。因此,程序文檔當中的每個語句都能夠用下面的結構方法加以呈現:
Para=[句子對應數值,(語詞單元數值)]
通過這一專業方法將一般通俗含義的文檔語句變成特定語句序列,可以使每個獨立文本之間的比較速度大大提高,同時利用最大公共序列求解的辦法,從而明確出兩個相對獨立語句中的相似程度,如下式:
Sim(A,B)=A,B最大公共序列長度/max(A關鍵編碼數量,b關鍵編碼數量)
(2)然后,從提取計算機程序文檔的特征部分來看,需要滿足具有一定長度的待提取編碼,這樣避免過短句的干擾,對整體的文檔檢測結果造成失真后果。在檢測過程當中,待提取的程序內容必須含一定數量的有效關鍵詞,方可進行抄襲率的有效檢測。
(3)最后,分析計算機程序文檔的相似度計算,要求程序代碼之間具有一定的相似度,相互文檔之間存在的相似度量按照下式定義:
Sim(A,B)=文檔A、文檔B有效編程代碼相似數量/文檔A、文檔B含有編程代碼數量較少的程序文檔中的代碼綜述。
通常情況下,Sim(A,B)越低,就表明文檔A、B之間的相似度越低,反之越高。
3總結
綜上所述,計算機程序抄襲檢測系統的廣泛應用,實現了對程序文件抄襲結果的有效處理,這使得電子文檔中抄襲檢測質量和水平有了很大的飛躍。本文對計算機程序抄襲檢測系統的設計方案進行了較詳細的研究闡述,在計算機程序抄襲檢測系統的更為完善的建立上面具有極其重要的意義。
參考文獻
[1]張淑娟.計算機程序抄襲檢測系統的設計方案研究[J].吉林廣播電視大學學報,2014(04):75-76.
[2]李旭東.程序相似度計算技術及其在教學中的應用[J].軟件導刊·教育技術,2010,9(04):85-86.
[3]房德安.計算機程序抄襲檢測系統的設計方案分析[J].黑龍江科技信息,2013(06):94.endprint