In this chapter we present Verification-Aided Regression Testing, a novel extension of regression testing that is significantly less sensitive to the completeness of the validation test suite due to the use of model checking. We extend the use of test case executions from conventional direct fault discovery to generation of behavioral properties specific to the new version by (i) automatically producing properties that are proved to hold for the base version of a program, (ii) automatically identifying and checking on the upgraded program only the properties that, according to the developers’ intention, must be preserved by the upgrade, and (iii) reporting the faults and the corresponding counterexamples that are not revealed by the regression tests. Our empirical study on both open-source and industrial software systems show that Verification-Aided Regression Testing produces properties that can be extremely beneficial in increasing the effectiveness of regression testing by timely and automatically detecting faults unnoticed by existing test suites.

Pastore, F., Mariani, L., Hyvärinen, A., Fedyukovich, G., Sharygina, N., Sehestedt, S., et al. (2015). Regression checking of changes in C software. In Validation of Evolving Software (pp. 185-207). Springer International Publishing [10.1007/978-3-319-10623-6_12].

Regression checking of changes in C software

PASTORE, FABRIZIO
;
MARIANI, LEONARDO
Secondo
;
2015

Abstract

In this chapter we present Verification-Aided Regression Testing, a novel extension of regression testing that is significantly less sensitive to the completeness of the validation test suite due to the use of model checking. We extend the use of test case executions from conventional direct fault discovery to generation of behavioral properties specific to the new version by (i) automatically producing properties that are proved to hold for the base version of a program, (ii) automatically identifying and checking on the upgraded program only the properties that, according to the developers’ intention, must be preserved by the upgrade, and (iii) reporting the faults and the corresponding counterexamples that are not revealed by the regression tests. Our empirical study on both open-source and industrial software systems show that Verification-Aided Regression Testing produces properties that can be extremely beneficial in increasing the effectiveness of regression testing by timely and automatically detecting faults unnoticed by existing test suites.
Capitolo o saggio
Model checking, dynamic analysis, software upgrades
English
Validation of Evolving Software
2015
9783319106229
Springer International Publishing
185
207
Pastore, F., Mariani, L., Hyvärinen, A., Fedyukovich, G., Sharygina, N., Sehestedt, S., et al. (2015). Regression checking of changes in C software. In Validation of Evolving Software (pp. 185-207). Springer International Publishing [10.1007/978-3-319-10623-6_12].
none
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10281/128932
Citazioni
  • Scopus 0
  • ???jsp.display-item.citation.isi??? ND
Social impact