2010-04-05 125 views
8

我想知道如何使用Javascript檢測代碼抄襲。我想要測試我將要發佈的作業的作業提交。使用JavaScript檢查代碼抄襲

我已經看過使用MOSS,但是從我聽說的情況來看,除了C之外,其他任何東西都很差。不幸的是,我還無法測試它,因爲我沒有提交。

我該如何去用JavaScript檢測代碼抄襲?

+4

你有幾個學生?如果它小於15,則花3分鐘與每個人交談,你會收集最可疑的信息。然後,您可以在Google中檢查大量代碼。 – 2010-04-05 23:29:44

+1

好吧,會有超過一百份提交...不是所有的都來自我的學生(我們有三個助教),但我要對所有作業進行評分。談話部分將會發生,但我需要幫助指出潛在的罪魁禍首:)。 – 2010-04-05 23:34:15

+0

+1試圖找出誰使用互聯網來「調查」問題,以及誰將他們最喜歡的問答網站的答案提交出去是一件困難的工作 - 我希望你好。 – amelvin 2010-04-05 23:45:32

回答

4

他們聲稱MOSS適用於Javascript。你爲什麼不試試。編寫一個Javascript文件,然後修改它,就像一個騙子會修改某人刪除代碼並將其提供給MOSS以查看它說了什麼?

2

根據亞爾的評論,粘貼到谷歌的JavaScript塊將工作得很好 - 但是阻止他們欺騙現實?

你可以將任務分成兩部分,第一部分允許他們'作弊',如果他們想要但是告訴他們在課堂上會有第二部分任務。然後讓班級在受監督的課堂時間完成相同的任務。

如果每個人都第一次'欺騙',那是一回事。但如果有人無法在課堂上重做家庭作業,那麼他們a)受騙(這已經夠糟糕了),並且b)什麼都沒學到(這更糟糕)。

使用互聯網進行「研究」總是會發生 - 但是那些忘記他們的「研究」的人會欺騙你和他們自己。

+0

聽起來這是一位教學助理,而不是老師,所以改變課程計劃可能是不可行的。 – tloflin 2010-04-05 23:48:13

+1

我認爲他們想要在一個學生抄襲另一個學生的意義上檢測抄襲。如果他們從Google複製代碼,則不是。 – Strelok 2010-04-06 00:09:05

+0

@tloflin - 這是一個很好的觀點,我試圖建立一個基準來衡量「作弊」 - 但可能需要一個不同的基線。 – amelvin 2010-04-06 10:49:34

3

我構建了克隆檢測工具,可以在文件中查找類似的代碼塊。 請參閱CloneDR概述 和示例報告。 CloneDR適用於多種語言,並且使用語言結構 來使克隆檢測高效和有效。

+0

這聽起來很有趣。程序將在1000行以下,當我有一些'測試材料'時,我會給你一條線:)。謝謝!! – 2010-04-06 08:57:38

3

我不會用我的方式去嘗試並通過抄襲檢查。

代碼是代碼,壞代碼是壞代碼。無法編碼的人(更可能複製/粘貼代碼**的人)通常沒有良好的代碼。如果你甚至需要花幾秒鐘的時間來檢查來源,那麼困難(和他們周圍可疑的方法)將很容易被發現。有些東西只是不匹配,它應該會讓你感到滿意。

**我會爭辯說,修改過的代碼不會被抄襲,除非它違反了作者的分發意圖(例如違反版權或許可證),並鼓勵學生簡單地記錄他們用作基礎的現有資源和/或納入,並鼓勵他們理解和調整代碼以適應他們的需求(並使其更好,這麼多代碼都是湯)。我一直這樣做「真正的編程工作」。當然,這不是我的課程:-)

+1

從我的(有限)經驗來看,我學校的大多數剽竊行爲都是在學生之間(即做家庭作業並將其交給修改它的其他人),而不是來自網絡。如果他們想使用開源代碼來幫助他們完成任務,他們可以自由地這樣做。 – 2010-04-06 09:03:45