Diagnosable Code Duplication in Introductory Programming

被引:0
|
作者
Rechtackova, Anna [1 ]
Pelanek, Radek [1 ]
机构
[1] Masaryk Univ, Brno, Czech Republic
关键词
code quality; !text type='Python']Python[!/text; novice programmers; automated feedback; duplicate code;
D O I
暂无
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
Code quality is an important aspect of programming education, with duplicate code being a common issue. To help students learn to avoid code duplication, it is useful to provide them with actionable, specific feedback, not just a generic code duplication warning. In this paper, we introduce the concept of diagnosable code duplication, provide an overview of its various types, and propose a framework for automatic detection. We apply the framework to an introductory programming dataset to demonstrate its ability to provide specific feedback and reveal non-trivial differences in detected cases compared to simpler detectors.
引用
收藏
页码:987 / 993
页数:7
相关论文
共 50 条
  • [41] The Adverse Effects of Code Duplication in Machine Learning Models of Code
    Allamams, Miltiadis
    PROCEEDINGS OF THE 2019 ACM SIGPLAN INTERNATIONAL SYMPOSIUM ON NEW IDEAS, NEW PARADIGMS, AND REFLECTIONS ON PROGRAMMING AND SOFTWARE (ONWARD!' 19), 2019, : 143 - 153
  • [42] CS1QA: A Dataset for Assisting Code-based Question Answering in an Introductory Programming Course
    Lee, Changyoon
    Seonwoo, Yeon
    Oh, Alice
    NAACL 2022: THE 2022 CONFERENCE OF THE NORTH AMERICAN CHAPTER OF THE ASSOCIATION FOR COMPUTATIONAL LINGUISTICS: HUMAN LANGUAGE TECHNOLOGIES, 2022, : 2026 - 2040
  • [43] Code Duplication and Reuse in Jupyter Notebooks
    Koenzen, Andreas P.
    Ernst, Neil A.
    Storey, Margaret-Anne D.
    2020 IEEE SYMPOSIUM ON VISUAL LANGUAGES AND HUMAN-CENTRIC COMPUTING (VL/HCC 2020), 2020,
  • [44] Insights into system - Wide code duplication
    Rieger, M
    Ducasse, S
    Lanza, M
    11TH WORKING CONFERENCE ON REVERSE ENGINEERING, PROCEEDINGS, 2004, : 100 - 109
  • [45] Code-labelling: A Teaching Activity Encouraging Deep Learning in a non-STEM Introductory Programming Course
    Spangsberg, Thomas Hvid
    Brynskov, Martin
    2017 12TH INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND EDUCATION (ICCSE 2017), 2017, : 95 - 100
  • [46] A detection process to create awareness of source-code plagiarism among students using it to pass introductory programming
    Smit, Imelda
    Naude, Eduan
    Zulu, Busisiwe
    INDEPENDENT JOURNAL OF TEACHING AND LEARNING, 2024, 19 (01): : 79 - 92
  • [47] INTRODUCTORY LAW FOR TAX CODE, 1977
    HOLLIG, H
    BETRIEB, 1976, 29 (51-5): : 2416 - 2424
  • [48] Duplication of coding segments in genetic programming
    Haynes, T
    PROCEEDINGS OF THE THIRTEENTH NATIONAL CONFERENCE ON ARTIFICIAL INTELLIGENCE AND THE EIGHTH INNOVATIVE APPLICATIONS OF ARTIFICIAL INTELLIGENCE CONFERENCE, VOLS 1 AND 2, 1996, : 344 - 349
  • [49] Success in Introductory Programming: What Works?
    Porter, Leo
    Guzdial, Mark
    McDowell, Charlie
    Simon, Beth
    COMMUNICATIONS OF THE ACM, 2013, 56 (08) : 34 - 36
  • [50] Work in progress - Rethinking introductory programming
    Hislop, Gregory W.
    2007 37TH ANNUAL FRONTIERS IN EDUCATION CONFERENCE, GLOBAL ENGINEERING : KNOWLEDGE WITHOUT BORDERS - OPPORTUNITIES WITHOUT PASSPORTS, VOLS 1- 4, 2007, : 692 - 693