Hyperstyle: A Tool for Assessing the Code Quality of Solutions to Programming Assignments

被引:16
|
作者
Birillo, Anastasiia [1 ]
Vlasov, Ilya [2 ]
Burylov, Artyom [3 ]
Selishchev, Vitalii [4 ]
Goncharov, Artyom [4 ]
Tikhomirova, Elena [1 ]
Vyahhi, Nikolay [3 ]
Bryksin, Timofey [1 ]
机构
[1] JetBrains Res, St Petersburg, Russia
[2] St Petersburg State Univ, St Petersburg, Russia
[3] Stepik, St Petersburg, Russia
[4] Comp Sci Ctr, St Petersburg, Russia
关键词
programming education; code quality assessment; learning programming; refactoring; code formatting;
D O I
10.1145/3478431.3499294
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
In software engineering, it is not enough to simply write code that only works as intended, even if it is free from vulnerabilities and bugs. Every programming language has a style guide and a set of best practices defined by its community, which help practitioners to build solutions that have a clear structure and therefore are easy to read and maintain. To introduce assessment of code quality into the educational process, we developed a tool called Hyperstyle. To make it reflect the needs of the programming community and at the same time be easily extendable, we built it upon several existing professional linters and code checkers. Hyperstyle supports four programming languages (Python, Java, Kotlin, and Javascript) and can be used as a standalone tool or integrated into a MOOC platform. We have integrated the tool into two educational platforms, Stepik and JetBrains Academy, and it has been used to process about one million submissions every week since May 2021.
引用
收藏
页码:307 / 313
页数:7
相关论文
共 50 条
  • [21] Semi-automated Tool for Providing Effective Feedback on Programming Assignments
    Beh, Min Yan
    Gottipati, Swapna
    Lo, David
    Shankararaman, Venky
    [J]. 24TH INTERNATIONAL CONFERENCE ON COMPUTERS IN EDUCATION (ICCE 2016): THINK GLOBAL ACT LOCAL, 2016, : 258 - 263
  • [22] Improving quality of Crane-Lorry assignments with constraint programming
    Chun, Andy Hon Wai
    Wong, Rebecca Y. M.
    [J]. IEEE TRANSACTIONS ON SYSTEMS MAN AND CYBERNETICS PART C-APPLICATIONS AND REVIEWS, 2007, 37 (02): : 268 - 277
  • [23] Catalog of Code Quality Defects in Introductory Programming
    Rechtackova, Anna
    Pelanek, Radek
    Effenberger, Tomas
    [J]. PROCEEDINGS OF THE 2024 CONFERENCE INNOVATION AND TECHNOLOGY IN COMPUTER SCIENCE EDUCATION, VOL 1, ITICSE 2024, 2024, : 59 - 65
  • [24] Detecting Source Code Plagiarism on Introductory Programming Course Assignments Using a Bytecode Approach
    Karnalim, Oscar
    [J]. PROCEEDINGS OF 2016 INTERNATIONAL CONFERENCE ON INFORMATION & COMMUNICATION TECHNOLOGY AND SYSTEMS (ICTS), 2016, : 63 - 68
  • [25] Comparing Semantic Graph Representations of Source Code: The Case of Automatic Feedback on Programming Assignments
    Paiva, Jose Carlos
    Leal, Jose Paulo
    Figueira, Alvaro
    [J]. COMPUTER SCIENCE AND INFORMATION SYSTEMS, 2024, 21 (01) : 117 - 142
  • [26] Automatic Classification of Error Types in Solutions to Programming Assignments at Online Learning Platform
    Lobanov, Artyom
    Bryksin, Timofey
    Shpilman, Alexey
    [J]. ARTIFICIAL INTELLIGENCE IN EDUCATION, AIED 2019, PT II, 2019, 11626 : 174 - 178
  • [27] On the Impact of Programming Languages on Code Quality: A Reproduction Study
    Berger, Emery D.
    Hollenbeck, Celeste
    Maj, Petr
    Vitek, Olga
    Vitek, Jan
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2019, 41 (04):
  • [28] Code Quality Defects Across Introductory Programming Topics
    Effenberger, Tomas
    Pelanek, Radek
    [J]. PROCEEDINGS OF THE 53RD ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION (SIGCSE 2022), VOL 1, 2022, : 941 - 947
  • [29] A Visual Tool for Supporting Collaborative Code Quality
    da Silva, Matheus Camilo
    de Bassi, Patricia Rucker
    Puppi Wanderley, Gregory Moro
    Tacla, Cesar Augusto
    Paraiso, Emerson Cabrera
    [J]. PROCEEDINGS OF THE 2019 IEEE 23RD INTERNATIONAL CONFERENCE ON COMPUTER SUPPORTED COOPERATIVE WORK IN DESIGN (CSCWD), 2019, : 368 - 373
  • [30] An ensemble framework for assessing solutions of interval programming problems
    Sun, Jing
    Gong, Dunwei
    Zeng, Xiaojun
    Geng, Na
    [J]. INFORMATION SCIENCES, 2018, 436 : 146 - 161