TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: University checks for cheaters when delivering code assigments. How?

4 pointsby redxbloodover 11 years ago
My university checks for possible cheaters when delivering programming assignments. by inputing them to a program that gives back the probablitlity those two programs have code copyed of each other. How does the program work in essence?

5 comments

eksithover 11 years ago
It may use something like Kolmogorov complexity <a href="https://en.wikipedia.org/wiki/Kolmogorov_complexity#Compression" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Kolmogorov_complexity#Compress...</a><p>...where symbol matching is used along with variable names after removing all extra white space.<p>Although, I&#x27;m guessing your university uses PMD : <a href="http://pmd.sourceforge.net" rel="nofollow">http:&#x2F;&#x2F;pmd.sourceforge.net</a> It&#x27;s a fairly popular tool for detecting code issues (including copied segments).
alt_f4over 11 years ago
Take a look at this:<p><a href="http://theory.stanford.edu/~aiken/moss/" rel="nofollow">http:&#x2F;&#x2F;theory.stanford.edu&#x2F;~aiken&#x2F;moss&#x2F;</a><p>Specifically:<p><a href="http://theory.stanford.edu/~aiken/publications/papers/sigmod03.pdf" rel="nofollow">http:&#x2F;&#x2F;theory.stanford.edu&#x2F;~aiken&#x2F;publications&#x2F;papers&#x2F;sigmod...</a>
borplkover 11 years ago
I&#x27;m no expert in this but I suppose just like how they check for plagiarism in essays.<p>They usually compare submissions with other submissions, past submissions and also against similar references on the internet in case a match is found on some website.
评论 #6471541 未加载
RougeFemmeover 11 years ago
Are you asking out of intellectual curiousity or a desire to beat the system?
评论 #6471449 未加载
seijiover 11 years ago
It&#x27;s probably a combination of runtime analysis and code construction analysis.<p>Submissions with similar runtimes will use the same algorithm. If most students use the proper way, but a group of five students all, by &quot;chance,&quot; pick an obscure dumb way (or a really obscure fast way), then they may be copying. Manual investigation would be triggered.<p>Look into how JavaScript minimizers&#x2F;obfuscators work. They could be parsing your code down to a form where your variable names and comments don&#x27;t matter at all. They&#x27;re just analyzing and looking for coincident structure of programs.<p>Now, your administration is smart enough to not flag code where there&#x27;s one way to do it (write &quot;find a member of a list&quot;), but if 10 people copy the same wrong way to do it, it would be a flag to investigate further.