• 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