Plagiarism in programming assignments
Open accessAbstract
The assessment of programming courses is usually carried out by means of programming assignments. Since it is simple to copy and edit computer programs, however, there will always be a temptation among some students following such courses to copy and modify the work of others. As the number of students in these courses is often high, it can be very difficult to detect this plagiarism. The authors have developed a package which will allow programming assignments to be submitted online, and which includes software to assist in detecting possible instances of plagiarism. In this paper, they discuss the concerns that motivated this work, describe the developed software, tailoring the software to different requirements and finally consider its implications for large group teaching.
Integrity signals
Registry
Cites
Statistics
Claims the paper makes
Claims other papers make about this one
Each is checked against this paper’s own text: does it say what the citing paper says it does?
Plagiarism-hiding transformations are usually cosmetic: they alter source code appearance and structure while preserving the original program's behaviour.
“Such source code transformations are typically cosmetic in nature, in that they change the appearance and structure of the source code [6], [7], [10], but retain the original behaviour of the plagiarised assignment.”
From Academic Source Code Plagiarism Detection by Measuring Program Behavioral Similarity (2021) · cites this paper as [7]
Most plagiarism-hiding transformations leave a program's execution behaviour unchanged.
“The majority of these transformations do not modify the execution behaviour of a program.This is as a plagiariser is commonly somebody who is either: inept, lazy or time-poor [7], [36], [37].”
From Academic Source Code Plagiarism Detection by Measuring Program Behavioral Similarity (2021) · cites this paper as [7]
All implemented source code transformations are referenced from prior literature and conform to the first 5 levels of Faidhi and Robinson's transformation taxonomy.
“To ensure the generated programs are representative of undergraduate plagiarism, all implemented source code transformations (listed in table 4) are referenced from prior literature [7], [10], [50], [51], and conform to the first 5 levels of Faidhi and Robinson's [10] transformation taxonomy.”
From Academic Source Code Plagiarism Detection by Measuring Program Behavioral Similarity (2021) · cites this paper as [7]
A SCPDT does not detect plagiarism; it identifies indications of plagiarism.
“Contrary to as the name suggests, a SCPDT does not detect plagiarism.Instead, a SCPDT identifies indications of plagiarism [7].”
From Academic Source Code Plagiarism Detection by Measuring Program Behavioral Similarity (2021) · cites this paper as [7]
Mossad demonstrates its effectiveness against various plagiarism detectors, including MOSS, Sherlock, and JPlag.
“Mossad demonstrates its effectiveness against various plagiarism detectors, including MOSS [1], Sherlock [16], and JPlag [36,37].”
From Detecting Automatic Software Plagiarism via Token Sequence Normalization (2024) · cites this paper as [16]
Token-based comparison is inherently resilient against renaming, retyping, or obscuring constant values, including all lexical attacks.
“As the tokens abstract from the code, the comparison is inherently resilient against particular obfuscation attacks, such as renaming, retyping, or obscuring constant values [37].This particularly includes immunity against all lexical [16] attacks.”
From Detecting Automatic Software Plagiarism via Token Sequence Normalization (2024) · cites this paper as [16]
Cited by
Sorted by citations
A comparison of code similarity analysers
Ragkhitwetsagul, C., Krinke, J., & Clark, D. (2018) · Empirical Software Engineering · doi:10.1007/s10664-017-9564-7 · Cited by 122 · see citing works
Source-code Similarity Detection and Detection Tools Used in Academia: A Systematic Review
Novak, M., Joy, M., & Kermek, D. (2019) · ACM Transactions on Computing Education · doi:10.1145/3313290 · Cited by 117 · see citing works
Self-citationPlagiarism in Programming Assessments: A Systematic Review
Albluwi, I. (2020) · ACM Transactions on Computing Education · doi:10.1145/3371156 · Cited by 63 · see citing works
Academic Source Code Plagiarism Detection by Measuring Program Behavioral Similarity
Cheers, H., Lin, Y., & Smith, S. P. (2021) · IEEE Access · doi:10.1109/access.2021.3069367 · Cited by 59 · see citing works
“[7] M. Joy and M. Luck, ‘‘Plagiarism in programming assignments,’’ IEEE Trans.”
BackgroundMethodInfluentialAutomatic Source Code Plagiarism Detection
Kustanto, C., & Liem, I. (2009) · 2009 10th ACIS International Conference on Software Engineering, Artificial Intelligences, Networking and Parallel/Distributed Computing · doi:10.1109/snpd.2009.62 · Cited by 58 · see citing works
Plagiarism Detection: A Tool Survey and Comparison
Martins, V. T., Fonte, D., Henriques, P. R., & da Cruz, D. (2014) · Schloss Dagstuhl – Leibniz-Zentrum für Informatik · doi:10.4230/oasics.slate.2014.143 · Cited by 53 · see citing works
Desktop Tools for Offline Plagiarism Detection in Computer Programs
MOZGOVOY, M. (2006) · Informatics in Education · doi:10.15388/infedu.2006.08 · Cited by 46 · see citing works
Detecting Pervasive Source Code Plagiarism through Dynamic Program Behaviours
Cheers, H., Lin, Y., & Smith, S. P. (2020) · Proceedings of the Twenty-Second Australasian Computing Education Conference · doi:10.1145/3373165.3373168 · Cited by 13 · see citing works
A Novel Graph-Based Program Representation for Java Code Plagiarism Detection
Cheers, H., & Lin, Y. (2020) · Proceedings of the 3rd International Conference on Software Engineering and Information Management · doi:10.1145/3378936.3378960 · Cited by 13 · see citing works
Detecting Automatic Software Plagiarism via Token Sequence Normalization
Sağlam, T., Brödel, M., Schmid, L., & Hahner, S. (2024) · Proceedings of the IEEE/ACM 46th International Conference on Software Engineering · doi:10.1145/3597503.3639192 · Cited by 9 · see citing works
Prado, B., Bispo, K., & Andrade, R. (2018) · Proceedings of the 20th International Conference on Enterprise Information Systems · doi:10.5220/0006668705170524 · Cited by 9 · see citing works
Non-restricted Access to Model Solutions: A Good Idea?
Nygren, H., Leinonen, J., & Hellas, A. (2019) · Proceedings of the 2019 ACM Conference on Innovation and Technology in Computer Science Education · doi:10.1145/3304221.3319768 · Cited by 7 · see citing works
Computing Education Research Today
Fincher, S. A., Tenenberg, J., Dorn, B., Hundhausen, C., McCartney, R., & Murphy, L. (2019) · The Cambridge Handbook of Computing Education Research · doi:10.1017/9781108654555.003 · Cited by 7 · see citing works
- Authors
- Joy, M., & Luck, M.
- Affiliations
- University of Warwick (GB)
- ORCID
- Joy, M.
- Venue
- IEEE Transactions on Education
- Published
- 1999-05
- Volume
- 42
- Issue
- 2
- Pages
- 129-133
- ISSN
- 0018-9359 (ISSN-L)
- OpenAlex
- W2148484595
- Cited by
- 299
- References
- 0
- Citations by year
- 2026: 8 · 2025: 5 · 2024: 19 · 2023: 11 · 2022: 12 · 2021: 12 · 2020: 17 · 2019: 45 · 2018: 8 · 2017: 10 · 2016: 16 · 2015: 16 · 2014: 8 · 2013: 14 · 2012: 15
- FWCI
- 12.15
- Type
- journal article
- Language
- en
- Open access
- green
- doi.org
- Locations
- IEEE Transactions on Education (publishedVersion)
- Warwick Research Archive Portal (University of Warwick) (acceptedVersion)
- ePrints Soton (University of Southampton) (submittedVersion)
- Research Portal (King's College London) (submittedVersion)
- University of Warwick (cc-by)
- Topics
- Social Sciences › Safety Research › Academic integrity and plagiarism
- Physical Sciences › Computer Science › Information Systems › Software Engineering Research
- Physical Sciences › Computer Science › Computer Science Applications › Teaching and Learning Programming
- Keywords
- plagiarism detection, programming exercises, academic integrity, online submission system, source code plagiarism, large group teaching, programming education
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review