The Good, the Bad, and the Ugly: Mining for Patterns in Student Source Code

被引:2
作者
Mens, Kim [1 ]
Nijssen, Siegfried [1 ]
Hoang-Son Pham [2 ]
机构
[1] UCLouvain, ICTEAM Inst, Louvain La Neuve, Belgium
[2] Hasselt Univ, Data Sci Inst, Hasselt, Belgium
来源
EASEAI '21: PROCEEDINGS OF THE 3RD INTERNATIONAL WORKSHOP ON EDUCATION THROUGH ADVANCED SOFTWARE ENGINEERING AND ARTIFICIAL INTELLIGENCE | 2021年
关键词
Pattern mining; source code mining; CS education; programming;
D O I
10.1145/3472673.3473958
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Research on source code mining has been explored to discover interesting structural regularities, API usage patterns, refactoring opportunities, bugs, crosscutting concerns, code clones and systematic changes. In this paper we present a pattern mining algorithm that uses frequent tree mining to mine for interesting good, bad or ugly coding idioms made by undergraduate students taking an introductory programming course. We do so by looking for patterns that distinguish positive examples, corresponding to the more correct answers to a question, from negative examples, corresponding to solutions that failed the question. We report promising initial results of this algorithm applied to the source code of over 500 students. Even though more work is needed to fine-tune and validate the algorithm further, we hope that it can lead to interesting insights that can eventually be integrated into an intelligent recommendation system to help students learn from their errors.
引用
收藏
页码:1 / 8
页数:8
相关论文
共 9 条
  • [1] Mining Patterns in Source Code Using Tree Mining Algorithms
    Pham, Hoang Son
    Nijssen, Siegfried
    Mens, Kim
    Di Nucci, Dario
    Molderez, Tim
    De Roover, Coen
    Fabry, Johan
    Zaytsev, Vadim
    DISCOVERY SCIENCE (DS 2019), 2019, 11828 : 471 - 480
  • [2] Sensing and Detection Functions in Implantable Cardioverter Defibrillators: The Good, the Bad and the Ugly
    Kossaify, Antoine
    ACTA CARDIOLOGICA SINICA, 2020, 36 (04) : 308 - 317
  • [3] Mining Python fix patterns via analyzing fine-grained source code changes
    Yilin Yang
    Tianxing He
    Yang Feng
    Shaoying Liu
    Baowen Xu
    Empirical Software Engineering, 2022, 27
  • [4] Mining Python']Python fix patterns via analyzing fine-grained source code changes
    Yang, Yilin
    He, Tianxing
    Feng, Yang
    Liu, Shaoying
    Xu, Baowen
    EMPIRICAL SOFTWARE ENGINEERING, 2022, 27 (02)
  • [5] KFCM algorithm based on the source code mining method study
    Wang, Xun
    2014 Fifth International Conference on Intelligent Systems Design and Engineering Applications (ISDEA), 2014, : 586 - 588
  • [6] Android Botnet Detection An Integrated Source Code Mining Approach
    Alothman, Basil
    Rattadilok, Prapa
    2017 12TH INTERNATIONAL CONFERENCE FOR INTERNET TECHNOLOGY AND SECURED TRANSACTIONS (ICITST), 2017, : 111 - 115
  • [7] Comparison and evaluation of source code mining tools and techniques: A qualitative approach
    Khatoon, Shaheen
    Li, Guohui
    Mahmood, Azhar
    INTELLIGENT DATA ANALYSIS, 2013, 17 (03) : 459 - 484
  • [8] A Comparison of Three Popular Source code Similarity Tools for Detecting Student Plagiarism
    Ahadi, Alireza
    Mathieson, Luke
    PROCEEDINGS OF THE 21ST AUSTRALASIAN COMPUTING EDUCATION CONFERENCE (ACE 2019), 2019, : 112 - 117
  • [9] Declarative Visitors to Ease Fine-grained Source Code Mining with Full History on Billions of AST Nodes
    Dyer, Robert
    Rajan, Hridesh
    Nguyen, Tien N.
    ACM SIGPLAN NOTICES, 2014, 49 (03) : 23 - 32