Plagiarism in Programming

So this week I was running short on stories about stolen discoveries or scientific plagiarism, so I am instead turning to the increasingly important concept of plagiarized computer code. Most people realize that copying a sentence written by another person is wrong and could result in academic punishment or loss of a job. Today, in a world that relies heavily on technology and computer programs, it is interesting to consider that plagiarism in this area can become very complicated.

As someone who recently took a programing class, I can see how detecting plagiarism in this type of work would be harder. The basic reason for this is that the current programs for detecting copied code check for similarities in the control structures of programs, so they essentially analyze the frequency and format of selection structures like if statements and else statements. This can be an effective strategy since it is likely that someone attempting to plagiarize code would change less consequential details like variable names rather than the control structure. However, the down side of this strategy is that it is slightly more prone to mistakes than a program, such as the well known TurnItIn.com, that just looks for strings of repeated words. In an article published on WIRED, computer scientist Michael Stuts states “the IF, THEN and ELSE statements are used in about the same ratio in just about every program. The end result is that plagiarism-detection software that uses this scheme is prone to generate false positives”. However, while it can be complicated to accurately prove plagiarism in coding, the program MOSS (Measure of Software Similarity), created by Stanford, has proven quite effective at revealing copied academic work. 

While browsing Google for interesting information related plagiarized programs I came across the story of an unfortunate computer science student. In a post on github.com (a very useful site that allows one to store and modify various versions of a piece of code) this student states “Recently I cheated in one of my core classes. Unfortunately I was caught, but thanks to my professor, I learned how the system detects cheaters. With this newly found information, I am now able to teach YOU how to cheat WITHOUT getting caught”. The student then goes on to discuss how MOSS works and how it is possible to beat it. The conclusion is that in order not to be flagged for plagiarism it is necessary to change variable names, modify all functions used, and change any if statements to switch statements. The thing is, if you are a skilled enough coder to do these things well, you would probably just be able to write your own code just as easily. I guess the lesson here is that MOSS is not worth trying to beat!

As computer science becomes more widely studied, questions have arisen about what actually constitutes cheating. According to a New York Times article, it was found that at UC Berkeley, “100 out of roughly 700 students in one class had violated the course policy on collaborating or copying code”, and large amounts of this type of plagiarism are a common trend at many universities. However, some the behaviors, such as sharing code with other students or working off open source code from sites like Reddit or github would be considered more acceptable in the real world. So, some argue that this should not be as harshly punished in university classes. Whatever you think, I caution anyone who takes computer science 200 to be careful because I’m pretty sure they use MOSS on all submitted code.

 

“genchang1234/How-to-Cheat-in-Computer-Science-101.” GitHub, 19 Sept. 2015, github.com/genchang1234/How-to-cheat-in-computer-science-101.

Stutz, Michael. “Catching Computer Science Cheaters.” Wired, Conde Nast, 5 June 2017, www.wired.com/1998/02/catching-computer-science-cheaters/.

Bidgood, Jess, and Jeremy. “As Computer Coding Classes Swell, So Does Cheating.” The New York Times, The New York Times, 29 May 2017, www.nytimes.com/2017/05/29/us/computer-science-cheating.html?_r=1.

4 thoughts on “Plagiarism in Programming

  1. Coding and computer science is something that goes way over my head. My best friend is a computer science major and I often ask her to explain to me what she does with just as little success as she had the time before. Now that I am in a quantification political science class I am working with some basic level coding and may be guilt of plagiarism in that respect. I often do not know what I am doing and rely on google to provide me with codes and instructions.

  2. It seems incredibly complicated to get away with plagiarism in code. I am certaintly not adept enough with computers to even attempt this, I can barely get a picture to move where I want it on Microsoft Word. But I am all to familiar with Turn It In and had a horrible time with it in high school due to all of its false positives.

  3. Personally, I lack experience in the realm of computer coding. I can definitely see how detecting copied code can be far tougher than detecting copied sentences or essays. Hopefully I will not have to resort to trying to beat MOSS next semester when I take computer science!

  4. I am new to this blog, but think the topic is AWESOME. Plagiarism really bothers me and the unique ways people go about cheating often seem more taxing than just doing the work themselves. It seems like there is a lot of intellectual sharing with programming—cheating the system in programming was interesting to read about!

Leave a Reply