Skip to main content
Top
Published in: Formal Methods in System Design 3/2015

01-06-2015

Runtime verification with minimal intrusion through parallelism

Authors: Shay Berkovich, Borzoo Bonakdarpour, Sebastian Fischmeister

Published in: Formal Methods in System Design | Issue 3/2015

Log in

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

Runtime verification is a monitoring technique to gain assurance about well-being of a program at run time. Most existing approaches use sequential monitors; i.e., when the state of the program with respect to an event of interest changes, the monitor interrupts the program execution, evaluates a set of logical properties, and finally resumes the program execution. In this paper, we propose a GPU-based method for design and implementation of monitors that enjoy two levels of parallelism: the monitor (1) works along with the program in parallel, and (2) evaluates a set of properties in a parallel fashion as well. Our parallel monitoring algorithms effectively exploit the many-core platform available in the GPU. In addition to parallel processing, our approach benefits from a true separation of monitoring and functional concerns, as it isolates the monitor in the GPU. Thus, our monitoring approach incurs minimal intrusion, as executing monitoring tasks take place in a different computing hardware from execution of the program under inspection. Our method is fully implemented for parametric and non-parametric 3-valued linear temporal logic. Our experimental results show significant reduction in monitoring overhead, monitoring interference, and power consumption due to leveraging the GPU technology. In particular, we observe that our parallel verification algorithms are indeed scalable.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Footnotes
2
In practice, we implement the algorithm iteratively by splitting the program trace into the chunks and feeding them one-by-one to the algorithm. In this case, the output of the current iteration \(\lambda (q_{ result })\) together with tuple \(\mathcal {I}\) becomes the input for the next algorithm iteration. However, for the sake of simplicity, in the formal description we abstract the notion of the chunk and treat the whole program trace as one input.
 
4
 
Literature
1.
go back to reference Barre B, Klein M, Soucy-Boivin M, Ollivier PA, Hallé S (2012) MapReduce for parallel trace validation of LTL properties. In: Proceedings of the 3rd international conference on runtime verification (RV), pp 184–198 Barre B, Klein M, Soucy-Boivin M, Ollivier PA, Hallé S (2012) MapReduce for parallel trace validation of LTL properties. In: Proceedings of the 3rd international conference on runtime verification (RV), pp 184–198
2.
go back to reference Basin DA, Caronni G, Ereth S, Harvan M, Klaedtke F, Mantel H (2014) Scalable offline monitoring. In: Proceedings of the 14th international conference on runtime verification (RV), pp 31–47 Basin DA, Caronni G, Ereth S, Harvan M, Klaedtke F, Mantel H (2014) Scalable offline monitoring. In: Proceedings of the 14th international conference on runtime verification (RV), pp 31–47
3.
go back to reference Bauer A, Leucker M, Schallhart C (2011) Runtime verification for LTL and TLTL. ACM Trans Softw Eng Methodol (TOSEM) 20(4):14:1–14:64CrossRef Bauer A, Leucker M, Schallhart C (2011) Runtime verification for LTL and TLTL. ACM Trans Softw Eng Methodol (TOSEM) 20(4):14:1–14:64CrossRef
4.
go back to reference Bodden E (2005) J-lo-a tool for runtime-checking temporal assertions. Master’s thesis, RWTH Aachen university Bodden E (2005) J-lo-a tool for runtime-checking temporal assertions. Master’s thesis, RWTH Aachen university
5.
go back to reference Bodden E (2010) Efficient hybrid typestate analysis by determining continuation-equivalent states. In: International conference on software engineering (ICSE), pp 5–14 Bodden E (2010) Efficient hybrid typestate analysis by determining continuation-equivalent states. In: International conference on software engineering (ICSE), pp 5–14
6.
go back to reference Bodden E, Lam P, Laurie L (2010) Clara: a framework for partially evaluating finite-state runtime monitors ahead of time. In: Rosu G, Sokolsky O (eds) Runtime verification (RV), pp 183–197 Bodden E, Lam P, Laurie L (2010) Clara: a framework for partially evaluating finite-state runtime monitors ahead of time. In: Rosu G, Sokolsky O (eds) Runtime verification (RV), pp 183–197
7.
go back to reference Bonakdarpour B, Smolka S (eds) (2014) Proceedings of the 14th international conference on runtime verification (RV) Bonakdarpour B, Smolka S (eds) (2014) Proceedings of the 14th international conference on runtime verification (RV)
8.
go back to reference Bonakdarpour B, Navabpour S, Fischmeister S (2011) Sampling-based runtime verification. In: Butler M, Schulte W (eds) Formal methods (FM), pp 88–102 Bonakdarpour B, Navabpour S, Fischmeister S (2011) Sampling-based runtime verification. In: Butler M, Schulte W (eds) Formal methods (FM), pp 88–102
9.
go back to reference Bonakdarpour B, Navabpour S, Fischmeister S (2013) Time-triggered runtime verification. Form Methods Syst Des (FMSD) 43(1):29–60MATHCrossRef Bonakdarpour B, Navabpour S, Fischmeister S (2013) Time-triggered runtime verification. Form Methods Syst Des (FMSD) 43(1):29–60MATHCrossRef
10.
go back to reference Chen F, Roşu G (2005) Java-MOP: a monitoring oriented programming environment for java. In: Tools and Algorithms for the construction and analysis of systems (TACAS), pp 546–550 Chen F, Roşu G (2005) Java-MOP: a monitoring oriented programming environment for java. In: Tools and Algorithms for the construction and analysis of systems (TACAS), pp 546–550
11.
go back to reference Colin S, Mariani L (2005) Run-time verification. Springer, New York (LNCS 3472, chap 18) Colin S, Mariani L (2005) Run-time verification. Springer, New York (LNCS 3472, chap 18)
12.
go back to reference Dwyer MB, Avrunin GS, Corbett JC (1999) Patterns in property specifications for finite-state verification. In: International conference on software engineering (ICSE), pp 411–420 Dwyer MB, Avrunin GS, Corbett JC (1999) Patterns in property specifications for finite-state verification. In: International conference on software engineering (ICSE), pp 411–420
13.
go back to reference Elmas T, Okur S, Tasiran S (2011) Rethinking runtime verification on hundreds of cores: challenges and opportunities. Tech. Rep. UCB/EECS-2011-74. EECS Department, University of California, Berkeley Elmas T, Okur S, Tasiran S (2011) Rethinking runtime verification on hundreds of cores: challenges and opportunities. Tech. Rep. UCB/EECS-2011-74. EECS Department, University of California, Berkeley
14.
go back to reference Geist J, Rozier KY, Schumann J (2014) Runtime observer pairs and bayesian network reasoners on-board fpgas: flight-certifiable system health management for embedded systems. In: Proceedings of the 14th international conference on runtime verification (RV), pp 215–230 Geist J, Rozier KY, Schumann J (2014) Runtime observer pairs and bayesian network reasoners on-board fpgas: flight-certifiable system health management for embedded systems. In: Proceedings of the 14th international conference on runtime verification (RV), pp 215–230
15.
go back to reference Giannakopoulou D, Havelund K (2001) Automata-based verification of temporal properties on running programs. In: Automated software engineering (ASE), pp 412–416 Giannakopoulou D, Havelund K (2001) Automata-based verification of temporal properties on running programs. In: Automated software engineering (ASE), pp 412–416
16.
go back to reference Ha J, Arnold M, Blackburn SM, McKinley KS (2009) A concurrent dynamic analysis framework for multicore hardware. In: Object-oriented programming, systems, languages, and applications (OOPSLA), pp 155–174 Ha J, Arnold M, Blackburn SM, McKinley KS (2009) A concurrent dynamic analysis framework for multicore hardware. In: Object-oriented programming, systems, languages, and applications (OOPSLA), pp 155–174
17.
go back to reference Holub J, Stekr S (2009) On parallel implementations of deterministic finite automata. In: Implementation and application of automata (CIAA), pp 54–64 Holub J, Stekr S (2009) On parallel implementations of deterministic finite automata. In: Implementation and application of automata (CIAA), pp 54–64
18.
go back to reference Huang X, Seyster J, Callanan S, Dixit K, Grosu R, Smolka SA, Stoller SD, Zadok E (2012) Software monitoring with controllable overhead. Softw Tools Technol Transf (STTT) 14(3):327–347CrossRef Huang X, Seyster J, Callanan S, Dixit K, Grosu R, Smolka SA, Stoller SD, Zadok E (2012) Software monitoring with controllable overhead. Softw Tools Technol Transf (STTT) 14(3):327–347CrossRef
19.
go back to reference Jin D (2012) Making runtime monitoring of parametric properties practical. PhD thesis, University of Illinois Jin D (2012) Making runtime monitoring of parametric properties practical. PhD thesis, University of Illinois
20.
go back to reference Kupferman O, Vardi MY (1999) Model checking of safety properties. In: Computer aided verification (CAV), pp 172–183 Kupferman O, Vardi MY (1999) Model checking of safety properties. In: Computer aided verification (CAV), pp 172–183
21.
go back to reference Legay A, Bensalem S (eds) (2013) Proceedings of the fourth international conference on runtime verification (RV) Legay A, Bensalem S (eds) (2013) Proceedings of the fourth international conference on runtime verification (RV)
22.
go back to reference Luo Q, Zhang Y, Lee C, Jin D, Meredith PN, erb nu T, Ro u G (2014) Rv-monitor: efficient parametric runtime verification with simultaneous properties. In: Bonakdarpour B, Smolka S (eds) Runtime verification, Lecture notes in computer science, vol 8734, Springer International Publishing, pp 285–300, doi:10.1007/978-3-319-11164-3_24 Luo Q, Zhang Y, Lee C, Jin D, Meredith PN, erb nu T, Ro u G (2014) Rv-monitor: efficient parametric runtime verification with simultaneous properties. In: Bonakdarpour B, Smolka S (eds) Runtime verification, Lecture notes in computer science, vol 8734, Springer International Publishing, pp 285–300, doi:10.​1007/​978-3-319-11164-3_​24
23.
go back to reference Meredith P, Jin D, Chen F, Roşu G (2010) Efficient monitoring of parametric context-free patterns. J Autom Softw Eng 17(2):149–180CrossRef Meredith P, Jin D, Chen F, Roşu G (2010) Efficient monitoring of parametric context-free patterns. J Autom Softw Eng 17(2):149–180CrossRef
24.
go back to reference Navabpour S, Joshi Y, Wu CWW, Berkovich S, Medhat R, Bonakdarpour B, Fischmeister S (2013) RiTHM: a tool for enabling time-triggered runtime verification for c programs. In: ACM international conference on foundations of software engineering (FSE), pp 603–606 Navabpour S, Joshi Y, Wu CWW, Berkovich S, Medhat R, Bonakdarpour B, Fischmeister S (2013) RiTHM: a tool for enabling time-triggered runtime verification for c programs. In: ACM international conference on foundations of software engineering (FSE), pp 603–606
25.
go back to reference Pellizzoni R, Meredith P, Caccamo M, Rosu G (2008) Hardware runtime monitoring for dependable COTS-based real-time embedded systems. In: Real-time systems symposium, pp 481–491 Pellizzoni R, Meredith P, Caccamo M, Rosu G (2008) Hardware runtime monitoring for dependable COTS-based real-time embedded systems. In: Real-time systems symposium, pp 481–491
26.
go back to reference Pnueli A, Zaks A (2006) PSL model checking and run-time verification via testers. In: Symposium on formal methods (FM), pp 573–586 Pnueli A, Zaks A (2006) PSL model checking and run-time verification via testers. In: Symposium on formal methods (FM), pp 573–586
27.
go back to reference RTCA DO-178B (1992) Software considerations in airborne systems and equipment certification. Radio Technical Commission for Aeronautics (RTCA) RTCA DO-178B (1992) Software considerations in airborne systems and equipment certification. Radio Technical Commission for Aeronautics (RTCA)
28.
go back to reference Seyster J, Dixit K, Huang X, Grosu R, Havelund K, Smolka SA, Stoller SD, Zadok E (2010) Aspect-oriented instrumentation with GCC. In: Rosu G, Sokolsky O (eds) Runtime verification (RV), pp 405–420 Seyster J, Dixit K, Huang X, Grosu R, Havelund K, Smolka SA, Stoller SD, Zadok E (2010) Aspect-oriented instrumentation with GCC. In: Rosu G, Sokolsky O (eds) Runtime verification (RV), pp 405–420
29.
go back to reference Zhu H, Dwyer MB, Goddard S (2009) Predictable runtime monitoring. In: Euromicro conference on real-time systems (ECRTS), pp 173–183 Zhu H, Dwyer MB, Goddard S (2009) Predictable runtime monitoring. In: Euromicro conference on real-time systems (ECRTS), pp 173–183
30.
go back to reference Zilles CB, Sohi GS (2001) A programmable co-processor for profiling. In: High performance computer architecture (HPCA), pp 241–253 Zilles CB, Sohi GS (2001) A programmable co-processor for profiling. In: High performance computer architecture (HPCA), pp 241–253
Metadata
Title
Runtime verification with minimal intrusion through parallelism
Authors
Shay Berkovich
Borzoo Bonakdarpour
Sebastian Fischmeister
Publication date
01-06-2015
Publisher
Springer US
Published in
Formal Methods in System Design / Issue 3/2015
Print ISSN: 0925-9856
Electronic ISSN: 1572-8102
DOI
https://doi.org/10.1007/s10703-015-0226-3

Other articles of this Issue 3/2015

Formal Methods in System Design 3/2015 Go to the issue

Premium Partner