DocumentCode :
1314193
Title :
A Comprehensive Solution for Deterministic Replay Debugging of SoftPLC Applications
Author :
Prähofer, Herbert ; Schatz, Roland ; Wirth, Christian ; Mössenböck, Hanspeter
Author_Institution :
Christian Doppler Lab. for Automated Software Eng., Johannes Kepler Univ., Linz, Austria
Volume :
7
Issue :
4
fYear :
2011
Firstpage :
641
Lastpage :
651
Abstract :
Deterministic replay debugging is an approach to finding bugs in deployed software. It records an application run in the field so that it can deterministically be replayed offline in a development system for debugging purposes. To enable deterministic replay debugging, it is necessary to record all external influences and sources of nondeterminism in the original program run. From that trace log and from a known initial state, the program can be replayed deterministically without requiring any connection to the original environment. In this paper, we present a solution for deterministic replay debugging of hard real-time multitasking SoftPLC applications written in the IEC 61131-3 languages. By taking advantage of the special properties of these programs and by careful engineering, our technique allows recording a SoftPLC application run in the field with minimal overhead and obeying real-time constraints. In later phases, which are offline, the original program run is reconstructed from the minimal information recorded so it can be replayed for debugging. In comparison to previous work, our solution has several advantages: Instead of recording task scheduling information, it reconstructs the task interleaving based on data dependencies, thereby significantly simplifying the recording phase. Additionally, it incorporates a technique for periodically capturing the complete internal state of the system, which can later be used as a starting point for replay. We present the conceptual basis of our approach, a tool chain which provides deterministic replay debugging to the user as a set of fully automated tools, and an evaluation as well as an industrial case study for validating the approach.
Keywords :
IEC standards; control engineering computing; high level languages; multiprogramming; program debugging; programmable controllers; real-time systems; IEC 61131-3 language; SoftPLC application; data dependency; deterministic replay debugging; real-time multitasking; task interleaving reconstruction; Debugging; Real time systems; Software debugging; PLC applications; Software tracing; real-time debugging;
fLanguage :
English
Journal_Title :
Industrial Informatics, IEEE Transactions on
Publisher :
ieee
ISSN :
1551-3203
Type :
jour
DOI :
10.1109/TII.2011.2166768
Filename :
6009197
Link To Document :
بازگشت