Description
In dynamic runtime environments, like ooRexx applications, guard-locked multi-threaded applications may be deadlocked for many reasons. Breaking deadlocked code may yield the location of a deadlocked instruction but may not allow for identifying other deadlocked threads such that the causes may be difficult or even impossible to locate. With the introduction of collectible TraceObject instances in ooRexx 5.1, a new infrastructure becomes available that can be put to work for identifying guard lock-related deadlocks on any number of threads. This article introduces the principles for creating TraceObject trace logs that can be externalized (e.g., encoded as JSON or XML text files) and internalized later as the originally ordered collection of trace objects for analyzing and processing purposes. The ooRexx guard lock-based multi-threading rules can then be used to develop an algorithm to identify all deadlocked program instructions "post immobilization," analyzing the TraceObject trace logs and supplying information about the affected objects and threads.Period | 19 Sept 2024 |
---|---|
Event title | ISSTA 2024: International Symposium on Software Testing and Analysis, VORTEX '24: VORTEX '24: 7th ACM International Workshop on Verification and Monitoring at Runtime Execution |
Event type | Conference |
Location | Wien, AustriaShow on map |
Degree of Recognition | International |
Keywords
- Runtime Verification
- Multi-threaded
- ooRexx
- TraceObject
- Trace Log
- Deadlock
- Guard Lock
Documents & Links
Related content
-
Publications
-
Identifying Potential Deadlocked Instructions in a Multi-threaded ooRexx Program
Publication: Chapter in book/Conference proceeding › Contribution to conference proceedings
-
Multithreading in ooRexx: Concepts, Nutshell Examples
Publication: Chapter in book/Conference proceeding › Contribution to conference proceedings
-
Debugging Multithreaded ooRexx Programs
Publication: Chapter in book/Conference proceeding › Contribution to conference proceedings
-
Projects
-
ooRexx (open object Rexx)
Project: Other non-commercial research