From Temporal Models to Property-based Testing

Nasser Alzahrani, Maria Spichkova, Jan Olaf Blech

Abstract

This paper presents a framework to apply property-based testing (PBT) on top of temporal formal models. The aim of this work is to help software engineers to understand temporal models that are presented formally and to make use of the advantages of formal methods: the core time-based constructs of a formal method are schematically translated to the BeSpaceD extension of the Scala programming language. This allows us to have an executable Scala code that corresponds to the formal model, as well as to perform PBT of the models functionality. To model temporal properties of the systems, in the current work we focus on two formal languages, TLA+ and FocusST .

References

  1. Alzahrani, N., Spichkova, M., and Blech, J. O. (2016). Spatio-Temporal Models for Formal Analysis and Property-Based Testing, pages 196-206. Springer.
  2. Blech, J. O. and Schmidt, H. (2014). BeSpaceD: Towards a tool framework and methodology for the specification and verification of spatial behavior of distributed software component systems. CoRR.
  3. Bowen, J. P. and Hinchey, M. G. (1995). Seven more myths of formal methods. IEEE software, 12(4):34.
  4. Broy, M. and Stølen, K. (2001). Specification and Development of Interactive Systems: Focus on Streams, Interfaces, and Refinement . Springer.
  5. Claessen, K. and Hughes, J. (2011). QuickCheck: A lightweight tool for random testing of haskell programs. SIGPLAN Not., 46(4):53-64.
  6. Gerdes, A., Hughes, J., Smallbone, N., and Wang, M. (2015). Linking unit tests and properties. In SIGPLAN Workshop, pages 19-26. ACM.
  7. Hinchey, M. G. (2003). Confessions of a formal methodist. In Safety Critical Systems and Software, pages 17-20. ACS.
  8. Hughes, J. (2010). Software testing with quickcheck. In Central European Functional Programming School, pages 183-223. Springer.
  9. Kühnel, C. and Spichkova, M. (2007). Fault-tolerant communication for distributed embedded systems. In Software Engineering of Fault Tolerance Systems, volume 19, page 175. World Scientific Publishing.
  10. Lamport, L. (1993). Hybrid systems in TLA+. In Grossman, R. L., Nerode, A., Ravn, A. P., and Rischel, H., Leveson, N. G. and Turner, C. S. (1993). An investigation of the therac-25 accidents. Computer, 26(7):18-41.
  11. Miller, E. (1987). The Therac-25 Experience. In Conf. State Radiation Control Program Directors.
  12. Newcombe, C., Rath, T., Zhang, F., Munteanu, B., Brooker, M., and Deardeuff, M. (2015). How Amazon Web Services Uses Formal Methods. CACM, 58(4):66-73.
  13. Nipkow, T., Paulson, L. C., and Wenzel, M. (2002). Isabelle/HOL: a proof assistant for higher-order logic, volume 2283. Springer Science & Business Media.
  14. Spichkova, M. (2007). Specification and seamless verification of embedded real-time systems: FOCUS on Isabelle. PhD thesis, Technical University Munich.
  15. Spichkova, M. (2012). Human Factors of Formal Methods. In IADIS Interfaces and Human Computer Interaction 2012.
  16. Spichkova, M. (2013). Design of formal languages and interfaces: “Formal” does not mean “unreadable” . IGI Global.
  17. Spichkova, M., Blech, J. O., Herrmann, P., and Schmidt, H. W. (2014). Modeling Spatial Aspects of SafetyCritical Systems with FocusST . In MoDeVVa, pages 49-58.
  18. Spichkova, M., Liu, H., Laali, M., and Schmidt, H. W. (2015). Human factors in software reliability engineering. Workshop on Applications of Human Error Research to Improve Software Engineering.
  19. Yu, Y., Manolios, P., and Lamport, L. (1999). Model checking tla+ specifications. In Correct Hardware Design and Verification Methods , pages 54-66. Springer.
  20. Zamansky, A., Rodriguez-Navas, G., Adams, M., and Spichkova, M. (2016). Formal methods in collaborative projects. In 11th International Conference on Evaluation of Novel Approaches to Software Engineering. IEEE.
Download


Paper Citation


in Harvard Style

Alzahrani N., Spichkova M. and Blech J. (2017). From Temporal Models to Property-based Testing . In Proceedings of the 12th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE, ISBN 978-989-758-250-9, pages 241-246. DOI: 10.5220/0006340302410246


in Bibtex Style

@conference{enase17,
author={Nasser Alzahrani and Maria Spichkova and Jan Olaf Blech},
title={From Temporal Models to Property-based Testing},
booktitle={Proceedings of the 12th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,},
year={2017},
pages={241-246},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0006340302410246},
isbn={978-989-758-250-9},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 12th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,
TI - From Temporal Models to Property-based Testing
SN - 978-989-758-250-9
AU - Alzahrani N.
AU - Spichkova M.
AU - Blech J.
PY - 2017
SP - 241
EP - 246
DO - 10.5220/0006340302410246