Visual debugging of multithreaded Java programs

D. Jackson
{"title":"Visual debugging of multithreaded Java programs","authors":"D. Jackson","doi":"10.1109/HCC.2001.995286","DOIUrl":null,"url":null,"abstract":"Debugging of parallel programs is essentially a twofold task, since it involves debugging both the internal logic of the processes and the interactions between those processes. For the most part, the former can be tackled using conventional sequential debuggers, but the latter are more problematical. It is contended that visualization techniques can be invaluable in this regard, and to this end the concept of a Parallel Execution Graph (PEG) has been devised. For the Java language, which places much of the burden of thread synchronization on the shoulders of the programmer, execution visualization via a PEG can give enormous insight into program behavior, and can highlight hazards such as indeterminacy and deadlock. Among the other advantages to be gained from the use of PEGs are fine control over what information to include in a graph, and the ability to focus on relevant events via a viewpoint switching mechanism.","PeriodicalId":438014,"journal":{"name":"Proceedings IEEE Symposia on Human-Centric Computing Languages and Environments (Cat. No.01TH8587)","volume":"23 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2001-09-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings IEEE Symposia on Human-Centric Computing Languages and Environments (Cat. No.01TH8587)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/HCC.2001.995286","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

Debugging of parallel programs is essentially a twofold task, since it involves debugging both the internal logic of the processes and the interactions between those processes. For the most part, the former can be tackled using conventional sequential debuggers, but the latter are more problematical. It is contended that visualization techniques can be invaluable in this regard, and to this end the concept of a Parallel Execution Graph (PEG) has been devised. For the Java language, which places much of the burden of thread synchronization on the shoulders of the programmer, execution visualization via a PEG can give enormous insight into program behavior, and can highlight hazards such as indeterminacy and deadlock. Among the other advantages to be gained from the use of PEGs are fine control over what information to include in a graph, and the ability to focus on relevant events via a viewpoint switching mechanism.
多线程Java程序的可视化调试
调试并行程序本质上是一项双重任务,因为它既要调试进程的内部逻辑,也要调试这些进程之间的交互。在大多数情况下,前者可以使用传统的顺序调试器来解决,但后者则更成问题。人们认为可视化技术在这方面是无价的,为此,并行执行图(PEG)的概念被设计出来。对于Java语言(它将线程同步的大部分负担放在程序员的肩上),通过PEG实现执行可视化可以深入了解程序行为,并可以突出显示不确定性和死锁等危险。从使用peg中获得的其他好处包括,可以很好地控制在图中包含哪些信息,以及通过视点切换机制关注相关事件的能力。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约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学术文献互助群
群 号:481959085
Book学术官方微信