Abstract
In this paper, we propose a symbolic framework to analyze and debug communicating distributed models. We implement dedicated symbolic execution techniques for such models and use them to compute interaction scenarios satisfying a particular user coverage objective. These scenarios reveal emergent temporal and data correlations that are part of the system specification. To support the understanding and the analysis of such learned knowledge, our tooling allows for an intuitive annotated scenario visualization using sequence diagrams. As an application, we develop behavioral models for the so-called distributed Trickle algorithm which manages information dissemination in Wireless Sensor Networks (WSN). We select relevant scenarios which cover critical communications achieving an up-to-date or outdated state of the network.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Variables in \(A_{time}\) are not of the same nature of those in K as they are only used to store terms of type time, while clocks are used to measure time passing.
- 2.
Any clock of a given node, here cl, evolves only if a transition of that node is executed: the clock is then implicitly incremented by a fresh duration.
References
Griesmayer, A., Aichernig, B., Johnsen, E.B., Schlatte, R.: Dynamic symbolic execution for testing distributed objects. In: Dubois, C. (ed.) TAP 2009. LNCS, vol. 5668, pp. 105–120. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02949-3_9
Alur, R., Dill, D.: A theory of timed automata. J. Theor. Comput. Sci. 126(2), 183–235 (1994)
Bannour, B., Escobedo, J.P., Gaston, C., Le Gall, P.: Off-Line test case generation for timed symbolic model-based conformance testing. In: Nielsen, B., Weise, C. (eds.) ICTSS 2012. LNCS, vol. 7641, pp. 119–135. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-34691-0_10
Bannour, B., Lapitre, A., Le Gall, P.: Exploring IoT trickle-based dissemination using timed model-checking and symbolic execution. In: Georgiou, C., Majumdar, R. (eds.) NETYS 2020. LNCS, vol. 12129, pp. 94–111. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-67087-0_7
Cadar, C., Dunbar, D., Engler, R., Klee, D.: unassisted and automatic generation of high-coverage tests for complex systems programs. In: USENIX (2008)
Gaston, C., Le Gall, P., Rapin, N., Touil, A.: Symbolic execution techniques for test purpose definition. In: Uyar, M.Ü., Duale, A.Y., Fecko, M.A. (eds.) TestCom 2006. LNCS, vol. 3964, pp. 1–18. Springer, Heidelberg (2006). https://doi.org/10.1007/11754008_1
Dong, J.S., Sun, J., Sun, J., Taguchi, K., Zhang, X.: Specifying and verifying sensor networks: an experiment of formal methods. In: Liu, S., Maibaum, T., Araki, K. (eds.) ICFEM 2008. LNCS, vol. 5256, pp. 318–337. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-88194-0_20
Dunkels, A., Gronvall, B., Voigt, T.: Contiki - a lightweight and flexible operating system for tiny networked sensors. In: LCN. IEEE (2004)
Hui, J., Kelsey, R.: Multicast protocol for low-power and lossy networks, request for comments: 7731. Technical report, Silicon Labs, February 2016
King, J.C.: Symbolic execution and program testing. Commun. ACM 19, 360248 (1976)
Sen, K., Agha, G.: CUTE and jCUTE: concolic unit testing and explicit path model-checking tools. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 419–423. Springer, Heidelberg (2006). https://doi.org/10.1007/11817963_38
Frantzen, L., Tretmans, J., Willemse, T.A.C.: A symbolic framework for model-based testing. In: Havelund, K., Núñez, M., Roşu, G., Wolff, B. (eds.) FATES/RV -2006. LNCS, vol. 4262, pp. 40–54. Springer, Heidelberg (2006). https://doi.org/10.1007/11940197_3
Levis, P., et al.: The emergence of a networking primitive in wireless sensor networks. Commun. ACM 51(7), 99–106 (2008)
Levis, P., Clausen, T., Hui, J., Gnawali, O., Ko, J.: The trickle algorithm, request for comments: 6206. Technical report, Internet Engineering Task Force (IETF), March 2011
Levis, P., et al.: TinyOS: an operating system for sensor networks. In: Weber, W., Rabaey, J.M., Aarts, E. (eds.) Ambient Intelligence. Springer, Heidelberg (2005). https://doi.org/10.1007/3-540-27139-2_7
Levis, P., Patel, N., Culler, D., Shenker, S.: Trickle: a self-regulating algorithm for code propagation and maintenance in wireless sensor networks. In: NSDI. USENIX Association (2004)
Arnaud, M., Bannour, B., Lapitre, A.: An illustrative use case of the DIVERSITY platform based on UML interaction scenarios. Electr. Notes Theor. Comput. Sci. 320, 21 (2016)
Shafiei, N., Mehlitz, P.C.: Extending JPF to verify distributed systems. ACM SIGSOFT Softw. Eng. Notes 39(1), 1–5 (2014)
Nguyen, N.M.T., Bannour, B., Lapitre, A., Le Gall, P.: Behavioral models and scenario selection for testing IoT trickle-based lossy multicast networks. In ICST Workshops. IEEE (2019)
Dustmann, S.O., Sasnauskas, R., Wehrle K.: Symbolic system time in distributed systems testing. In: ICST. IEEE (2012)
Pasareanu, C.S., Rungta, N.: Symbolic pathfinder: symbolic execution of java bytecode. In: ASE. ACM (2010)
Sasnauskas, R.S., Dustmann, O., Kaminski, B.L., Wehrle, K., Weise, C., Kowalewski, S.: Scalable symbolic execution of distributed systems. In: ICDCS. IEEE (2011)
Sasnauskas, R., Kaiser, P., Jukic, R.L., Wehrle, K.: Integration testing of protocol implementations using symbolic distributed execution. In: ICNP. IEEE (2012)
Robinson-Mallett, C., Hierons, R.M., Liggesmeyer, P.: Achieving communication coverage in testing. ACM SIGSOFT Softw. Eng. Notes 31(6), 1–10 (2006)
Khurshid, S., PĂsĂreanu, C.S., Visser, W.: Generalized symbolic execution for model checking and testing. In: Garavel, H., Hatcliff, J. (eds.) TACAS 2003. LNCS, vol. 2619, pp. 553–568. Springer, Heidelberg (2005). https://doi.org/10.1007/3-540-36577-X_40
Von Styp, S.C., Bohnenkamp, H., Schmaltz, J.: A conformance testing relation for symbolic timed automata. In: Formal Modeling and Analysis of Timed Systems - 8th International Conference, FORMATS Proceedings, pp. 243–255 (2010)
Andrade W., D. L. Machado P., Jéron T., Marchand H. Abstracting time and data for conformance testing of real-time systems. In: ICST Workshops. IEEE (2011)
Winter, T., et al.: Rpl: Ipv6 routing protocol for low-power and lossy networks, request for comments: 6550. Technical report, Cooper Power Systems and Cisco Systems and Stanford University (2012)
Woehrle, M., Bakhshi, R., Mousavi, M.R.: Mechanized extraction of topology anti-patterns in wireless networks. In: Derrick, J., Gnesi, S., Latella, D., Treharne, H. (eds.) IFM 2012. LNCS, vol. 7321, pp. 158–173. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-30729-4_12
Zheng, M., Sun, J., Liu, Y., Dong, J.S., Gu, Yu.: Towards a model checker for NesC and wireless sensor networks. In: Qin, S., Qiu, Z. (eds.) ICFEM 2011. LNCS, vol. 6991, pp. 372–387. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-24559-6_26
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
Cite this paper
Bannour, B., Lapitre, A., Gall, P.L. (2021). Deriving Interaction Scenarios for Timed Distributed Systems by Symbolic Execution. In: Bellatreche, L., Chernishev, G., Corral, A., Ouchani, S., Vain, J. (eds) Advances in Model and Data Engineering in the Digitalization Era. MEDI 2021. Communications in Computer and Information Science, vol 1481. Springer, Cham. https://doi.org/10.1007/978-3-030-87657-9_4
Download citation
DOI: https://doi.org/10.1007/978-3-030-87657-9_4
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-87656-2
Online ISBN: 978-3-030-87657-9
eBook Packages: Computer ScienceComputer Science (R0)