Reusing Bugged Source Code to Support Novice Programmers in Debugging Tasks

P. Ardimento, M. Bernardi, Marta Cimitile, G. D. Ruvo
{"title":"Reusing Bugged Source Code to Support Novice Programmers in Debugging Tasks","authors":"P. Ardimento, M. Bernardi, Marta Cimitile, G. D. Ruvo","doi":"10.1145/3355616","DOIUrl":null,"url":null,"abstract":"Novice programmers often encounter difficulties performing debugging tasks effectively. Even if modern development environments (IDEs) provide high-level support for navigating through code elements and for identifying the right conditions leading to the bug, debugging still requires considerable human effort. Programmers usually have to make hypotheses that are based on both program state evolution and their past debugging experiences. To mitigate this effort and allow novice programmers to gain debugging experience quickly, we propose an approach based on the reuse of existing bugs of open source systems to provide informed guidance from the failure site to the fault position. The goal is to help novices in reasoning on the most promising paths to follow and conditions to define. We implemented this approach as a tool that exploits the knowledge about fault and bug position in the system, as long as any bug of the system is known. The effectiveness of the proposed approach is validated through a quasi-experiment that qualitatively and quantitatively evaluates how the debugging performances of the students change when they are trained using the tool.","PeriodicalId":352564,"journal":{"name":"ACM Transactions on Computing Education (TOCE)","volume":"14 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-11-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"ACM Transactions on Computing Education (TOCE)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3355616","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 6

Abstract

Novice programmers often encounter difficulties performing debugging tasks effectively. Even if modern development environments (IDEs) provide high-level support for navigating through code elements and for identifying the right conditions leading to the bug, debugging still requires considerable human effort. Programmers usually have to make hypotheses that are based on both program state evolution and their past debugging experiences. To mitigate this effort and allow novice programmers to gain debugging experience quickly, we propose an approach based on the reuse of existing bugs of open source systems to provide informed guidance from the failure site to the fault position. The goal is to help novices in reasoning on the most promising paths to follow and conditions to define. We implemented this approach as a tool that exploits the knowledge about fault and bug position in the system, as long as any bug of the system is known. The effectiveness of the proposed approach is validated through a quasi-experiment that qualitatively and quantitatively evaluates how the debugging performances of the students change when they are trained using the tool.
重用有bug的源代码以支持新手程序员调试任务
新手程序员经常在有效地执行调试任务时遇到困难。即使现代开发环境(ide)为导航代码元素和识别导致错误的正确条件提供了高级支持,调试仍然需要大量的人力。程序员通常必须根据程序状态演变和他们过去的调试经验做出假设。为了减轻这种工作量并允许新手程序员快速获得调试经验,我们提出了一种基于重用开源系统中现有错误的方法,以提供从故障站点到故障位置的知情指导。目标是帮助新手推理出最有希望遵循的路径和定义的条件。我们将这种方法作为一种工具来实现,只要系统的任何错误是已知的,它就可以利用系统中有关故障和错误位置的知识。通过准实验验证了所提出方法的有效性,该实验定性和定量地评估了学生在使用该工具进行训练时调试性能的变化。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信