Student Code Refactoring Misconceptions

被引:6
|
作者
Oliveira, Eduardo [1 ]
Keuning, Hieke [1 ]
Jeuring, Johan [1 ]
机构
[1] Univ Utrecht, Utrecht, Netherlands
关键词
code refactoring; misconceptions; code quality; program snapshot analysis; grounded theory; student code refactoring misconceptions; programming education;
D O I
10.1145/3587102.3588840
中图分类号
G40 [教育学];
学科分类号
040101 ; 120403 ;
摘要
Teaching students to develop code of good quality is important. Refactoring - rewriting a program into a semantically equivalent program of better quality - is a common technique to improve code quality. It is therefore relevant for students to learn about refactoring, even for the smaller programs they write as beginners. However, students make mistakes when refactoring programs. Some of these mistakes appear often, and might be caused by misconceptions they have. In this paper, we investigate common student code refactoring misconceptions. We do this by analyzing log data containing program snapshots of students working on refactoring exercises in a tutoring system. We manually inspect all transitions from a correct program state to an incorrect state. We then use grounded theory to identify and categorize misconceptions students might have when refactoring programs. As a result, this work (1) defines the concept of refactoring misconception, and (2) provides an initial list of 25 such misconceptions, together with an accompanying website with full details.
引用
收藏
页码:19 / 25
页数:7
相关论文
共 50 条
  • [1] Investigating Student Errors in Code Refactoring
    Oliveira, Eduardo
    PROCEEDINGS OF THE 2023 CONFERENCE ON INNOVATION AND TECHNOLOGY IN COMPUTER SCIENCE EDUCATION, ITICSE 2023, VOL. 2, 2023, : 605 - 606
  • [2] Source Code Rejuvenation Is Not Refactoring
    Pirkelbauer, Peter
    Dechev, Damian
    Stroustrup, Bjarne
    SOFSEM 2010: THEORY AND PRACTICE OF COMPUTER SCIENCE, PROCEEDINGS, 2010, 5901 : 639 - 650
  • [3] Refactoring Code Clone Detection
    Othman, Zhala Sarkawt
    Kaya, Mehmet
    2019 7TH INTERNATIONAL SYMPOSIUM ON DIGITAL FORENSICS AND SECURITY (ISDFS), 2019,
  • [4] Automated process for code refactoring
    Riggs, KR
    Stoecklin, S
    6TH WORLD MULTICONFERENCE ON SYSTEMICS, CYBERNETICS AND INFORMATICS, VOL VII, PROCEEDINGS: INFORMATION SYSTEMS DEVELOPMENT II, 2002, : 504 - 509
  • [5] A Duplicated Code Refactoring Advisor
    Fontana, Francesca Arcelli
    Zanoni, Marco
    Zanoni, Francesco
    AGILE PROCESSES, IN SOFTWARE ENGINEERING, AND EXTREME PROGRAMMING, XP 2015, 2015, 212 : 3 - 14
  • [6] STUDENT MISCONCEPTIONS IN THERMODYNAMICS
    GRANVILLE, MF
    JOURNAL OF CHEMICAL EDUCATION, 1985, 62 (10) : 847 - 848
  • [7] Refactoring the Genetic Code for Increased Evolvability
    Pines, Gur
    Winkler, James D.
    Pines, Assaf
    Gill, Ryan T.
    MBIO, 2017, 8 (06):
  • [8] On the Impact of Refactoring Operations on Code Naturalness
    Lin, Bin
    Nagy, Csaba
    Bavota, Gabriele
    Lanza, Michele
    2019 IEEE 26TH INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING (SANER), 2019, : 594 - 598
  • [9] An approach to prioritize code smells for refactoring
    Santiago A. Vidal
    Claudia Marcos
    J. Andrés Díaz-Pace
    Automated Software Engineering, 2016, 23 : 501 - 532
  • [10] An approach to prioritize code smells for refactoring
    Vidal, Santiago A.
    Marcos, Claudia
    Andres Diaz-Pace, J.
    AUTOMATED SOFTWARE ENGINEERING, 2016, 23 (03) : 501 - 532