基于虚拟机的occam-pi调试

Carl G. Ritson, Jonathan Simpson
{"title":"基于虚拟机的occam-pi调试","authors":"Carl G. Ritson, Jonathan Simpson","doi":"10.3233/978-1-58603-907-3-293","DOIUrl":null,"url":null,"abstract":"While we strive to create robust language constructs and design patterns which prevent the introduction of faults during software development, an inevitable element of human error still remains. We must therefore endeavor to ease and acceler- ate the process of diagnosing and fixing software faults, commonly known as debug- ging. Current support for debugging occam- programs is fairly limited. At best the developer is presented with a reference to the last known code line executed before their program abnormally terminated. This assumes the program does in fact termi- nate, and does not instead live-lock. In cases where this support is not sufficient, de- velopers must instrument their own tracing support, \"printf style\". An exercise which typically enlightens one as to the true meaning of concurrency... In this paper we ex- plore previous work in the field of debugging occam programs and introduce a new method for run-time monitoring of occam- applications, based on the Transterpreter virtual machine interpreter. By adding a set of extensions to the Transterpreter, we give occam- processes the ability to interact with their execution environment. Use of a virtual machine allows us to expose program execution state which would otherwise require non-portable or specialised hardware support. Using a model which bears sim- ilarities to that applied when debugging embedded systems with a JTAG connection, we describe debugging occam- by mediating the execution of one execution process from another.","PeriodicalId":246267,"journal":{"name":"Communicating Process Architectures Conference","volume":"29 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2008-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":"{\"title\":\"Virtual Machine Based Debugging for occam-pi\",\"authors\":\"Carl G. Ritson, Jonathan Simpson\",\"doi\":\"10.3233/978-1-58603-907-3-293\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"While we strive to create robust language constructs and design patterns which prevent the introduction of faults during software development, an inevitable element of human error still remains. We must therefore endeavor to ease and acceler- ate the process of diagnosing and fixing software faults, commonly known as debug- ging. Current support for debugging occam- programs is fairly limited. At best the developer is presented with a reference to the last known code line executed before their program abnormally terminated. This assumes the program does in fact termi- nate, and does not instead live-lock. In cases where this support is not sufficient, de- velopers must instrument their own tracing support, \\\"printf style\\\". An exercise which typically enlightens one as to the true meaning of concurrency... In this paper we ex- plore previous work in the field of debugging occam programs and introduce a new method for run-time monitoring of occam- applications, based on the Transterpreter virtual machine interpreter. By adding a set of extensions to the Transterpreter, we give occam- processes the ability to interact with their execution environment. Use of a virtual machine allows us to expose program execution state which would otherwise require non-portable or specialised hardware support. Using a model which bears sim- ilarities to that applied when debugging embedded systems with a JTAG connection, we describe debugging occam- by mediating the execution of one execution process from another.\",\"PeriodicalId\":246267,\"journal\":{\"name\":\"Communicating Process Architectures Conference\",\"volume\":\"29 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2008-09-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"2\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Communicating Process Architectures Conference\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.3233/978-1-58603-907-3-293\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Communicating Process Architectures Conference","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.3233/978-1-58603-907-3-293","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2

摘要

虽然我们努力创建健壮的语言结构和设计模式,以防止在软件开发过程中引入错误,但不可避免的人为错误因素仍然存在。因此,我们必须努力简化和加快诊断和修复软件故障的过程,即通常所说的调试。目前对调试occam程序的支持相当有限。在最好的情况下,向开发人员提供了在程序异常终止之前执行的最后一个已知代码行的参考。这假定程序实际上是终止的,而不是live-lock。在这种支持不够的情况下,开发人员必须提供他们自己的跟踪支持,“printf风格”。这是一个典型的练习,可以启发人们了解并发性的真正含义……本文探讨了occam程序调试方面的工作,并介绍了一种基于Transterpreter虚拟机解释器的occam应用程序运行时监控的新方法。通过向Transterpreter添加一组扩展,我们赋予occam-进程与其执行环境交互的能力。使用虚拟机允许我们公开程序执行状态,否则需要不可移植或专用硬件支持。我们使用了一个模型,该模型与使用JTAG连接调试嵌入式系统时所应用的模型非常相似,我们通过中介一个执行进程的执行来描述调试occam。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Virtual Machine Based Debugging for occam-pi
While we strive to create robust language constructs and design patterns which prevent the introduction of faults during software development, an inevitable element of human error still remains. We must therefore endeavor to ease and acceler- ate the process of diagnosing and fixing software faults, commonly known as debug- ging. Current support for debugging occam- programs is fairly limited. At best the developer is presented with a reference to the last known code line executed before their program abnormally terminated. This assumes the program does in fact termi- nate, and does not instead live-lock. In cases where this support is not sufficient, de- velopers must instrument their own tracing support, "printf style". An exercise which typically enlightens one as to the true meaning of concurrency... In this paper we ex- plore previous work in the field of debugging occam programs and introduce a new method for run-time monitoring of occam- applications, based on the Transterpreter virtual machine interpreter. By adding a set of extensions to the Transterpreter, we give occam- processes the ability to interact with their execution environment. Use of a virtual machine allows us to expose program execution state which would otherwise require non-portable or specialised hardware support. Using a model which bears sim- ilarities to that applied when debugging embedded systems with a JTAG connection, we describe debugging occam- by mediating the execution of one execution process from another.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
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学术官方微信