On Synchronous and Asynchronous Monitor Instrumentation for Actor-based systems

We study the impact of synchronous and asynchronous monitoring instrumentation on runtime overheads in the context of a runtime verification framework for actor-based systems. We show that, in such a context, asynchronous monitoring incurs substantially lower overhead costs. We also show how, for certain properties that require synchronous monitoring, a hybrid approach can be used that ensures timely violation detections for the important events while, at the same time, incurring lower overhead costs that are closer to those of an asynchronous instrumentation.

[1]  HavelundKlaus,et al.  Event-based runtime verification of java programs , 2005 .

[2]  Adrian Francalanza,et al.  Synthesising Correct Concurrent Runtime Monitors - (Extended Abstract) , 2013, RV.

[3]  Lars-Åke Fredlund,et al.  A unified semantics for future Erlang , 2010, Erlang '10.

[4]  Richard Carlsson,et al.  Erlang and OTP in Action , 2010 .

[5]  Lars-Åke Fredlund,et al.  McErlang: a model checker for a distributed functional programming language , 2007, ICFP '07.

[6]  Carolyn L. Talcott,et al.  A foundation for actor computation , 1997, Journal of Functional Programming.

[7]  Luca Aceto,et al.  Testing Hennessy-Milner Logic with Recursion , 1998, FoSSaCS.

[8]  Gordon J. Pace,et al.  Distributed system contract monitoring , 2011, J. Log. Algebraic Methods Program..

[9]  Yliès Falcone,et al.  What can you verify and enforce at runtime? , 2012, International Journal on Software Tools for Technology Transfer.

[10]  Frank S. de Boer,et al.  Modeling and Verification of Reactive Systems using Rebeca , 2004, Fundam. Informaticae.

[11]  Steve Vinoski Yaws: Yet Another Web Server , 2011, IEEE Internet Comput..

[12]  Adrian Francalanza,et al.  Elarva: A Monitoring Tool for Erlang , 2011, RV.

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

[14]  Koushik Sen,et al.  Efficient decentralized monitoring of safety in distributed systems , 2004, Proceedings. 26th International Conference on Software Engineering.

[15]  Martin Leucker,et al.  jUnitRV-Adding Runtime Verification to jUnit , 2013, NASA Formal Methods.

[16]  Zachary Kessin Building Web Applications with Erlang - Working with REST and Web Sockets on Yaws , 2012 .

[17]  Grigore Rosu,et al.  Mop: an efficient and generic runtime verification framework , 2007, OOPSLA.

[18]  Carolyn L. Talcott,et al.  Comparing three coordination models: Reo, ARC, and PBRD , 2008, Sci. Comput. Program..

[19]  Marcelo d'Amorim,et al.  Event-based runtime verification of java programs , 2005, ACM SIGSOFT Softw. Eng. Notes.

[20]  A. Tarski A LATTICE-THEORETICAL FIXPOINT THEOREM AND ITS APPLICATIONS , 1955 .

[21]  Narciso Martí-Oliet,et al.  All About Maude - A High-Performance Logical Framework, How to Specify, Program and Verify Systems in Rewriting Logic , 2007, All About Maude.

[22]  Gul A. Agha,et al.  RTsynchronizer: language support for real-time specifications in distributed systems , 1995, Workshop on Languages, Compilers, & Tools for Real-Time Systems.

[23]  Martin Leucker,et al.  A brief account of runtime verification , 2009, J. Log. Algebraic Methods Program..

[24]  Bernd Finkbeiner,et al.  LOLA: runtime monitoring of synchronous systems , 2005, 12th International Symposium on Temporal Representation and Reasoning (TIME'05).

[25]  Luca Aceto,et al.  Modelling and Simulation of Asynchronous Real-Time Systems using Timed Rebeca , 2011, FOCLASA.

[26]  Carolyn L. Talcott,et al.  Actor Languages Their Syntax, Semantics, Translation, and Equivalence , 1999, Theor. Comput. Sci..

[27]  Lars-Åke Fredlund,et al.  A framework for reasoning about Erlang code , 2001 .

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

[29]  Gordon J. Pace,et al.  LARVA --- Safer Monitoring of Real-Time Java Programs (Tool Paper) , 2009, 2009 Seventh IEEE International Conference on Software Engineering and Formal Methods.

[30]  Philipp Haller,et al.  Actors in Scala , 2012 .

[31]  Howard Barringer,et al.  Quantified Event Automata: Towards Expressive and Efficient Runtime Monitors , 2012, FM.

[32]  Gordon J. Pace,et al.  polyLarva: Runtime Verification with Configurable Resource-Aware Monitoring Boundaries , 2012, SEFM.

[33]  Gordon J. Pace,et al.  Fast-Forward Runtime Monitoring - An Industrial Case Study , 2012, RV.

[34]  James H. Andrews,et al.  General Test Result Checking with Log File Analysis , 2003, IEEE Trans. Software Eng..

[35]  Grigore Rosu,et al.  Monitoring Java Programs with Java PathExplorer , 2001, RV@CAV.

[36]  Grigore Rosu,et al.  Rewriting-Based Techniques for Runtime Verification , 2005, Automated Software Engineering.