Skip to main content
Erschienen in: International Journal on Software Tools for Technology Transfer 3/2016

01.06.2016 | ICTSS 2013

Automated test generation using model checking: an industrial evaluation

verfasst von: Eduard P. Enoiu, Adnan Čaušević, Thomas J. Ostrand, Elaine J. Weyuker, Daniel Sundmark, Paul Pettersson

Erschienen in: International Journal on Software Tools for Technology Transfer | Ausgabe 3/2016

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

In software development, testers often focus on functional testing to validate implemented programs against their specifications. In safety-critical software development, testers are also required to show that tests exercise, or cover, the structure and logic of the implementation. To achieve different types of logic coverage, various program artifacts such as decisions and conditions are required to be exercised during testing. Use of model checking for structural test generation has been proposed by several researchers. The limited application to models used in practice and the state space explosion can, however, impact model checking and hence the process of deriving tests for logic coverage. Thus, there is a need to validate these approaches against relevant industrial systems such that more knowledge is built on how to efficiently use them in practice. In this paper, we present a tool-supported approach to handle software written in the Function Block Diagram language such that logic coverage criteria can be formalized and used by a model checker to automatically generate tests. To this end, we conducted a study based on industrial use-case scenarios from Bombardier Transportation AB, showing how our toolbox CompleteTest can be applied to generate tests in software systems used in the safety-critical domain. To evaluate the approach, we applied the toolbox to 157 programs and found that it is efficient in terms of time required to generate tests that satisfy logic coverage and scales well for most of the programs.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Anhänge
Nur mit Berechtigung zugänglich
Fußnoten
1
CompleteTest is available at http://​www.​completetest.​org/​.
 
2
The Uppaal tool is available at http://​www.​uppaal.​org.
 
3
\(d_{i(c_{ij},v)}\) denotes \(d_i\) with \(c_{ij}\) replaced with \(v\).
 
4
The JavaCC™is available at https://​javacc.​java.​net/​.
 
5
\(R\) denotes the reset set i.e., assignments to manipulate clock- and data variables.
 
Literatur
1.
Zurück zum Zitat Alur, R.: Timed automata. In: Computer aided verification, pp. 688–688. Springer, Berlin (1999) Alur, R.: Timed automata. In: Computer aided verification, pp. 688–688. Springer, Berlin (1999)
3.
Zurück zum Zitat Alur, R., Dill, D.: Automata for modeling real-time systems. Autom. Lang. Progr. pp. 322–335 (1990) Alur, R., Dill, D.: Automata for modeling real-time systems. Autom. Lang. Progr. pp. 322–335 (1990)
4.
Zurück zum Zitat Ammann, P., Black, P.E., Ding, W.: Model checkers in software testing. In: NIST-IR 6777, National Institute of Standards and Technology Report (2002) Ammann, P., Black, P.E., Ding, W.: Model checkers in software testing. In: NIST-IR 6777, National Institute of Standards and Technology Report (2002)
5.
Zurück zum Zitat Ammann, P., Offutt, J.: Introduction to Software Testing. Cambridge University Press, Cambridge (2008)CrossRefMATH Ammann, P., Offutt, J.: Introduction to Software Testing. Cambridge University Press, Cambridge (2008)CrossRefMATH
6.
Zurück zum Zitat Behrmann, G., Fehnker, A., Hune, T., Larsen, K.G, Petterson, P., Romijn, J.: Guiding and cost-optimality in uppaal. In: AAAI-Spring Symposium on Model-based Validation of Intelligence, pp. 66–74 (2001) Behrmann, G., Fehnker, A., Hune, T., Larsen, K.G, Petterson, P., Romijn, J.: Guiding and cost-optimality in uppaal. In: AAAI-Spring Symposium on Model-based Validation of Intelligence, pp. 66–74 (2001)
7.
Zurück zum Zitat Black, P.: Modeling and marshaling: making tests from model checker counter-examples. In: Proceedings of the 19th digital avionics systems conference, vol. 1, pp. 1B3-1. IEEE Press, New York (2000) Black, P.: Modeling and marshaling: making tests from model checker counter-examples. In: Proceedings of the 19th digital avionics systems conference, vol. 1, pp. 1B3-1. IEEE Press, New York (2000)
8.
Zurück zum Zitat CENELEC. 50128: Railway application-communications, signaling and processing systems-software for railway control and protection systems. Standard Report (2001) CENELEC. 50128: Railway application-communications, signaling and processing systems-software for railway control and protection systems. Standard Report (2001)
9.
Zurück zum Zitat Chilenski, J.J., Miller, S.P.: Applicability of modified condition/decision coverage to software testing. Softw. Eng. J. 9(5), 193–200 (1994)CrossRef Chilenski, J.J., Miller, S.P.: Applicability of modified condition/decision coverage to software testing. Softw. Eng. J. 9(5), 193–200 (1994)CrossRef
10.
11.
Zurück zum Zitat Enoiu, E.P., Sundmark, D., Pettersson, P.: Model-based test suite generation for function block diagrams using the UPPAAL model checker. In: 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation Workshops (ICSTW), pp. 158–167. IEEE Press, New York (2013) Enoiu, E.P., Sundmark, D., Pettersson, P.: Model-based test suite generation for function block diagrams using the UPPAAL model checker. In: 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation Workshops (ICSTW), pp. 158–167. IEEE Press, New York (2013)
12.
Zurück zum Zitat Enoiu, E.P., Sundmark, D., Pettersson, P.: Using logic coverage to improve testing function block diagrams. In: Testing Software and Systems, pp. 1–16. Springer, Berlin (2013) Enoiu, E.P., Sundmark, D., Pettersson, P.: Using logic coverage to improve testing function block diagrams. In: Testing Software and Systems, pp. 1–16. Springer, Berlin (2013)
13.
Zurück zum Zitat Fraser, G., Wotawa, F., Ammann, P.E.: Testing with model checkers: a survey. In: Journal on Software Testing, Verification and Reliability, vol. 19, pp. 215–261. Wiley Online Library, New York (2009) Fraser, G., Wotawa, F., Ammann, P.E.: Testing with model checkers: a survey. In: Journal on Software Testing, Verification and Reliability, vol. 19, pp. 215–261. Wiley Online Library, New York (2009)
14.
Zurück zum Zitat Gargantini, A., Heitmeyer, C.: Using model checking to generate tests from requirements specifications. In: Software Engineering, ESEC/FSE99, pp. 146–162. Springer, Berlin (1999) Gargantini, A., Heitmeyer, C.: Using model checking to generate tests from requirements specifications. In: Software Engineering, ESEC/FSE99, pp. 146–162. Springer, Berlin (1999)
15.
Zurück zum Zitat Hessel, A., Larsen, K., Mikucionis, M., Nielsen, B., Pettersson, P., Skou, A.: Testing real-time systems using UPPAAL. Form. Methods Test. pp. 77–117 (2008) Hessel, A., Larsen, K., Mikucionis, M., Nielsen, B., Pettersson, P., Skou, A.: Testing real-time systems using UPPAAL. Form. Methods Test. pp. 77–117 (2008)
16.
Zurück zum Zitat Hessel, A., Larsen, K., Nielsen, B., Pettersson, P., Skou, A.: Time-optimal real-time test case generation using UPPAAL. In: Lecture notes in computer science. Formal approaches to software testing, pp. 114–130. Springer, Berlin (2004) Hessel, A., Larsen, K., Nielsen, B., Pettersson, P., Skou, A.: Time-optimal real-time test case generation using UPPAAL. In: Lecture notes in computer science. Formal approaches to software testing, pp. 114–130. Springer, Berlin (2004)
17.
Zurück zum Zitat Hong, H.S., Lee, I., Sokolsky, O., Ural, H.: A temporal logic-based theory of test coverage and generation. In: Tools and Algorithms for the Construction and Analysis of Systems, pp. 327–341. Springer, Berlin (2002) Hong, H.S., Lee, I., Sokolsky, O., Ural, H.: A temporal logic-based theory of test coverage and generation. In: Tools and Algorithms for the Construction and Analysis of Systems, pp. 327–341. Springer, Berlin (2002)
18.
Zurück zum Zitat Jee, E., Kim, S., Cha, S., Lee, I.: Automated test coverage measurement for reactor protection system software implemented in function block diagram. In: Journal on Computer Safety, Reliability, and Security, pp. 223–236. Springer, Berlin (2010) Jee, E., Kim, S., Cha, S., Lee, I.: Automated test coverage measurement for reactor protection system software implemented in function block diagram. In: Journal on Computer Safety, Reliability, and Security, pp. 223–236. Springer, Berlin (2010)
19.
Zurück zum Zitat Jee, E., Yoo, J., Cha, S., Bae, D.: A data flow-based structural testing technique for FBD programs. Inf. Softw. Technol. 51(7), 1131–1139 (2009)CrossRef Jee, E., Yoo, J., Cha, S., Bae, D.: A data flow-based structural testing technique for FBD programs. Inf. Softw. Technol. 51(7), 1131–1139 (2009)CrossRef
20.
Zurück zum Zitat Khurshid, S., Păsăreanu, C.S., Visser, W.: Generalized symbolic execution for model checking and testing. In: Tools and Algorithms for the Construction and Analysis of Systems, pp. 553–568. Springer, Berlin (2003) Khurshid, S., Păsăreanu, C.S., Visser, W.: Generalized symbolic execution for model checking and testing. In: Tools and Algorithms for the Construction and Analysis of Systems, pp. 553–568. Springer, Berlin (2003)
21.
Zurück zum Zitat Lakehal, A., Parissis, I.: Lustructu: a tool for the automatic coverage assessment of lustre programs. In: International Symposium on Software Reliability Engineering, p. 10. IEEE Press, New York (2005) Lakehal, A., Parissis, I.: Lustructu: a tool for the automatic coverage assessment of lustre programs. In: International Symposium on Software Reliability Engineering, p. 10. IEEE Press, New York (2005)
22.
Zurück zum Zitat Larsen, K.G., Pettersson, P., Yi, W.: UPPAAL in a Nutshell. Int. J.Softw. Tools Technol. Transf. 1(1), 134–152 (1997)CrossRefMATH Larsen, K.G., Pettersson, P., Yi, W.: UPPAAL in a Nutshell. Int. J.Softw. Tools Technol. Transf. 1(1), 134–152 (1997)CrossRefMATH
23.
Zurück zum Zitat Öhman, M., Johansson, S., Årzén, K.E.: Implementation aspects of the PLC standard IEC 1131–3. In: Journal on Control Engineering Practice, vol. 6, pp. 547–555. Elsevier, New York (1998) Öhman, M., Johansson, S., Årzén, K.E.: Implementation aspects of the PLC standard IEC 1131–3. In: Journal on Control Engineering Practice, vol. 6, pp. 547–555. Elsevier, New York (1998)
24.
Zurück zum Zitat Rayadurgam, S., Heimdahl, M.P.E.: Generating MC/DC adequate test sequences through model checking. In: NASA Goddard Software Engineering Workshop Proceedings, pp. 91–96. IEEE Press, New York (2003) Rayadurgam, S., Heimdahl, M.P.E.: Generating MC/DC adequate test sequences through model checking. In: NASA Goddard Software Engineering Workshop Proceedings, pp. 91–96. IEEE Press, New York (2003)
25.
Zurück zum Zitat Rayadurgam, S., Heimdahl, M.P.E.: Coverage based test-case generation using model checkers. In: ECBS 2001. Proceedings of Eighth Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems, pp. 83–91. IEEE Press, New York (2001) Rayadurgam, S., Heimdahl, M.P.E.: Coverage based test-case generation using model checkers. In: ECBS 2001. Proceedings of Eighth Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems, pp. 83–91. IEEE Press, New York (2001)
26.
Zurück zum Zitat Seppi, K., Jones, M., Lamborn, P.: Guided model checking with a bayesian meta-heuristic. Fundam. Inf. 70(1), 111–126 (2006) Seppi, K., Jones, M., Lamborn, P.: Guided model checking with a bayesian meta-heuristic. Fundam. Inf. 70(1), 111–126 (2006)
27.
Zurück zum Zitat Thieme, J., Hanisch, H.M.: Model-based generation of modular PLC code using IEC61131 function blocks. In: Proceedings of the International Symposium on Industrial Electronics, vol. 1, pp. 199–204. IEEE Press, New York (2002) Thieme, J., Hanisch, H.M.: Model-based generation of modular PLC code using IEC61131 function blocks. In: Proceedings of the International Symposium on Industrial Electronics, vol. 1, pp. 199–204. IEEE Press, New York (2002)
28.
Zurück zum Zitat Whalen, M., Gay, G., You, D., Heimdahl, M.P.E., Staats, M.: Observable modified condition/decision coverage. In: Proceedings of the International Conference on Software Engineering, pp. 102–111. IEEE Press, New York (2013) Whalen, M., Gay, G., You, D., Heimdahl, M.P.E., Staats, M.: Observable modified condition/decision coverage. In: Proceedings of the International Conference on Software Engineering, pp. 102–111. IEEE Press, New York (2013)
Metadaten
Titel
Automated test generation using model checking: an industrial evaluation
verfasst von
Eduard P. Enoiu
Adnan Čaušević
Thomas J. Ostrand
Elaine J. Weyuker
Daniel Sundmark
Paul Pettersson
Publikationsdatum
01.06.2016
Verlag
Springer Berlin Heidelberg
Erschienen in
International Journal on Software Tools for Technology Transfer / Ausgabe 3/2016
Print ISSN: 1433-2779
Elektronische ISSN: 1433-2787
DOI
https://doi.org/10.1007/s10009-014-0355-9

Weitere Artikel der Ausgabe 3/2016

International Journal on Software Tools for Technology Transfer 3/2016 Zur Ausgabe