Abstract
Internet of Things systems are evolving at a rapid pace and their impact on our society grows every day. In this context developing IoT systems that are reliable and compliant with the requirements is of paramount importance. Unfortunately, few proposals for assuring the quality of these complex and often safety-critical systems are present in the literature. To this aim, runtime verification can be a valuable support to tackle such a complex task and to complement other software verification techniques based on static analysis and testing. This paper is a first step towards the application of runtime verification to IoT systems. In particular, we describe our approach based on a Prolog monitor, the definition of a formal specification (using trace expressions) describing the expected behaviour of the system, and the definition of appropriate input scenarios. Furthermore, we describe its application and preliminary evaluation using a simplified mobile health IoT system for the management of diabetic patients composed by sensors, actuators, Node-RED logic on the cloud, and smartphones.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
References
Ancona, D., Ferrando, A., Mascardi, V.: Comparing trace expressions and linear temporal logic for runtime verification. In: Ábrahám, E., Bonsangue, M., Johnsen, E.B. (eds.) Theory and Practice of Formal Methods. LNCS, vol. 9660, pp. 47–64. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-30734-3_6
Ancona, D., Franceschini, L., Delzanno, G., Leotta, M., Ribaudo, M., Ricca, F.: Towards runtime monitoring of Node.js and its application to the Internet of Things. In: Pianini, D., Salvaneschi, G. (eds.) Proceedings of 1st Workshop on Architectures, Languages and Paradigms for IoT (ALP4IoT 2017), EPTCS. vol. 264, pp. 27–42. arXiv (2018)
Atzori, L., Iera, A., Morabito, G.: The internet of things: a survey. Comput. Netw. 54(15), 2787–2805 (2010)
Beizer, B.: Software Testing Techniques. Wiley, New York (1990)
Chen, T.Y., Ho, J.W., Liu, H., Xie, X.: An innovative approach for testing bioinformatics programs using metamorphic testing. BMC Bioinform. 10(1), 24 (2009)
Clarke, E., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (1999)
Desolda, G., Ardito, C., Matera, M.: Empowering end users to customize their smart environments: model, composition paradigms, and domain-specific tools. ACM Trans. Comput. Hum. Interact. 24(2), 12:1–12:52 (2017)
Grün, B.J., Schuler, D., Zeller, A.: The impact of equivalent mutants. In: Proceedings of 2nd International Conference on Software Testing, Verification and Validation Workshops, ICSTW 2009, pp. 192–199. IEEE (2009)
Incki, K., Ari, I.: A novel runtime verification solution for IoT systems. IEEE Access 6, 13501–13512 (2018)
Jia, Y., Harman, M.: An analysis and survey of the development of mutation testing. IEEE Trans. Softw. Eng. 37(5), 649–678 (2011)
Klonoff, D.C.: The current status of mHealth for diabetes: will it be the next big thing? J. Diab. Sci. Technol. 7(3), 749–758 (2013)
Kochhar, P.S., Thung, F., Lo, D.: Code coverage and test suite effectiveness: empirical study with real bugs in large systems. In: Proceedings of 22nd International Conference on Software Analysis, Evolution and Reengineering, SANER 2015, pp. 560–564. IEEE (2015)
Leotta, M., et al.: An acceptance testing approach for Internet of Things systems. IET Softw. 12(5), 430–436 (2018). IET Digital Library. https://doi.org/10.1049/iet-sen.2017.0344, https://digital-library.theiet.org/content/journals/10.1049/iet-sen.2017.0344
Leotta, M., Clerissi, D., Ricca, F., Tonella, P.: Approaches and tools for automated end-to-end web testing. Adv. Comput. 101, 193–237 (2016)
Leotta, M., et al.: Towards an acceptance testing approach for Internet of Things systems. In: Garrigós, I., Wimmer, M. (eds.) ICWE 2017. LNCS, vol. 10544, pp. 125–138. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-74433-9_11
Offutt, A.J., Untch, R.H.: Mutation 2000: uniting the orthogonal. In: Wong, W.E. (ed.) Mutation Testing for the New Century. ADBS, vol. 24, pp. 34–44. Springer, Boston (2001). https://doi.org/10.1007/978-1-4757-5939-6_7
Rosenkranz, P., Wählisch, M., Baccelli, E., Ortmann, L.: A distributed test system architecture for open-source IoT software. In: Proceedings of 1st Workshop on IoT Challenges in Mobile and Industrial Systems, IoT-Sys 2015, pp. 43–48. ACM (2015)
Utting, M., Legeard, B.: Practical Model-Based Testing: A Tools Approach. Morgan Kaufmann, Burlington (2010)
Acknowledgements
This research was partially supported by Actelion Pharmaceuticals Italia and DIBRIS SEED 2016 grants.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer Nature Switzerland AG
About this paper
Cite this paper
Leotta, M., Ancona, D., Franceschini, L., Olianas, D., Ribaudo, M., Ricca, F. (2018). Towards a Runtime Verification Approach for Internet of Things Systems. In: Pautasso, C., Sánchez-Figueroa, F., Systä, K., Murillo Rodríguez, J. (eds) Current Trends in Web Engineering. ICWE 2018. Lecture Notes in Computer Science(), vol 11153. Springer, Cham. https://doi.org/10.1007/978-3-030-03056-8_8
Download citation
DOI: https://doi.org/10.1007/978-3-030-03056-8_8
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-03055-1
Online ISBN: 978-3-030-03056-8
eBook Packages: Computer ScienceComputer Science (R0)