Adaptive Runtime Verification

  • Ezio Bartocci
  • Radu Grosu
  • Atul Karmarkar
  • Scott A. Smolka
  • Scott D. Stoller
  • Erez Zadok
  • Justin Seyster
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7687)

Abstract

We present Adaptive Runtime Verification (ARV), a new approach to runtime verification in which overhead control, runtime verification with state estimation, and predictive analysis are synergistically combined. Overhead control maintains the overhead of runtime verification at a specified target level, by enabling and disabling monitoring of events for each monitor instance as needed. In ARV, predictive analysis based on a probabilistic model of the monitored system is used to estimate how likely each monitor instance is to violate a given temporal property in the near future, and these criticality levels are fed to the overhead controllers, which allocate a larger fraction of the target overhead to monitor instances with higher criticality, thereby increasing the probability of violation detection. Since overhead control causes the monitor to miss events, we use Runtime Verification with State Estimation (RVSE) to estimate the probability that a property is satisfied by an incompletely monitored run. A key aspect of the ARV framework is a new algorithm for RVSE that performs the calculations in advance, dramatically reducing the runtime overhead of RVSE, at the cost of introducing some approximation error. We demonstrate the utility of ARV on a significant case study involving runtime monitoring of concurrency errors in the Linux kernel.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Baum, L.E., Petrie, T., Soules, G., Weiss, N.: A maximization technique occurring in the statistical analysis of probabilistic functions of Markov chains. The Annals of Mathematical Statistics 41(1), 164–171 (1970)MathSciNetMATHCrossRefGoogle Scholar
  2. 2.
    Denaro, G., Mariani, L., Pezze, M., Tosi, D.: Adaptive runtime verification for autonomic communication infrastructures. In: Proc. of the International Symposium on A World of Wireless, Mobile and Multimedia Networks (WoWMoM), vol. 2, pp. 553–557. IEEE Computer Society (2005)Google Scholar
  3. 3.
    Gondi, K., Patel, Y., Sistla, A.P.: Monitoring the Full Range of ω-Regular Properties of Stochastic Systems. In: Jones, N.D., Müller-Olm, M. (eds.) VMCAI 2009. LNCS, vol. 5403, pp. 105–119. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  4. 4.
    Gordon, N., Salmond, D., Smith, A.: Novel approach to nonlinear/non-Gaussian Bayesian state estimation. In: IEEE Proceedings on Radar and Signal Processing, vol. 140, pp. 107–127. IEEE (1993)Google Scholar
  5. 5.
    Huang, X., Seyster, J., Callanan, S., Dixit, K., Grosu, R., Smolka, S.A., Stoller, S.D., Zadok, E.: Software monitoring with controllable overhead. International Journal on Software Tools for Technology Transfer (STTT) 14(3), 327–347 (2012)Google Scholar
  6. 6.
    Kwiatkowska, M., Norman, G., Parker, D.: Stochastic Model Checking. In: Bernardo, M., Hillston, J. (eds.) SFM 2007. LNCS, vol. 4486, pp. 220–270. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  7. 7.
    Rabiner, L.R.: A tutorial on hidden Markov models and selected applications in speech recognition. Proceedings of the IEEE 77(2), 257–286 (1989)CrossRefGoogle Scholar
  8. 8.
    Seyster, J., Dixit, K., Huang, X., Grosu, R., Havelund, K., Smolka, S.A., Stoller, S.D., Zadok, E.: InterAspect: Aspect-oriented instrumentation with GCC. Formal Methods in System Design (2012), accepted on condition of minor revisions Google Scholar
  9. 9.
    Sistla, A.P., Srinivas, A.R.: Monitoring Temporal Properties of Stochastic Systems. In: Logozzo, F., Peled, D.A., Zuck, L.D. (eds.) VMCAI 2008. LNCS, vol. 4905, pp. 294–308. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  10. 10.
    Sistla, A.P., Žefran, M., Feng, Y.: Monitorability of Stochastic Dynamical Systems. In: Gopalakrishnan, G., Qadeer, S. (eds.) CAV 2011. LNCS, vol. 6806, pp. 720–736. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  11. 11.
    Stoller, S.D., Bartocci, E., Seyster, J., Grosu, R., Havelund, K., Smolka, S.A., Zadok, E.: Runtime Verification with State Estimation. In: Khurshid, S., Sen, K. (eds.) RV 2011. LNCS, vol. 7186, pp. 193–207. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  12. 12.
    Modak, S.: Linux Test Project (LTP) (2009), http://ltp.sourceforge.net/

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Ezio Bartocci
    • 2
  • Radu Grosu
    • 2
  • Atul Karmarkar
    • 1
  • Scott A. Smolka
    • 1
  • Scott D. Stoller
    • 1
  • Erez Zadok
    • 1
  • Justin Seyster
    • 1
  1. 1.Department of Computer ScienceStony Brook UniversityUSA
  2. 2.Department of Computer EngineeringVienna University of TechnologyAustria

Personalised recommendations