Skip to main content
Kent Academic Repository

Virtual Machine Based Debugging for occam-pi

Ritson, Carl G. and Simpson, Jonathan (2008) Virtual Machine Based Debugging for occam-pi. In: Welch, Peter H. and Stepney, Susan and Polack, Fiona A.C. and Barnes, Frederick R.M. and McEwan, Alistair A. and Stiles, Gardner S. and Broenink, Jan F. and Sampson, Adam T., eds. Communicating Process Architectures 2008. Concurrent Systems Engineering . IOS Press, Amsterdam, Netherlands, pp. 293-307. ISBN 978-1-58603-907-3. E-ISBN 978-1-60750-368-2. (doi:10.3233/978-1-58603-907-3-293) (KAR id:24060)

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 accelerate the process of diagnosing and fixing software faults, commonly known as 'debugging'. Current support for debugging occam-pi 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 terminate, and does not instead live-lock. In cases where this support is not sufficient, developers 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 explore previous work in the field of debugging occam programs and introduce a new method for run-time monitoring of occam-pi applications, based on the Transterpreter virtual machine interpreter. By adding a set of extensions to the Transterpreter, we give occam-pi 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 similarities to that applied when debugging embedded systems with a JTAG connection, we describe debugging occam-pi by mediating the execution of one execution process from another.

Item Type: Book section
DOI/Identification number: 10.3233/978-1-58603-907-3-293
Uncontrolled keywords: concurrency, CSP, debugging, occam-pi, virtual machine
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Divisions: Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
Depositing User: Mark Wheadon
Date Deposited: 29 Mar 2010 12:12 UTC
Last Modified: 16 Nov 2021 10:02 UTC
Resource URI: https://kar.kent.ac.uk/id/eprint/24060 (The current URI for this page, for reference purposes)

University of Kent Author Information

Ritson, Carl G..

Creator's ORCID:
CReDIT Contributor Roles:

Simpson, Jonathan.

Creator's ORCID:
CReDIT Contributor Roles:
  • Depositors only (login required):

Total unique views for this document in KAR since July 2020. For more details click on the image.