TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

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

4 点作者 redxblood超过 11 年前
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 条评论

eksith超过 11 年前
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_f4超过 11 年前
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>
borplk超过 11 年前
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 未加载
RougeFemme超过 11 年前
Are you asking out of intellectual curiousity or a desire to beat the system?
评论 #6471449 未加载
seiji超过 11 年前
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.