skip to main content
10.1145/1868321.1868324acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Detection of high-level execution patterns in reactive behavior of control programs

Published:12 July 2010Publication History

ABSTRACT

This paper presents an approach to extract high-level patterns from traces of programmable logic control (PLC) programs recorded with a deterministic replay debugging tool. Our deterministic replay debugging works by recording an application run in real-time with minimal overhead so that it can be reproduced afterwards. In a subsequent phase, the application is replayed in offline mode to produce a more detailed trace log with additional information about the application run. A software developer can replay the program in a debugger and use debugger features to analyze the program run and locate errors. However, due to the vast amount of data and the complex behavior of reactive control programs, a normal debugger is usually only a poor support in comprehending the program behavior. In this paper we present an approach to analyze recorded program runs of PLC applications. We present a technology to visualize the reactive behavior of a program run and find recurring high-level execution patterns in long-running applications. We give an overview of possible application scenarios to support program comprehension, testing, and debugging.

References

  1. }}IEC, IEC 61331-3, Programmable controllers - Part 3: Programming languages. http://www.iec.ch/, 2003.Google ScholarGoogle Scholar
  2. }}Prähofer, H., Schatz, R., Wirth, C., and Mössenböck, H.: Deterministic Replay Debugging of IEC 61131--3 PLC Programs. 8th IEEE International Conference on Industrial Informatics, July 13--16, 2010, Osaka, Japan (accepted).Google ScholarGoogle Scholar
  3. }}Thane, H., Sundmark, D., Huselius, J., and Pettersson, A. 2003. Replay Debugging of Real-Time Systems Using Time Machines. In Proceedings of the 17th international Symposium on Parallel and Distributed Processing (April 22--26, 2003). IEEE Computer Society, 288.2. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. }}Orso, A. and Kennedy, B. 2005. Selective capture and replay of program executions. SIGSOFT Softw. Eng. Notes 30, 4 (Jul. 2005), 1--7. DOI= http://doi.acm.org/10.1145/1082983.1083251. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. }}Damerau, F. J. 1964. A technique for computer detection and correction of spelling errors. Commun. ACM 7, 3 (Mar. 1964), 171--176. DOI= http://doi.acm.org/10.1145/363958.363994 Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. }}Craig G. Nevill-Manning and Ian H. Witten. 1997. Identifying Hierarchical Structure in Sequences: A lineartime algorithm, Journal of Artificial Intelligence Research 7 (1997), pp. 67--82. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. }}Lang, K. J., Pearlmutter, B. A., and Price, R. A. 1998. Results of the Abbadingo One DFA Learning Competition and a New Evidence-Driven State Merging Algorithm. 4th international Colloquium on Grammatical inference (July 12--14, 1998). Lecture Notes In Computer Science, vol. 1433. Springer-Verlag, London, 1--12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. }}Dupont, P., Lambeau, B., Damas, C., and van Lamsweerde, A. 2008. The QSM Algorithm and its Application to Software Behavior Model Induction. Appl. Artif. Intell. 22, 1--2 (Jan. 2008), 77--115. DOI= http://dx.doi.org/10.1080/08839510701853200 Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. }}De Pauw, W., Krasikov, S., and Morar, J. F. 2006. Execution patterns for visualizing web services. In Proceedings of the 2006 ACM Symposium on Software Visualization (Brighton, United Kingdom, September 04--05, 2006). SoftVis '06. ACM, New York, NY, 37--45. DOI= http://doi.acm.org/10.1145/1148493.1148499M Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. }}Walkinshaw, N., Bogdanov, K., Holcombe, M., and Salahuddin, S. 2007. Reverse Engineering State Machines by Interactive Grammar Inference. In Proceedings of the 14th Working Conference on Reverse Engineering (October 28--31, 2007). WCRE. IEEE Computer Society, Washington, DC, 209--218. DOI= http://dx.doi.org/10.1109/WCRE.2007.45 Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. }}Reiss, S. P. and Renieris, M. 2001. Encoding program executions. In Proceedings of the 23rd international Conference on Software Engineering (Toronto, Ontario, Canada, May 12--19, 2001). International Conference on Software Engineering. IEEE Computer Society, Washington, DC, 221--230. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. }}I. Zayour and T. C. Lethbridge, "A Cognitive and User Centric Based Approach For Reverse Engineering Tool Design", CASCON, 2000 Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. }}Jerding, D. F., Stasko, J. T., and Ball, T. 1997. Visualizing interactions in program executions. In Proceedings of the 19th international Conference on Software Engineering (Boston, Massachusetts, United States, May 17--23, 1997). ICSE '97. ACM, New York, NY, 360--370. DOI= http://doi.acm.org/10.1145/253228.253356 Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. }}Abdelwahab Hamou-Lhadj and Timothy C. Lethbridge: An Effcient Algorithm for Detecting Patterns in Traces of Procedure Calls. ICSE Workshop on Dynamic Analysis, ICSE'03, Portland, Oregon, May 3--11, 2003.Google ScholarGoogle Scholar

Index Terms

  1. Detection of high-level execution patterns in reactive behavior of control programs

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        WODA '10: Proceedings of the Eighth International Workshop on Dynamic Analysis
        July 2010
        43 pages
        ISBN:9781450301374
        DOI:10.1145/1868321

        Copyright © 2010 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 12 July 2010

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Upcoming Conference

        ICSE 2025

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader