2008年12月23日 星期二

【程式】程式碼作業相似度比對工具

今天跟濟強助教聊到系上大一程式作業抄襲的問題,

因為通常學生交上來的作業數量非常多,人力單薄的助教此時就非常辛苦。


為了減輕助教的工作量,另外也造福系上學弟妹(希望大家不要抄襲),

我就到網路上找看看有沒有人寫好的工具可以用。



下載之後,拿某班學弟妹作業的程式碼來測,發現準確度很高!

但是此版一次只比較兩個檔案,想拿來改作業的話,要再加個批次檔才行。

  • 努力...努力...努力,好久沒寫批次檔了,因此又花了一些時間研究。

寫了一堆批次檔終於讓程式可以多檔比較之後,才發現作者已經寫了第二版

有多檔比較功能,而且比我用批次檔跑還快很多....Orz...

不過作者的輸出跟我要的比較不同,所以動手改了一下

  • 這次不採用批次檔呼叫的方式了,改用C++刻檔案IO


改好的版本在此:連結

此版本是以原作者的1.0版當作核心,新增了以下功能:
  • 多檔比較
  • 相似度比例篩選設定
  • 語言選擇
  • 顯示花費時間
69份code交叉比對大約花了772781 ms,應該算是個堪用的工具了 :)

10 則留言:

匿名 提到...

這還蠻有意思的,不過比對時間稍微有點久,如果用特徵值比對,或許只要1分鐘就可以完成,但是要抓出位置這件事就真的不容易了

Hsin-Lung Liao 提到...

您好,您的程式我用過了,確實不錯!
想請問您,是否可以增加在選擇完程式種類,相似度百分比後,產生的結果也能有個log檔!?
或者是能夠提供您的原始碼嗎?謝謝~

KPXX 提到...

hsinlung您好:

原始碼如右 → http://0rz.tw/905j3

我主要是寫個adapter去篩選原本程式的輸出 :)

您如果需要log的話,可以自己加上去。

匿名 提到...

CodeSim舊的URL失效了,我找到作者問他拿了新的URL,幫他Po更新略表感謝,也方便以後找類似程式的人:
Http://www.cs.nctu.edu.tw/~hank1985/CodeSim.exe

KPXX 提到...

謝謝樓上的更新!

匿名 提到...

請問一下,有source code嗎?
上面的連結沒有source code耶

Unknown 提到...

您好,您的source code似乎已經遺失,不知是否可藉您的source code參考一下.

匿名 提到...

不好意思
載點連不放去
可否再放一次
謝謝

匿名 提到...

老師您好
最近因為學校的關係 需要研究關於此類型的程式
覺得您寫的這個很好用
因為上面連結的網址裡面的資料好像不見了
如果方便的話 不知道能否給我原始碼讓我參考一下
謝謝您

耕田信長 提到...

你好, 不好意思打擾了
那個.. 想問一下裡面的 Source Code 的連結好像死掉了
請問能提供嗎?
感謝 <(_ _)>