Model Checking Requirements

  • Sérgio BarzaEmail author
  • Gustavo Carvalho
  • Juliano Iyoda
  • Augusto Sampaio
  • Alexandre Mota
  • Flávia Barros
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10090)


In software engineering, system requirements are written in a natural language such as English. Later in the design phase, these requirements are usually translated to a semi-formal language such as UML. This design model gives support to the development of the system in a programming language. Although natural language is easy to use, it is intrinsically ambiguous. Undesired effects may arise, as the errors generated by misinterpretation of the requirements can lead to a late discovery of a problem with a costly solution. In this paper, we propose the use of a Controlled Natural Language (CNL) (a subset of English that obeys a formal grammar) as a language for writing requirements. Moreover, we developed a translator from a CNL to the modelling language of the NuSMV model checker. In addition, we propose another CNL to describe properties in the style of a temporal logic. A second translator transforms this CNL into Computation Tree Logic. Therefore, our toolset allows the user to benefit from the user-friendliness of a natural language and to perform a formal analysis on the requirements using the NuSMV model checker. We are thus able to assert whether the requirements satisfy a property. The user only deals with CNLs as we hide all formal languages involved in the inputs of a model checker. Counter-examples are produced in the NuSMV notation, but they are fairly intuitive to understand. We illustrate our work in a case study.


Natural Language Model Checker Modelling Language Temporal Logic Thematic Role 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.



This work was partially supported by the National Institute of Science and Technology for Software Engineering (INES), funded by CNPq and FACEPE, grants 573964/2008-4, 560256/2010-8 and APQ-1037-1.03/08.


  1. 1.
    Aceituna, D., Do, H., Srinivasan, S.: A systematic approach to transforming system requirements into model checking specifications. In: Companion Proceedings of the 36th International Conference on Software Engineering, ICSE Companion 2014, pp. 165–174. ACM, New York (2014)Google Scholar
  2. 2.
    Aho, A.V., Lam, M.S., Sethi, R., Ullman, J.D.: Compilers: Principles, Techniques, and Tools, 2nd edn. Addison-Wesley Longman Publishing Co., Inc., Boston (2006)zbMATHGoogle Scholar
  3. 3.
    Aichernig, B., Brandl, H., Jöbstl, E., Krenn, W., Schlick, R., Tiran, S.: Killing strategies for model-based mutation testing. Softw. Test. Verif. Reliab. 25(8), 716–748 (2015)CrossRefGoogle Scholar
  4. 4.
    Badger, J., Throop, D., Claunch, C.: Vared: verification and analysis of requirements and early designs. In: 2014 IEEE 22nd International Requirements Engineering Conference (RE), pp. 325–326, August 2014Google Scholar
  5. 5.
    Behrmann, G., David, A., Larsen, K.: A Tutorial on UPPAAL 4.0. Department of Computer Science, Aalborg University, Denmark (2006)Google Scholar
  6. 6.
    Boddu, R., Guo, L., Mukhopadhyay, S., Cukic, B.: RETNA: from requirements to testing in a natural way. In: Proceedings of the RE, pp. 262–271 (2004)Google Scholar
  7. 7.
    Cadete, D., Cunha, A., Faria, J., Oliveira, J., Passos, A.: From boilerplated requirements to alloy: half-way between text and formal model. Technical report, Universidade do Minho (2012)Google Scholar
  8. 8.
    Carvalho, G., Barros, F., Carvalho, A., Cavalcanti, A., Mota, A., Sampaio, A.: NAT2TEST tool: from natural language requirements to test cases based on CSP. In: Calinescu, R., Rumpe, B. (eds.) SEFM 2015. LNCS, vol. 9276, pp. 283–290. Springer, Heidelberg (2015). doi: 10.1007/978-3-319-22969-0_20 CrossRefGoogle Scholar
  9. 9.
    Carvalho, G., Barros, F., Lapschies, F., Schulze, U., Peleska, J.: Model-based testing from controlled natural language requirements. In: Artho, C., Ölveczky, P.C. (eds.) FTSCS 2013. CCIS, vol. 419, pp. 19–35. Springer, Heidelberg (2014a). doi: 10.1007/978-3-319-05416-2_3 CrossRefGoogle Scholar
  10. 10.
    Carvalho, G., Cavalcanti, A., Sampaio, A.: Modelling timed reactive systems from natural-language requirements. Formal Aspects Comput. 28(5), 725–765 (2016)MathSciNetCrossRefzbMATHGoogle Scholar
  11. 11.
    Carvalho, G., Falcão, D., Barros, F., Sampaio, A., Mota, A., Motta, L., Blackburn, M.: Test case generation from natural language requirements based on SCR specifications. In: Proceedings of Symposium on Applied Computing, Coimbra, Portugal, vol. 2, pp. 1217–1222 (2013a)Google Scholar
  12. 12.
    Carvalho, G., Falcão, D., Barros, F., Sampaio, A., Mota, A., Motta, L., Blackburn, M.: NAT2TEST\(_{SCR}\): test case generation from natural language requirements based on SCR specifications. Sci. Comput. Program. 95(Part 3(0)), 275–297 (2014)CrossRefGoogle Scholar
  13. 13.
    Cavada, R., Cimatti, A., Jochim, C.A., Keighren, G., Olivetti, E., Pistore, M., Roveri, M., Tchaltsev, A.: NuSMV 2.6 User Manual. FBK-irst - Via Sommarive 18, 38055 Povo (Trento), Italy (2010)Google Scholar
  14. 14.
    Cavada, R., Cimatti, A., Mariotti, A., Mattarei, C., Micheli, A., Mover, S., Pensallorto, M., Roveri, M., Susi, A., Tonetta, S.: Supporting requirements validation: the EuRailCheck tool. In: 24th IEEE/ACM International Conference on Automated Software Engineering, ASE 2009, pp. 665–667, November 2009Google Scholar
  15. 15.
    Choi, Y., Heimdahl, M.P.: Model checking RSML-e requirements. In: Proceedings of the 7th IEEE International Symposium on High Assurance Systems Engineering, pp. 109–118. IEEE (2002)Google Scholar
  16. 16.
    Esser, M., Struss, P.: Obtaining models for test generation from natural-language like functional specifications. In: International Workshop on Principles of Diagnosis, pp. 75–82 (2007)Google Scholar
  17. 17.
    Fillmore, C.: The case for case. In: Bach, E., Harms, R. (eds.) Universals in Linguistic Theory, pp. 1–88. Holt, Rinehart, and Winston, New York (1968)Google Scholar
  18. 18.
    Fuchs, N.: Controlled Natural Language. LNCS, vol. 5972. Springer, Heidelberg (2010). doi: 10.1007/978-3-642-14418-9 CrossRefzbMATHGoogle Scholar
  19. 19.
    Holt, A.: Formal verification with natural language specifications: guidelines, experiments and lessons so far. S. Afr. Comput. J., 253–257 (1999)Google Scholar
  20. 20.
    Nipkow, T., Paulson, L., Wenzel, M.: Isabelle/HOL – A Proof Assistant for Higher-Order Logic. LNCS, vol. 2283. Springer, Heidelberg (2002)zbMATHGoogle Scholar

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  • Sérgio Barza
    • 1
    Email author
  • Gustavo Carvalho
    • 1
  • Juliano Iyoda
    • 1
  • Augusto Sampaio
    • 1
  • Alexandre Mota
    • 1
  • Flávia Barros
    • 1
  1. 1.Centro de Informática - Universidade Federal de PernambucoRecifeBrazil

Personalised recommendations