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]  Adrian Francalanza,et al.  Synthesising Correct Concurrent Runtime Monitors - (Extended Abstract) , 2013, RV.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[17]  Howard Bowman,et al.  Formal Methods for Distributed Processing , 2000 .

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

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

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

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

[22]  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.

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

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

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

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

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

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

[29]  Gul Agha,et al.  RTsynchronizer: language support for real-time specifications in distributed systems , 1995 .

[30]  Marcelo d'Amorim,et al.  Event-based runtime verification of java programs , 2005, WODA '05.

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

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

[33]  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.

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

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