Skip to main content

Parallel Runtime Verification Approach for Alternate Execution of Multiple Threads

  • Conference paper
  • First Online:
Structured Object-Oriented Formal Language and Method (SOFL+MSVL 2019)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 12028))

Abstract

Since resources are shared by threads created in a multi-threaded program, these threads are not completely independent of each other. The execution of these threads usually needs to satisfy a certain order restriction. In this paper, we employ a multi-core machine based parallel runtime verification approach to efficiently monitor the alternate execution of multiple threads. First, the problem is described in Modeling, Simulation and Verification Language (MSVL). Second, the desired periodically repeated property is specified by a Propositional Projection Temporal Logic (PPTL) formula. Third, the state sequence generated by the execution of the MSVL program is divided into several segments which are verified in parallel. Finally, verification results for different segments are merged. Experimental results show that the alternate execution of multiple threads implemented through invoking Windows Application Programming Interface (API) functions SuspendThread and ResumeThread will lead to these threads out of sequence.

This work is supported by National Key R&D Program of China (2017YFB0802000), National Natural Science Foundation of China (61872229, 61802239), Natural Science Basic Research Plan in Shaanxi Province of China (Program No. 2019JQ-667) and China Postdoctoral Science Foundation (2018M631121).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Tzannes, A., Heumann, S.T., Eloussi, L., Vakilian, M., Adve, V.S., Han, M.: Region and effect inference for safe parallelism. Autom. Softw. Eng. 26(2), 463–509 (2019). https://doi.org/10.1007/s10515-019-00257-3

    Article  Google Scholar 

  2. Leucker, M., Schallhart, C.: A brief account of runtime verification. J. Log. Algebraic Program. 78(5), 293–303 (2009)

    Article  Google Scholar 

  3. Bartocci, E., Falcone, Y., Francalanza, A., Reger, G.: Introduction to runtime verification. In: Bartocci, E., Falcone, Y. (eds.) Lectures on Runtime Verification. LNCS, vol. 10457, pp. 1–33. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-75632-5_1

    Chapter  Google Scholar 

  4. Meredith, P.O., Jin, D., Griffith, D., Chen, F., Roşu, G.: An overview of the mop runtime verification framework. Int. J. Softw. Tools Technol. Transf. 14(3), 249–289 (2012). https://doi.org/10.1007/s10009-011-0198-6

    Article  Google Scholar 

  5. Beaucamps, P., Gnaedig, I., Marion, J.-Y.: Behavior abstraction in malware analysis. In: Barringer, H., et al. (eds.) RV 2010. LNCS, vol. 6418, pp. 168–182. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-16612-9_14

    Chapter  Google Scholar 

  6. Basin, D., Klaedtke, F., Zălinescu, E.: Runtime verification of temporal properties over out-of-order data streams. In: Majumdar, R., Kunčak, V. (eds.) CAV 2017. LNCS, vol. 10426, pp. 356–376. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-63387-9_18

    Chapter  Google Scholar 

  7. Pnueli, A.: The temporal logic of programs. In: 18th Annual Symposium on Foundations of Computer Science, pp. 46–57. IEEE (1977)

    Google Scholar 

  8. Clarke, E.M., Emerson, E.A.: Design and synthesis of synchronization skeletons using branching time temporal logic. In: Kozen, D. (ed.) Logic of Programs 1981. LNCS, vol. 131, pp. 52–71. Springer, Heidelberg (1982). https://doi.org/10.1007/BFb0025774

    Chapter  Google Scholar 

  9. Falcone, Y., Havelund, K., Reger, G.: A tutorial on runtime verification. Eng. Dependable Softw. Syst. 34, 141–175 (2013)

    Google Scholar 

  10. Duan, Z., Yang, X., Koutny, M.: Framed temporal logic programming. Sci. Comput. Program. 70(1), 31–61 (2008)

    Article  MathSciNet  Google Scholar 

  11. Zhang, N., Duan, Z., Tian, C.: Model checking concurrent systems with MSVL. Sci. Chin. Inf. Sci. 59(11), 118101 (2016)

    Article  Google Scholar 

  12. Wang, M., Tian, C., Duan, Z.: Full regular temporal property verification as dynamic program execution. In: Proceedings of the 39th International Conference on Software Engineering Companion, pp. 226–228. IEEE Press (2017)

    Google Scholar 

  13. Duan, Z., Koutny, M.: A framed temporal logic programming language. J. Comput. Sci. Technol. 19(3), 341–351 (2004). https://doi.org/10.1007/BF02944904

    Article  MathSciNet  Google Scholar 

  14. Duan, Z.: An extended interval temporal logic and a framing technique for temporal logic programming. PhD thesis, University of Newcastle upon Tyne (1996)

    Google Scholar 

  15. Tian, C., Duan, Z.: Propositional projection temporal logic, b\(\ddot{u}\)chi automata and \(\omega \)-regular expressions. In: Agrawal, M., Du, D., Duan, Z., Li, A. (eds.) TAMC 2008. LNCS, vol. 4978, pp. 47–58. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-79228-4_4

    Chapter  MATH  Google Scholar 

  16. Duan, Z., Zhang, N., Koutny, M.: A complete proof system for propositional projection temporal logic. Theor. Comput. Sci. 497, 84–107 (2013)

    Article  MathSciNet  Google Scholar 

  17. Tian, C., Duan, Z.: Expressiveness of propositional projection temporal logic with star. Theor. Comput. Sci. 412(18), 1729–1744 (2011)

    Article  MathSciNet  Google Scholar 

  18. Duan, Z., Tian, C., Zhang, L.: A decision procedure for propositional projection temporal logic with infinite models. Acta Informatica 45(1), 43–78 (2008). https://doi.org/10.1007/s00236-007-0062-z

    Article  MathSciNet  MATH  Google Scholar 

  19. Yu, B., Duan, Z., Tian, C., Zhang, N.: Verifying temporal properties of programs: a parallel approach. J. Parallel and Distrib. Comput. 118, 89–99 (2018)

    Article  Google Scholar 

  20. Duan, Z.: Temporal Logic and Temporal Logic Programming. Science Press, Berlin (2005)

    Google Scholar 

  21. Duan, Z., Tian, C.: A practical decision procedure for propositional projection temporal logic with infinite models. Theor. Comput. Sci. 554, 169–190 (2014)

    Article  MathSciNet  Google Scholar 

  22. Duan, Z., Tian, C., Zhang, N.: A canonical form based decision procedure and model checking approach for propositional projection temporal logic. Theor. Comput. Sci. 609, 544–560 (2016)

    Article  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Ming Lei or Yong Yu .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Yu, B., Liu, J., Lei, M., Yu, Y., Chen, H. (2020). Parallel Runtime Verification Approach for Alternate Execution of Multiple Threads. In: Miao, H., Tian, C., Liu, S., Duan, Z. (eds) Structured Object-Oriented Formal Language and Method. SOFL+MSVL 2019. Lecture Notes in Computer Science(), vol 12028. Springer, Cham. https://doi.org/10.1007/978-3-030-41418-4_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-41418-4_8

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-41417-7

  • Online ISBN: 978-3-030-41418-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics