Live data from Hacker News

JPlag – Detecting Software Plagiarism

github.com

81–85 of 85 posts

Re: JPlag – Detecting Software Plagiarism

#81
pro tip: change variable/function names, switch from if/else to switch, invert if/else statements, switch for and while loops, group code differently, create helper functions or collapse helper functions, rewrite loops as streams/ranges/list comprehensions, etc. The ide can do most automatically.

It is pretty much impossible to detect software plagiarism, especially on leetcode style questions as only 1 style or pattern is the most efficient answer.

Though if a student changes it sufficiently enough, they might begin to actually see the invariants and ideas and actually learn the material.

Re: JPlag – Detecting Software Plagiarism

#82
post #71

JPlag, like similar plagiarism detectors, is vulnerable to attack. We outline the attack in this paper and show its effectiveness against JPlag and another widely used plagiarism detector, Moss. Note that this was written in 2020, in the pre “CheatGPT” era! https://arxiv.org/abs/2010.01700 Mossad: Defeating Software Plagiarism Detection Breanna Devore-McDonald, Emery D. Berger Automatic software plagiarism detection…

As someone that actually used JPlag as a university TA, I think if the students are smart enough to implement this, they're probably smart enough to do whatever assignment we've asked of them (unless there's a easy peasy program to do the transformation, but I don't think it's the case here). The usage of the tool is basically a deterrent against a very low-hanging cheating fruit for students (some still tried and th…

If you read the paper, you'll see that the attack is entirely feasible to implement by hand (we did this ourselves but do not report on it in the paper). It's a pretty mechanical process. A bit of trial and error will get the job done; it's a hell of a lot easier than most assignments.

Re: JPlag – Detecting Software Plagiarism

#83
post #71

Earlier quoted context omitted.

As someone that actually used JPlag as a university TA, I think if the students are smart enough to implement this, they're probably smart enough to do whatever assignment we've asked of them (unless there's a easy peasy program to do the transformation, but I don't think it's the case here). The usage of the tool is basically a deterrent against a very low-hanging cheating fruit for students (some still tried and th…

If you read the paper, you'll see that the attack is entirely feasible to implement by hand (we did this ourselves but do not report on it in the paper). It's a pretty mechanical process. A bit of trial and error will get the job done; it's a hell of a lot easier than most assignments.

Here's the relevant quote that speaks to your statement:

  Mossad thus defies the conventional wisdom that defeating plagiarism detection
  is difficult or requires significant programming ability. The techniques that
  underlie Mossad could be implemented manually, relying on only the most basic
  understanding of programming language principles, letting them evade detection
  by both plagiarism detectors and some degree of manual inspection...

Re: JPlag – Detecting Software Plagiarism

#84
post #47

Earlier quoted context omitted.

Different in an exact string match but code that is copied and pasted from ChatGPT has a lot of similarities in the way that it is (over) commented. I've seen a lot of Python where the student who "authored" it cannot tell me how a method works or why it was implemented despite having the comments prefixed to every line in the file.

> (over) commented From my experience using ChatGPT, It usually remove most of my already written comments when I ask questions about code I wrote myself. It usually give you outline comments. So unless you are supporter of the self documented code idea, I don't think ChatGPT over comments.

It's obviously down to taste, but what I've seen over and over is a comment per line which to me is excessive outside it being requested of absolute beginners.

That happens and also the model can't decide if it wants the comment on the line before the code or if everything should be appended to the line itself so when I see both styles within a single project it's another signal. People generally have a style that they stick with.

Re: JPlag – Detecting Software Plagiarism

#85

Earlier quoted context omitted.

Depending on the distribution of international / domestic students, this also sounds wild and in congruence with the other commenter. If there is 10 out of 100 international students, and they do 30% of 10 cases, then 30% (!!) of international students cheat while only 7% of domestic students cheat - in conclusion, international students do most of the cheating. Regardless of this statistical thought experiment, I do…

Yes, given made up numbers you can support an unsubstantiated claim. Let's not do that.

Feel free to plot in your own numbers.

I am sure you are capable to abstract my comment and understand the point.

It is quite natural to explain concepts with made up numbers.

Post reply on HN