Towards Understanding Interactive Debugging

Fábio Petrillo, Z. Soh, Foutse Khomh, M. Pimenta, C. Freitas, Yann-Gaël Guéhéneuc
{"title":"Towards Understanding Interactive Debugging","authors":"Fábio Petrillo, Z. Soh, Foutse Khomh, M. Pimenta, C. Freitas, Yann-Gaël Guéhéneuc","doi":"10.1109/QRS.2016.27","DOIUrl":null,"url":null,"abstract":"Debugging is a laborious activity in which developers spend lot of time navigating through code, looking for starting points, and stepping through statements. Yet, although debuggers exist for 40 years now, there have been few research studies to understand this important and laborious activity. Indeed, to perform such a study, researchers need detailed information about the different steps of the interactive debugging process. In this paper, to help research studies on debugging and, thus, help improving our understanding of how developers debug systems using debuggers, we present the Swarm Debug Infrastructure (SDI), with which practitioners and researchers can collect and share data about developers' interactive debugging activities. We assess the effectiveness of the SDI through an experiment that aims to understand how developers apply interactive debugging on five true faults found in JabRef, toggling breakpoints and stepping code. Our study involved five freelancers and two student developers performing 19 bug location sessions. We collect videos recording and data about 6 hours of effective debugging activities. The data includes 110 breakpoints and near 7,000 invocations. We process the collected videos and data to answer five research questions showing that (1) there is no correlation between the number of invocations (respectively the number of breakpoints toggled) during a debugging session and the time spent on the debugging task, ρ = -0.039 (respectively 0.093). We also observed that (2) developers follow different debugging patterns and (3) there is no relation between numbers of breakpoints and expertise. However, (4) there is a strong negative correlation between time of the first breakpoint (ρ = -0.637), and the time spent on the task, suggesting that when developers toggle breakpoints carefully, they complete tasks faster than developers who toggle breakpoints too quickly. We conclude that the SDI allows collecting and sharing debugging data that can provide interesting insights about interactive debugging activities. We discuss some implications for tool developers and future debuggers.","PeriodicalId":412973,"journal":{"name":"2016 IEEE International Conference on Software Quality, Reliability and Security (QRS)","volume":"94 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"12","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2016 IEEE International Conference on Software Quality, Reliability and Security (QRS)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/QRS.2016.27","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 12

Abstract

Debugging is a laborious activity in which developers spend lot of time navigating through code, looking for starting points, and stepping through statements. Yet, although debuggers exist for 40 years now, there have been few research studies to understand this important and laborious activity. Indeed, to perform such a study, researchers need detailed information about the different steps of the interactive debugging process. In this paper, to help research studies on debugging and, thus, help improving our understanding of how developers debug systems using debuggers, we present the Swarm Debug Infrastructure (SDI), with which practitioners and researchers can collect and share data about developers' interactive debugging activities. We assess the effectiveness of the SDI through an experiment that aims to understand how developers apply interactive debugging on five true faults found in JabRef, toggling breakpoints and stepping code. Our study involved five freelancers and two student developers performing 19 bug location sessions. We collect videos recording and data about 6 hours of effective debugging activities. The data includes 110 breakpoints and near 7,000 invocations. We process the collected videos and data to answer five research questions showing that (1) there is no correlation between the number of invocations (respectively the number of breakpoints toggled) during a debugging session and the time spent on the debugging task, ρ = -0.039 (respectively 0.093). We also observed that (2) developers follow different debugging patterns and (3) there is no relation between numbers of breakpoints and expertise. However, (4) there is a strong negative correlation between time of the first breakpoint (ρ = -0.637), and the time spent on the task, suggesting that when developers toggle breakpoints carefully, they complete tasks faster than developers who toggle breakpoints too quickly. We conclude that the SDI allows collecting and sharing debugging data that can provide interesting insights about interactive debugging activities. We discuss some implications for tool developers and future debuggers.
了解交互式调试
调试是一项费力的活动,开发人员在其中花费大量时间浏览代码、寻找起点和逐步执行语句。然而,尽管调试器已经存在了40年,但很少有研究来理解这一重要而费力的活动。实际上,为了进行这样的研究,研究人员需要关于交互调试过程的不同步骤的详细信息。在本文中,为了帮助对调试的研究,从而帮助提高我们对开发人员如何使用调试器调试系统的理解,我们提出了Swarm debug Infrastructure (SDI),从业人员和研究人员可以通过它收集和共享有关开发人员交互式调试活动的数据。我们通过一个实验来评估SDI的有效性,该实验旨在了解开发人员如何在JabRef、切换断点和步进代码中发现的五个真实错误上应用交互式调试。我们的研究涉及五名自由职业者和两名学生开发人员,他们进行了19次漏洞定位会议。我们收集了大约6小时的有效调试活动的视频记录和数据。数据包括110个断点和近7000个调用。我们对收集到的视频和数据进行了处理,以回答五个研究问题,结果表明:(1)调试会话期间的调用次数(分别为切换的断点数量)与调试任务所花费的时间之间没有相关性,ρ = -0.039(分别为0.093)。我们还观察到(2)开发人员遵循不同的调试模式,(3)断点的数量和专业知识之间没有关系。然而,(4)在第一个断点的时间(ρ = -0.637)和花费在任务上的时间之间存在很强的负相关,这表明当开发人员仔细切换断点时,他们比切换断点太快的开发人员更快地完成任务。我们得出结论,SDI允许收集和共享调试数据,这些数据可以提供有关交互式调试活动的有趣见解。我们讨论了对工具开发人员和未来调试器的一些启示。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约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学术官方微信