Skip to main content

2013 | OriginalPaper | Buchkapitel

Locating and Correcting Software Faults in Executable Code Slices via Evolutionary Mutation Testing

verfasst von : Pantelis Stylianos Yiasemis, Andreas S. Andreou

Erschienen in: Enterprise Information Systems

Verlag: Springer Berlin Heidelberg

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

search-config
loading …

Abstract

Software testing is an important phase of software development that helps eliminating the possibility of project failure. As software systems get more complicated and larger in size, testing needs to constantly evolve and provide more “sophisticated” techniques, like automatic, self-adaptive mutation testing, targeting at improving the efficiency and effectiveness of the testing phase by handling the increased complexity that leads to increased demands in time and effort. Mutation testing is the procedure of applying a series of operators on correctly functioning programs so as to induce “faults” that correspond to real, common programming errors and then assess the ability of a set of test cases to reveal those errors. We introduce a novel approach for identifying and correcting faults in Java source code with the use of code slicing, mutation testing and Genetic Algorithms. Three different categories of experiments are used to assess the effectiveness of the proposed solution, demonstrating its applicability on a variety of programs and type of errors. The results are quite encouraging suggesting that the approach is able to dynamically detect faults and propose the appropriate corrections.

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!

Literatur
1.
Zurück zum Zitat Patton, R.: Software Testing, 2nd edn. Sams Publishing, Indianapolis (2006) Patton, R.: Software Testing, 2nd edn. Sams Publishing, Indianapolis (2006)
2.
Zurück zum Zitat Myers, G.J.: The Art of Software Testing. Wiley-Interscience, New York (1979) Myers, G.J.: The Art of Software Testing. Wiley-Interscience, New York (1979)
3.
Zurück zum Zitat Weiser, M.D.: Program slices: formal psychological and practical investigations of an automatic abstraction method. Ph.D. thesis, University of Michigan, USA (1979) Weiser, M.D.: Program slices: formal psychological and practical investigations of an automatic abstraction method. Ph.D. thesis, University of Michigan, USA (1979)
4.
Zurück zum Zitat Reps, T., Bricker, T.: Illustrating interference in interfering versions of programs. In: Proceedings of the Second International Workshop on Software Configuration Management (1989) Reps, T., Bricker, T.: Illustrating interference in interfering versions of programs. In: Proceedings of the Second International Workshop on Software Configuration Management (1989)
5.
Zurück zum Zitat Agrawal, H., Horgan, J.R., London, S., Wong, W.E.: Fault localization using execution slices and dataflow tests. In: Sixth International Symposium on Software Reliability Engineering, vol. 24(27), pp. 143–151 (1995) Agrawal, H., Horgan, J.R., London, S., Wong, W.E.: Fault localization using execution slices and dataflow tests. In: Sixth International Symposium on Software Reliability Engineering, vol. 24(27), pp. 143–151 (1995)
6.
Zurück zum Zitat Agrawal, H., Horgan, J.R.: Dynamic program slicing. In: ACM SIGPLAN Conference on Programming Language Design and Implementation, White Plains, New York, U.S.A., pp. 246–256, ACM Press (1990) Agrawal, H., Horgan, J.R.: Dynamic program slicing. In: ACM SIGPLAN Conference on Programming Language Design and Implementation, White Plains, New York, U.S.A., pp. 246–256, ACM Press (1990)
7.
Zurück zum Zitat Black, S., Counsell, S., Hall, T., Wernick, P.: Using program slicing to identify faults in software. In: Dagstuhl, Seminar Nº, vol. 05451 (2005) Black, S., Counsell, S., Hall, T., Wernick, P.: Using program slicing to identify faults in software. In: Dagstuhl, Seminar Nº, vol. 05451 (2005)
8.
Zurück zum Zitat Hamlet, R.G.: Testing programs with the aid of a compiler. IEEE Trans. Softw. Eng. 3(4), 279–290 (1977)CrossRef Hamlet, R.G.: Testing programs with the aid of a compiler. IEEE Trans. Softw. Eng. 3(4), 279–290 (1977)CrossRef
9.
Zurück zum Zitat DeMillo, R.A., Lipton, R.J., Sayward, F.G.: Hints on test data selection: help for the practicing programmer. IEEE Comput. 11(4), 34–41 (1978)CrossRef DeMillo, R.A., Lipton, R.J., Sayward, F.G.: Hints on test data selection: help for the practicing programmer. IEEE Comput. 11(4), 34–41 (1978)CrossRef
10.
Zurück zum Zitat Harman, M., Jia, Y., Langdon, W.B.: Strong higher order mutation-base test data generation. In: ESEC/FSE’11, Szeged, Hungary, 5–9 Sept 2011 Harman, M., Jia, Y., Langdon, W.B.: Strong higher order mutation-base test data generation. In: ESEC/FSE’11, Szeged, Hungary, 5–9 Sept 2011
11.
Zurück zum Zitat Nica, M., Nica, S., Wotawa, F.: On the use of mutations and testing for debugging. Softw.-Pract. Exp. (2012) (Article published online) Nica, M., Nica, S., Wotawa, F.: On the use of mutations and testing for debugging. Softw.-Pract. Exp. (2012) (Article published online)
12.
Zurück zum Zitat Goldberg, D.E.: Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley, Upper Saddle River (1989) Goldberg, D.E.: Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley, Upper Saddle River (1989)
13.
Zurück zum Zitat Jiang, T., Gold, N., Harman, M., Li, Z.: Locating dependence structures using search based slicing. J. Inf. Softw. Technol. 50(12), 1189–1209 (2008)CrossRef Jiang, T., Gold, N., Harman, M., Li, Z.: Locating dependence structures using search based slicing. J. Inf. Softw. Technol. 50(12), 1189–1209 (2008)CrossRef
14.
Zurück zum Zitat Arcuri, A., Yao, X.: A novel co-evolutionary approach to automatic software bug fixing. In: IEEE Congress on Evolutionary Computation IEEE World Congress on Computational Intelligence, pp. 162–168 (2008) Arcuri, A., Yao, X.: A novel co-evolutionary approach to automatic software bug fixing. In: IEEE Congress on Evolutionary Computation IEEE World Congress on Computational Intelligence, pp. 162–168 (2008)
15.
Zurück zum Zitat Weimer, W., Forrest, S., Le Goues, C., Nguyen, T.: Automatic program repair with evolutionary computation. Commun. ACM Res. Highlight 53(5), 109–116 (2010)CrossRef Weimer, W., Forrest, S., Le Goues, C., Nguyen, T.: Automatic program repair with evolutionary computation. Commun. ACM Res. Highlight 53(5), 109–116 (2010)CrossRef
16.
Zurück zum Zitat Offutt, A.J.: The coupling effect: fact or fiction. In: ACM SIGSOFT ‘89—Third symposium on Software Testing, Analysis, and Verification. ACM, New York (1989) Offutt, A.J.: The coupling effect: fact or fiction. In: ACM SIGSOFT ‘89—Third symposium on Software Testing, Analysis, and Verification. ACM, New York (1989)
17.
Zurück zum Zitat Fraser, G., Zeller, A.: Generating parameterized unit tests. In: International Symposium on Software Testing and Analysis (ISSTA’11), Toronto, Canada, 17–21 July 2011 Fraser, G., Zeller, A.: Generating parameterized unit tests. In: International Symposium on Software Testing and Analysis (ISSTA’11), Toronto, Canada, 17–21 July 2011
18.
Zurück zum Zitat Offutt, A.J., Untch, R.H.: Mutation 2000: uniting the orthogonal. In: 1st Workshop on Mutation Analysis (MUTATION’00), San Jose, California, pp. 34–44 (2001) Offutt, A.J., Untch, R.H.: Mutation 2000: uniting the orthogonal. In: 1st Workshop on Mutation Analysis (MUTATION’00), San Jose, California, pp. 34–44 (2001)
19.
Zurück zum Zitat King, K.N., Offutt, J.: A Fortran language system for mutation-based software testing. Softw. Pract. Exp. 21(7), 686–718 (1991)CrossRef King, K.N., Offutt, J.: A Fortran language system for mutation-based software testing. Softw. Pract. Exp. 21(7), 686–718 (1991)CrossRef
20.
Zurück zum Zitat Binkley, D., Danicic, S., Gyimothy, T., Harman, M., Kiss, A., Korel, B.: Theoretical foundations of dynamic program slicing. Theor. Comput. Sci. 360, 23–41 (2006) Binkley, D., Danicic, S., Gyimothy, T., Harman, M., Kiss, A., Korel, B.: Theoretical foundations of dynamic program slicing. Theor. Comput. Sci. 360, 23–41 (2006)
21.
Zurück zum Zitat Offutt, J., Ma, Y.S., Kwon, Y.R.: MuJava: an automated class mutation system. Softw. Test. Verif. Reliab. 15, 97–133 (2005)CrossRef Offutt, J., Ma, Y.S., Kwon, Y.R.: MuJava: an automated class mutation system. Softw. Test. Verif. Reliab. 15, 97–133 (2005)CrossRef
23.
Zurück zum Zitat Wang, T., Roychoudhury, A.: Using compressed bytecode traces for slicing Java programs. In: ACM/IEEE International Conference on Software Engineering (ICSE), pp. 512–521 (2004) Wang, T., Roychoudhury, A.: Using compressed bytecode traces for slicing Java programs. In: ACM/IEEE International Conference on Software Engineering (ICSE), pp. 512–521 (2004)
24.
Zurück zum Zitat DeYong, J.: Program slicing for Java 1.6. Master Thesis, Eindhoven University of Technology, Eindhoven, Holland (2011) DeYong, J.: Program slicing for Java 1.6. Master Thesis, Eindhoven University of Technology, Eindhoven, Holland (2011)
25.
Zurück zum Zitat Yiasemis, P., Andreou, A.: Dynamic Localisation and Automatic Correction of Software Faults Using Evolutionary Mutation Testing. In: Cordeiro, J., Maciaszek, L.A., Filipe, J. (eds.) ICEIS 2012. LNBIP, vol. 141, pp. XX–YY. Springer, Heidelberg (2012) Yiasemis, P., Andreou, A.: Dynamic Localisation and Automatic Correction of Software Faults Using Evolutionary Mutation Testing. In: Cordeiro, J., Maciaszek, L.A., Filipe, J. (eds.) ICEIS 2012. LNBIP, vol. 141, pp. XX–YY. Springer, Heidelberg (2012)
26.
Zurück zum Zitat Nica, S., Ramler, R., Wotawa, F.: Is mutation testing scalable for real-world software projects? In: VALID Third International Conference on Advances in System Testing and Validation Lifecycle, Barcelona, Spain (2011) Nica, S., Ramler, R., Wotawa, F.: Is mutation testing scalable for real-world software projects? In: VALID Third International Conference on Advances in System Testing and Validation Lifecycle, Barcelona, Spain (2011)
Metadaten
Titel
Locating and Correcting Software Faults in Executable Code Slices via Evolutionary Mutation Testing
verfasst von
Pantelis Stylianos Yiasemis
Andreas S. Andreou
Copyright-Jahr
2013
Verlag
Springer Berlin Heidelberg
DOI
https://doi.org/10.1007/978-3-642-40654-6_13

Premium Partner