Live data from Hacker News

JPlag – Detecting Software Plagiarism

github.com

41–50 of 85 posts

Re: JPlag – Detecting Software Plagiarism

#42
One of the key outcomes of my master's thesis was the development of an extendable solution for Code Clone Detection (CCD), primarily focused on code and tested with undergraduates at my university [1]. Although I didn't have time to complete the adapter for JPlag, I believe it would be highly beneficial.

Interestingly, whenever I discussed my thesis, the first reaction from others often revolved around moral concerns.

[1] https://github.com/studyfair/studyfair

Re: JPlag – Detecting Software Plagiarism

#43
post #40

Earlier quoted context omitted.

The output of plagiarism tools should only serve as a hint to look at a pair of solutions more closely. All judgement should be derived entirely from similarities between solutions and not some artificial similarity score computed by some program.

Unfortunately, this is not really what happens in my experience. The output of plagiarism tools is taken as fact (especially at high school levels). Without extraordinary evidence of the tool being incorrect, students have no recourse, even if they could sit and explain the thought process behind every word/line of code/whatever.

[deleted]

Re: JPlag – Detecting Software Plagiarism

#44
post #2

I recently had to check code from some of my students at the university as I suspected plagiarism. I discovered JPlag which works like a charm and generates nice reports

An archival video of all coding sessions (locally, hosted by the student), starting with a visible outline of pseudo-code and ending with debugging should be sufficient.

In case of a false positive from a faulty detector this is extraordinary evidence.

Re: JPlag – Detecting Software Plagiarism

#45

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…

In my experience as a TA, ChatGPT has leveled the playing field. Previously, some nationalities cheated significantly more often, but now almost everyone (at least 85 %, probably more) cheat with ChatGPT. There is not much point in providing homework assignments anymore.

This makes sense. The easier something is to do, the more likely anyone is to do it.

Re: JPlag – Detecting Software Plagiarism

#46
post #44
post #2

I recently had to check code from some of my students at the university as I suspected plagiarism. I discovered JPlag which works like a charm and generates nice reports

An archival video of all coding sessions (locally, hosted by the student), starting with a visible outline of pseudo-code and ending with debugging should be sufficient. In case of a false positive from a faulty detector this is extraordinary evidence.

We had a professor require us to use git as a timestamped log of our progress. Of course you could fake it but stealing work and basically redoing it piece by piece with fake timestamps is a lot of work for cheaters.

Re: JPlag – Detecting Software Plagiarism

#47

Earlier quoted context omitted.

Surprising because you get different answers each time you ask ChatGPT.

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.

Re: JPlag – Detecting Software Plagiarism

#48
post #2

I recently had to check code from some of my students at the university as I suspected plagiarism. I discovered JPlag which works like a charm and generates nice reports

How do you deal with disputes? One's code is flagged even if the student in question didn't actually cheat. What then? Do you trust tools over the students' word? In addition, do things like stack overflow and using LLM-generated code count as cheating? Because that is horrible in and of itself, though a separate concern.

Well, in this case I noticed the same code copied while grading a project. I used then JPlag to run an automatic check in all the submissions for all the projects. It found many instances where a couple of students did a copy-paste with same variable names, comments, etc. It was quite obvious if you look in detail, and JPlag helped us spot it in multiple files easily.

*edited mobile typos

Re: JPlag – Detecting Software Plagiarism

#49

Earlier quoted context omitted.

How do you deal with disputes? One's code is flagged even if the student in question didn't actually cheat. What then? Do you trust tools over the students' word? In addition, do things like stack overflow and using LLM-generated code count as cheating? Because that is horrible in and of itself, though a separate concern.

The output of plagiarism tools should only serve as a hint to look at a pair of solutions more closely. All judgement should be derived entirely from similarities between solutions and not some artificial similarity score computed by some program.

Indeed, this is exactly what I did.

Re: JPlag – Detecting Software Plagiarism

#50
post #18

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…

> A user study shows that graduate student assistants consistently rate Mossad-generated code as just as readable as authentic student code. Do you have any small examples on a program that was transformed/generated with Mossad that we could compare against the original? As far as I can tell, the paper just have a really tiny example function.

An example of a Mossad generated file would be the source file plus a bunch of dead code. The dead code consists of lines from the original file repeated in random locations (plus, if you are using an "entropy file", random lines of code that were successful mutations from previous generations of Mossad).

As it turns out, a lot of student code can look this way anyway. Something crazy like 70% of authentic student code can have dead code in assignment submissions.

Post reply on HN