Skip to main content
Top

2019 | OriginalPaper | Chapter

Measuring Coverage of Prolog Programs Using Mutation Testing

Authors : Alexandros Efremidis, Joshua Schmidt, Sebastian Krings, Philipp Körner

Published in: Functional and Constraint Logic Programming

Publisher: Springer International Publishing

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

Testing is an important aspect in professional software development, both to avoid and identify bugs as well as to increase maintainability. However, increasing the number of tests beyond a reasonable amount hinders development progress. To decide on the completeness of a test suite, many approaches to assert test coverage have been suggested. Yet, frameworks for logic programs remain scarce.
In this paper, we introduce a framework for Prolog programs measuring test coverage using mutations. We elaborate on the main ideas of mutation testing and transfer them to logic programs.To do so, we discuss the usefulness of different mutations in the context of Prolog and empirically evaluate them in a new mutation testing framework on different examples.

Dont have a licence yet? Then find out more about our products and how to get one now:

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!

Literature
1.
go back to reference Ammann, P., Delamaro, M.E., Offutt, J., et al.: Establishing theoretical minimal sets of mutants. In: IEEE International Conference on Software Testing, Verification, and Validation, vol. 7. IEEE Computer Society (2014) Ammann, P., Delamaro, M.E., Offutt, J., et al.: Establishing theoretical minimal sets of mutants. In: IEEE International Conference on Software Testing, Verification, and Validation, vol. 7. IEEE Computer Society (2014)
3.
go back to reference Coles, H., Laurent, T., Henard, C., Papadakis, M., Ventresque, A.: PIT: a practical mutation testing tool for Java (Demo). In: International Symposium on Software Testing and Analysis, ISSTA 2016, pp. 449–452. ACM (2016) Coles, H., Laurent, T., Henard, C., Papadakis, M., Ventresque, A.: PIT: a practical mutation testing tool for Java (Demo). In: International Symposium on Software Testing and Analysis, ISSTA 2016, pp. 449–452. ACM (2016)
4.
go back to reference Denisov, A., Pankevich, S.: Mull it over: mutation testing based on LLVM. In: 2018 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW), pp. 25–31, April 2018 Denisov, A., Pankevich, S.: Mull it over: mutation testing based on LLVM. In: 2018 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW), pp. 25–31, April 2018
5.
go back to reference Deursen, A.V., Moonen, L., Bergh, A., Kok, G.: Refactoring test code. In: International Conference on Extreme Programming and Flexible Processes in Software Engineering, pp. 92–95 (2001) Deursen, A.V., Moonen, L., Bergh, A., Kok, G.: Refactoring test code. In: International Conference on Extreme Programming and Flexible Processes in Software Engineering, pp. 92–95 (2001)
6.
go back to reference Grün, B.J., Schuler, D., Zeller, A.: The impact of equivalent mutants. In: IEEE International Workshop on Mutation Analysis, pp. 192–199. IEEE (2009) Grün, B.J., Schuler, D., Zeller, A.: The impact of equivalent mutants. In: IEEE International Workshop on Mutation Analysis, pp. 192–199. IEEE (2009)
7.
go back to reference Jia, Y., Harman, M.: An analysis and survey of the development of mutation testing. IEEE Trans. Softw. Eng. 37(5), 649–678 (2011)CrossRef Jia, Y., Harman, M.: An analysis and survey of the development of mutation testing. IEEE Trans. Softw. Eng. 37(5), 649–678 (2011)CrossRef
8.
go back to reference Krings, S.: Code coverage analysis for prolog. Bachelor’s thesis, Heinrich-Heine-University, Duesseldorf, Germany (2010) Krings, S.: Code coverage analysis for prolog. Bachelor’s thesis, Heinrich-Heine-University, Duesseldorf, Germany (2010)
10.
go back to reference Körner, P., Krings, S.: plspec - A specification language for prolog data. In: Seipel, D., Hanus, M., Abreu, S. (eds.) Declare 2017, vol. 499, Technical report. University of Würzburg (2017) Körner, P., Krings, S.: plspec - A specification language for prolog data. In: Seipel, D., Hanus, M., Abreu, S. (eds.) Declare 2017, vol. 499, Technical report. University of Würzburg (2017)
11.
go back to reference Körner, P., Schneider, D., Leuschel, M.: Evaluating interpreter design in prolog. In: Kolloquium Programmiersprachen und Grundlagen der Programmierung KPS, Schriftenreihe des Instituts für Computersprachen (2015) Körner, P., Schneider, D., Leuschel, M.: Evaluating interpreter design in prolog. In: Kolloquium Programmiersprachen und Grundlagen der Programmierung KPS, Schriftenreihe des Instituts für Computersprachen (2015)
12.
go back to reference Le, D., Alipour, M., Gopinath, R., Groce, A.: MuCheck: an extensible tool for mutation testing of haskell programs. In: International Symposium on Software Testing and Analysis, ISSTA (2014) Le, D., Alipour, M., Gopinath, R., Groce, A.: MuCheck: an extensible tool for mutation testing of haskell programs. In: International Symposium on Software Testing and Analysis, ISSTA (2014)
13.
go back to reference Le, D., Alipour, M.A., Gopinath, R., Groce, A.: Mutation testing of functional programming languages. Technical report. Oregon State University, School of Software Engineering and Computer Science (2014) Le, D., Alipour, M.A., Gopinath, R., Groce, A.: Mutation testing of functional programming languages. Technical report. Oregon State University, School of Software Engineering and Computer Science (2014)
16.
go back to reference Offutt, A.J., Pan, J.: Automatically detecting equivalent mutants and infeasible paths. Softw. Testing Verif. Reliab. 7(3), 165–192 (1997)CrossRef Offutt, A.J., Pan, J.: Automatically detecting equivalent mutants and infeasible paths. Softw. Testing Verif. Reliab. 7(3), 165–192 (1997)CrossRef
17.
go back to reference Offutt, A.J., Rothermel, G., Zapf, C.: An experimental evaluation of selective mutation. In: International Conference on Software Engineering, pp. 100–107. IEEE Computer Society Press (1993) Offutt, A.J., Rothermel, G., Zapf, C.: An experimental evaluation of selective mutation. In: International Conference on Software Engineering, pp. 100–107. IEEE Computer Society Press (1993)
18.
go back to reference Papadimitriou, C.H.: A note the expressive power of prolog. Bull. EATCS 26(21–23), 61 (1985) Papadimitriou, C.H.: A note the expressive power of prolog. Bull. EATCS 26(21–23), 61 (1985)
19.
go back to reference Sangwan, R.S., LaPlante, P.A.L.: Test-driven development in large projects. IT Prof. 8(5), 25–29 (2006)CrossRef Sangwan, R.S., LaPlante, P.A.L.: Test-driven development in large projects. IT Prof. 8(5), 25–29 (2006)CrossRef
20.
go back to reference Schuler, D., Zeller, A.: Javalanche: efficient mutation testing for Java. In: Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, ESEC/FSE 2009, pp. 297–298. ACM (2009) Schuler, D., Zeller, A.: Javalanche: efficient mutation testing for Java. In: Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, ESEC/FSE 2009, pp. 297–298. ACM (2009)
21.
go back to reference Shapiro, E.Y.: Algorithmic Program Debugging. MIT Press, Cambridge (1983)MATH Shapiro, E.Y.: Algorithmic Program Debugging. MIT Press, Cambridge (1983)MATH
23.
go back to reference Toaldo, J.R., Vergilio, S.R.: Applying mutation testing in prolog programs. In: VII Workshop de Testes e Tolerância a Falhas. Biblioteca Digital Brasileira de Computação (2006) Toaldo, J.R., Vergilio, S.R.: Applying mutation testing in prolog programs. In: VII Workshop de Testes e Tolerância a Falhas. Biblioteca Digital Brasileira de Computação (2006)
24.
go back to reference Wielemaker, J., Schrijvers, T., Triska, M., Lager, T.: SWI-prolog. Theory Pract. Logic Program. 12(1–2), 67–96 (2012)MathSciNetCrossRef Wielemaker, J., Schrijvers, T., Triska, M., Lager, T.: SWI-prolog. Theory Pract. Logic Program. 12(1–2), 67–96 (2012)MathSciNetCrossRef
Metadata
Title
Measuring Coverage of Prolog Programs Using Mutation Testing
Authors
Alexandros Efremidis
Joshua Schmidt
Sebastian Krings
Philipp Körner
Copyright Year
2019
DOI
https://doi.org/10.1007/978-3-030-16202-3_3

Premium Partner