Challenges in High-Assurance Runtime Verification

Safety-critical systems are growing more complex and becoming increasingly autonomous. Runtime Verification (RV) has the potential to provide protections when a system cannot be assured by conventional means, but only if the RV itself can be trusted. In this paper, we present a number of challenges to realizing high-assurance RV and illustrate how we have addressed them in our research. We argue that high-assurance RV provides a rich target for automated verification tools in hope of fostering closer collaboration among the communities.

[1]  César Muñoz,et al.  State-Based Implicit Coordination and Applications , 2011 .

[2]  Koen Claessen,et al.  QuickCheck: a lightweight tool for random testing of Haskell programs , 2000, ICFP.

[3]  Lee Pike,et al.  Experience report: a do-it-yourself high-assurance compiler , 2012, ICFP.

[4]  Alwyn E. Goodloe,et al.  Monitoring Distributed Real-Time Systems: A Survey and Future Directions , 2010 .

[5]  Sebastian Fischmeister,et al.  Sampling-Based Runtime Verification , 2011, FM.

[6]  Sebastian Fischmeister,et al.  Sampling-based program execution monitoring , 2010, LCTES '10.

[7]  Alwyn E. Goodloe,et al.  Copilot: A Hard Real-Time Runtime Monitor , 2010, RV.

[8]  Aaron Kane,et al.  Runtime Monitoring for Safety-Critical Embedded Systems , 2015 .

[9]  Grigore Rosu,et al.  Java-MOP: A Monitoring Oriented Programming Environment for Java , 2005, TACAS.

[10]  Jonathan Laurent,et al.  Assuring the Guardians , 2015, RV.

[11]  Kaveh Darafsheh Runtime monitoring on hard real-time operating systems , 2015 .

[12]  Lui Sha,et al.  Real-Time Reachability for Verified Simplex Design , 2014, 2014 IEEE Real-Time Systems Symposium.

[13]  John C. Knight,et al.  Safety critical systems: challenges and directions , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.

[14]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[15]  Xavier Leroy,et al.  Formal verification of a realistic compiler , 2009, CACM.

[16]  John M. Rushby,et al.  Runtime Certification , 2008, RV.

[17]  Mahesh Viswanathan,et al.  Java-MaC: a Run-time Assurance Tool for Java Programs , 2001, RV@CAV.

[18]  Lui Sha,et al.  Using Simplicity to Control Complexity , 2001, IEEE Softw..

[19]  J. Filliâtre,et al.  ACSL: ANSI/ISO C Specification Language , 2008 .

[20]  John Rushby,et al.  A Safety-Case Approach For Certifying Adaptive Systems , 2009 .

[21]  Alwyn E. Goodloe,et al.  Copilot: monitoring embedded systems , 2013, Innovations in Systems and Software Engineering.

[22]  Nicolas Halbwachs,et al.  Synchronous Observers and the Verification of Reactive Systems , 1993, AMAST.

[23]  Ricky W. Butler A Primer on Architectural Level Fault Tolerance , 2008 .

[24]  Grigore Rosu,et al.  Efficient monitoring of safety properties , 2004, International Journal on Software Tools for Technology Transfer.

[25]  Mahesh Viswanathan,et al.  Java-MaC: A Run-Time Assurance Approach for Java Programs , 2004, Formal Methods Syst. Des..

[26]  Michael R. Elliott,et al.  Object-oriented software considerations in airborne systems and equipment certification , 2010, SPLASH/OOPSLA Companion.

[27]  Robert A. Vivona,et al.  Experimental Performance of a Genetic Algorithm for Airborne Strategic Conflict Resolution , 2008 .