The objective of this study is to realize a debugging support tool to help programming novices solve program errors efficiently. The proposed tool accumulates and stores failure knowledge, including examples of errors encountered by novice programmers and their solutions. By utilizing this database, the tool can search and find appropriate solutions to errors encountered by users in real time. Errors are categorized as compile errors, link errors, run-time errors, and logic errors, each of which has its own unique solution. In this study, particular emphasis is placed on assistance with compile errors. Failure knowledge consists of sample source code that includes the location and cause of errors encountered by the novice user, as well as solutions. When an error occurs, the user enters the relevant source code and error message into the tool, and the tool searches the database to provide the corresponding solution and explanation. The system also provides a space for users to enter their own analyses and explanations, which can be shared with other novices to promote mutual understanding. The proposed system utilizes a structured database for efficient error resolution, containing tables for storing and retrieving error messages, corresponding references, and user considerations. The effectiveness and applicability of the proposed tool should be verified.
Published in | Science Journal of Education (Volume 11, Issue 6) |
DOI | 10.11648/j.sjedu.20231106.15 |
Page(s) | 211-219 |
Creative Commons |
This is an Open Access article, distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution and reproduction in any medium or format, provided the original work is properly cited. |
Copyright |
Copyright © The Author(s), 2023. Published by Science Publishing Group |
Programming Education, Web Application, Debugging Support, Machine Learning
[1] | Ministry of Internal Affairs and Communications, Information and Communications White Paper 2020 Edition, https://www.soumu.go.jp/johotsusintokei/whitepaper/r02.html. |
[2] | Sue Fitzgerald, Gary Lewandowski, Renée McCauley, Laurie Murphy, Beth Simon, Lynda Thomas, Carol Zander "Debugging: finding, fixing and flailing, a multi-institutional study of novice debuggers", Computer Science Education, vol. 18, No. 2, PP. 93-116 (2008). |
[3] | Tsuruko Eki, "Research on learning support for debugging tactics for programming beginners", Kyushu Institute of Technology doctoral dissertation (2009). |
[4] | Shinichi Sato, Hajime Iida, Katsuro Inoue. "Prototype of debugging support tool based on program dependency analysis". Journal of the Information Processing Society of Japan, 37 (4), PP. 536-545 (1996). |
[5] | Keita Matsumura, Masayuki Arai. "Development of a debugging support tool for C language beginners to collect bug reports" ISSN 2186-5647 (2018) Summary of the 51st Academic Conference of the College of Industrial Engineering, Nihon University. |
[6] | OpenAI homepagehttps://openai.com/api/ |
[7] | TAY Yi, Luu Anh Tuan, Minh C. Phan, Siu Cheung Hui. "Learning to rank question answer pairs with holographic dual lstm architecture", Proceedings of the 40th international ACM SIGIR conference on research and development in information retrieval, PP. 695- 704. (2017). |
[8] | Masakazu Ioka, Norihiro Yoshida, Katsuro Inoue. "Similar class/method detection method using program execution history" ISSN 0289-6540 (2014) Volume 31, Issue 1, PP. 1_110-1_115. |
[9] | Davin McCall, Michael Kolling. "A New Look at Novice Programmer Errors", ACM Transactions on computer Education, Vol. 19, No. 38, PP. 1-30 (2019). |
[10] | Takumi Murata, Toya Nakayama, Hiroaki Hashiura. "A Method for Debugging Java Programs using Chatbots", Information Processing Society of Japan, 84 (2022-1) PP. 349-350 (2022). |
[11] | Linda Erlenhov, Francisco Gomes de Oliveira Neto, Philipp Leitner. "An Empirical Study of Bots in Software Development: Characteristics and Challenges from a Practitioner’s Perspective", Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software, US, PP. 445–455 (2020). |
[12] | Moriuchi kai, Taku Okuno, "A Study on a Debugging Support System Using Crowd Knowledge ", ISSN 2188-8825, SE-210, vol. 4, PP. 1-5 (2022). |
[13] | Gakuto Akiyama, Tsukasa Nakamura, Masanari Kondo, Yasutaka Kamei, Naoyasu Ubayashi, "A case study of automatic debugging problem generation using novice programmers’ bug fix histories" Computer Software, vol. 39, No. 4, PP. 10-16 (2022). |
[14] | Masato Ota, Faisal Hadiputra. "Uncertainty and Explanation-based Human Debugging of Text Classification Model", The 37th Annual Conference of the Japanese Society for Artificial Intelligence, PP. 3L5GS1103-3L5GS1103 (2023). |
[15] | Ryota Kondo, Masataka Nagura. "A Learning Support Method for Novice Programmers based on Categorization of Compilation Error Messages", Japan Society for Software Science and Technology, PP. 63-74 (2023). |
APA Style
Zhu, X. (2023). Debugging Support Tool Using Knowledge of Failure. Science Journal of Education, 11(6), 211-219. https://doi.org/10.11648/j.sjedu.20231106.15
ACS Style
Zhu, X. Debugging Support Tool Using Knowledge of Failure. Sci. J. Educ. 2023, 11(6), 211-219. doi: 10.11648/j.sjedu.20231106.15
AMA Style
Zhu X. Debugging Support Tool Using Knowledge of Failure. Sci J Educ. 2023;11(6):211-219. doi: 10.11648/j.sjedu.20231106.15
@article{10.11648/j.sjedu.20231106.15, author = {Xingyue Zhu}, title = {Debugging Support Tool Using Knowledge of Failure}, journal = {Science Journal of Education}, volume = {11}, number = {6}, pages = {211-219}, doi = {10.11648/j.sjedu.20231106.15}, url = {https://doi.org/10.11648/j.sjedu.20231106.15}, eprint = {https://article.sciencepublishinggroup.com/pdf/10.11648.j.sjedu.20231106.15}, abstract = {The objective of this study is to realize a debugging support tool to help programming novices solve program errors efficiently. The proposed tool accumulates and stores failure knowledge, including examples of errors encountered by novice programmers and their solutions. By utilizing this database, the tool can search and find appropriate solutions to errors encountered by users in real time. Errors are categorized as compile errors, link errors, run-time errors, and logic errors, each of which has its own unique solution. In this study, particular emphasis is placed on assistance with compile errors. Failure knowledge consists of sample source code that includes the location and cause of errors encountered by the novice user, as well as solutions. When an error occurs, the user enters the relevant source code and error message into the tool, and the tool searches the database to provide the corresponding solution and explanation. The system also provides a space for users to enter their own analyses and explanations, which can be shared with other novices to promote mutual understanding. The proposed system utilizes a structured database for efficient error resolution, containing tables for storing and retrieving error messages, corresponding references, and user considerations. The effectiveness and applicability of the proposed tool should be verified. }, year = {2023} }
TY - JOUR T1 - Debugging Support Tool Using Knowledge of Failure AU - Xingyue Zhu Y1 - 2023/12/20 PY - 2023 N1 - https://doi.org/10.11648/j.sjedu.20231106.15 DO - 10.11648/j.sjedu.20231106.15 T2 - Science Journal of Education JF - Science Journal of Education JO - Science Journal of Education SP - 211 EP - 219 PB - Science Publishing Group SN - 2329-0897 UR - https://doi.org/10.11648/j.sjedu.20231106.15 AB - The objective of this study is to realize a debugging support tool to help programming novices solve program errors efficiently. The proposed tool accumulates and stores failure knowledge, including examples of errors encountered by novice programmers and their solutions. By utilizing this database, the tool can search and find appropriate solutions to errors encountered by users in real time. Errors are categorized as compile errors, link errors, run-time errors, and logic errors, each of which has its own unique solution. In this study, particular emphasis is placed on assistance with compile errors. Failure knowledge consists of sample source code that includes the location and cause of errors encountered by the novice user, as well as solutions. When an error occurs, the user enters the relevant source code and error message into the tool, and the tool searches the database to provide the corresponding solution and explanation. The system also provides a space for users to enter their own analyses and explanations, which can be shared with other novices to promote mutual understanding. The proposed system utilizes a structured database for efficient error resolution, containing tables for storing and retrieving error messages, corresponding references, and user considerations. The effectiveness and applicability of the proposed tool should be verified. VL - 11 IS - 6 ER -