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 条
  • [21] Refactoring-Aware Code Review
    Ge, Xi
    Sarkar, Saurabh
    Witschey, Jim
    Murphy-Hill, Emerson
    2017 IEEE SYMPOSIUM ON VISUAL LANGUAGES AND HUMAN-CENTRIC COMPUTING (VL/HCC), 2017, : 71 - 79
  • [22] Graduate student misconceptions: Their own and their perception of undergraduate misconceptions
    Bauer, Christopher F.
    ABSTRACTS OF PAPERS OF THE AMERICAN CHEMICAL SOCIETY, 2011, 241
  • [23] The impact of student misconceptions on student persistence in a MOOC
    Chen, Chen
    Sonnert, Gerhard
    Sadler, Philip M.
    Sasselov, Dimitar
    Fredericks, Colin
    JOURNAL OF RESEARCH IN SCIENCE TEACHING, 2020, 57 (06) : 879 - 910
  • [24] B-Refactoring: Automatic test code refactoring to improve dynamic analysis
    Xuan, Jifeng
    Cornu, Benoit
    Martinez, Matias
    Baudry, Benoit
    Seinturier, Lionel
    Monperrus, Martin
    INFORMATION AND SOFTWARE TECHNOLOGY, 2016, 76 : 65 - 80
  • [25] RefDistiller: A Refactoring Aware Code Review Tool for Inspecting Manual Refactoring Edits
    Alves, Everton L. G.
    Song, Myoungkyu
    Kim, Miryung
    22ND ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (FSE 2014), 2014, : 751 - 754
  • [26] Student misconceptions about conversions
    Langley, Richard
    Davis, Cassie
    Cervantes, Monica
    ABSTRACTS OF PAPERS OF THE AMERICAN CHEMICAL SOCIETY, 2015, 250
  • [27] Predicting Student Misconceptions in Science
    Fouche, Jaunine
    EDUCATIONAL LEADERSHIP, 2015, 73 (01) : 60 - 65
  • [28] Student Misconceptions of Dynamic Programming
    Zehra, Shamama
    Ramanathan, Aishwarya
    Zhang, Larry Yueli
    Zingaro, Daniel
    SIGCSE'18: PROCEEDINGS OF THE 49TH ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, 2018, : 556 - 561
  • [29] Identifying Student Misconceptions of Programming
    Kaczmarczyk, Lisa C.
    Petrick, Elizabeth R.
    East, J. Philip
    Herman, Geoffrey L.
    SIGCSE 10: PROCEEDINGS OF THE 41ST ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, 2010, : 107 - 111
  • [30] Supporting requirements to code traceability through refactoring
    Mahmoud, Anas
    Niu, Nan
    REQUIREMENTS ENGINEERING, 2014, 19 (03) : 309 - 329