skip to main content
10.1145/3587102.3588855acmconferencesArticle/Chapter ViewAbstractPublication PagesiticseConference Proceedingsconference-collections
research-article
Open access

Variability-Inducing Requirements for Programs: Increasing Solution Variability for Similarity Checking

Published: 30 June 2023 Publication History

Abstract

Similarity checking is a common approach for detecting cheating in programming courses. A known limitation is high rates of similar pairs for programs lacking variability in possible solutions, especially for small programs. We experienced this issue in our CS1 course, where similarity checking in early weeks yielded many highly-similar pairs, many of which were not likely due to copying. Yet, we wish to catch copying students early, so that we can intervene and help those students avoid developing copying habits that may cause them trouble later. Our approach is to modify the program specifications to include variability-inducing requirements, namely places in the specifications where students make choices in their solutions, where different choices reduce the similarity scores. Those variability-inducing requirements are intentionally designed to avoid making the problem much harder for students. Examples of variability-inducing requirements include adding requirements to check for invalid input, or counting items. Such requirements have many different possible ways of implementing each. Essentially, variability-inducing requirements decrease the odds that two students would submit programs scored as highly-similar by a similarity checker, even for small programs. For 5 programs in our CS1 course, we added some variability-inducing requirements. Compared to an earlier term, the similarity checker's highly-similar-pairs rate dropped from 52% to 20% on average. Students' scores stayed the same from 98% to 96%, though time did increase from 18 min to 31 min on average. Adding such requirements helps instructors to do similarity detection and perform early interventions if desired.

References

[1]
Novak, M., Joy, M., & Kermek, D. (2019). Source-code similarity detection and detection tools used in academia: a systematic review. ACM Transactions on Computing Education (TOCE), 19(3), 1--37.
[2]
Schleimer, S., Wilkerson, D.S. and Aiken, A., 2003, June. Winnowing: local algorithms for document fingerprinting. In Proceedings of the 2003 ACM SIGMOD international conference on Management of data (pp. 76--85).
[3]
Software plagiarism detector, https://jplag.ipd.kit.edu/.
[4]
Prechelt, L., Malpohl, G. and Philippsen, M. Finding plagiarisms among a set of programs with JPlag. Journal UCS, 8(11), 2002.
[5]
Bellon, S., Koschke, R., Antoniol, G., Krinke, J., & Merlo, E. (2007). Comparison and evaluation of clone detection tools. IEEE Transactions on software engineering, 33(9), 577--591.
[6]
Ducasse, S., Rieger M., and Demeyer S., ?A Language Independent Approach for Detecting Duplicated Code," Proc. Int'l Conf. Software Maintenance (ICSM '99), 1999.
[7]
Hage, J., Rademaker, P. and Van Vugt, N., 2010. A comparison of plagiarism detection tools. Utrecht University. Utrecht, The Netherlands, 28(1).
[8]
Ragkhitwetsagul, C., Krinke, J. and Clark, D., 2018. A comparison of code similarity analysers. Empirical Software Engineering, 23(4), pp.2464--2519.
[9]
Saoban, C. and Rimcharoen, S., 2019, July. Identifying an original copy of the source codes in programming assignments. In 2019 16th International Joint Conference on Computer Science and Software Engineering (JCSSE) (pp. 271--276). IEEE.
[10]
Inoue, U. and Wada, S., 2012, May. Detecting plagiarisms in elementary programming courses. In 2012 9th International Conference on Fuzzy Systems and Knowledge Discovery (pp. 2308--2312). IEEE.
[11]
Ljubovic, V. and Pajic, E., 2020. Plagiarism detection in computer programming using feature extraction from ultra-fine-grained repositories. IEEE Access, 8, pp.96505--96514.
[12]
Tahaei, N. and Noelle, D.C., 2018, August. Automated plagiarism detection for computer programming exercises based on patterns of resubmission. In Proceedings of the 2018 ACM Conference on International Computing Education Research (pp. 178--186).
[13]
zyBooks, http//www.zybooks.com, 2023.

Cited By

View all
  • (2024)ChatGPT and Cheat Detection in CS1 Using a Program Autograding SystemProceedings of the 2024 on Innovation and Technology in Computer Science Education V. 110.1145/3649217.3653558(367-373)Online publication date: 3-Jul-2024
  • (2024)Towards Comprehensive Metrics for Programming Cheat DetectionProceedings of the 55th ACM Technical Symposium on Computer Science Education V. 110.1145/3626252.3630951(1361-1367)Online publication date: 7-Mar-2024
  • (2023)Student Mastery or AI Deception? Analyzing ChatGPT's Assessment Proficiency and Evaluating Detection Strategies2023 International Conference on Computational Science and Computational Intelligence (CSCI)10.1109/CSCI62032.2023.00268(1615-1621)Online publication date: 13-Dec-2023

Index Terms

  1. Variability-Inducing Requirements for Programs: Increasing Solution Variability for Similarity Checking

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ITiCSE 2023: Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 1
June 2023
694 pages
ISBN:9798400701382
DOI:10.1145/3587102
This work is licensed under a Creative Commons Attribution International 4.0 License.

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 30 June 2023

Check for updates

Author Tags

  1. CS1
  2. cheating
  3. plagiarism
  4. similarity
  5. variability

Qualifiers

  • Research-article

Funding Sources

  • National Science Foundation

Conference

ITiCSE 2023
Sponsor:

Acceptance Rates

Overall Acceptance Rate 552 of 1,613 submissions, 34%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)88
  • Downloads (Last 6 weeks)7
Reflects downloads up to 24 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)ChatGPT and Cheat Detection in CS1 Using a Program Autograding SystemProceedings of the 2024 on Innovation and Technology in Computer Science Education V. 110.1145/3649217.3653558(367-373)Online publication date: 3-Jul-2024
  • (2024)Towards Comprehensive Metrics for Programming Cheat DetectionProceedings of the 55th ACM Technical Symposium on Computer Science Education V. 110.1145/3626252.3630951(1361-1367)Online publication date: 7-Mar-2024
  • (2023)Student Mastery or AI Deception? Analyzing ChatGPT's Assessment Proficiency and Evaluating Detection Strategies2023 International Conference on Computational Science and Computational Intelligence (CSCI)10.1109/CSCI62032.2023.00268(1615-1621)Online publication date: 13-Dec-2023

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media