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).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
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
Leucker, M., Schallhart, C.: A brief account of runtime verification. J. Log. Algebraic Program. 78(5), 293–303 (2009)
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
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
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
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
Pnueli, A.: The temporal logic of programs. In: 18th Annual Symposium on Foundations of Computer Science, pp. 46–57. IEEE (1977)
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
Falcone, Y., Havelund, K., Reger, G.: A tutorial on runtime verification. Eng. Dependable Softw. Syst. 34, 141–175 (2013)
Duan, Z., Yang, X., Koutny, M.: Framed temporal logic programming. Sci. Comput. Program. 70(1), 31–61 (2008)
Zhang, N., Duan, Z., Tian, C.: Model checking concurrent systems with MSVL. Sci. Chin. Inf. Sci. 59(11), 118101 (2016)
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)
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
Duan, Z.: An extended interval temporal logic and a framing technique for temporal logic programming. PhD thesis, University of Newcastle upon Tyne (1996)
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
Duan, Z., Zhang, N., Koutny, M.: A complete proof system for propositional projection temporal logic. Theor. Comput. Sci. 497, 84–107 (2013)
Tian, C., Duan, Z.: Expressiveness of propositional projection temporal logic with star. Theor. Comput. Sci. 412(18), 1729–1744 (2011)
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
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)
Duan, Z.: Temporal Logic and Temporal Logic Programming. Science Press, Berlin (2005)
Duan, Z., Tian, C.: A practical decision procedure for propositional projection temporal logic with infinite models. Theor. Comput. Sci. 554, 169–190 (2014)
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)
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
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)