Performance profiling can benefit from test cases that hit high-cost executions of programs. In this paper, we investigate the problem of automatically generating test cases that trigger the worst-case execution of programs and propose a novel technique that solves this problem with an unprecedented combination of symbolic execution and evolutionary algorithms. Our technique, which we refer to as ‘Evolutionary Symbolic Execution’, embraces the execution cost of the program paths as the fitness function to pursue the worst execution. It defines an original set of evolutionary operators, based on symbolic execution, which suitably sample the possible program paths to make the search process effective. Specifically, our technique defines a memetic algorithm that (i) incrementally evolves by steering symbolic execution to traverse new program paths that comply with execution conditions combined and refined from the currently collected worse program paths and (ii) periodically applies local optimizations to the execution conditions of the worst currently identified program path to further speed up the identification of the worst path. We report on a set of initial experiments indicating that our technique succeeds in generating good worst-case test cases for programs with which existing approaches cannot cope. Also, we show that, as far as the problem of generating worst-case test cases is concerned, the distinguishing evolutionary operators based on symbolic execution that we define in this paper are more effective than traditional operators that directly manipulate the program inputs.

Aquino, A., Braione, P., Denaro, G., Salza, P. (2020). Facilitating program performance profiling via evolutionary symbolic execution. SOFTWARE TESTING VERIFICATION & RELIABILITY, 30(2), 1-25 [10.1002/stvr.1719].

Facilitating program performance profiling via evolutionary symbolic execution

Braione P.;Denaro G.
;
2020

Abstract

Performance profiling can benefit from test cases that hit high-cost executions of programs. In this paper, we investigate the problem of automatically generating test cases that trigger the worst-case execution of programs and propose a novel technique that solves this problem with an unprecedented combination of symbolic execution and evolutionary algorithms. Our technique, which we refer to as ‘Evolutionary Symbolic Execution’, embraces the execution cost of the program paths as the fitness function to pursue the worst execution. It defines an original set of evolutionary operators, based on symbolic execution, which suitably sample the possible program paths to make the search process effective. Specifically, our technique defines a memetic algorithm that (i) incrementally evolves by steering symbolic execution to traverse new program paths that comply with execution conditions combined and refined from the currently collected worse program paths and (ii) periodically applies local optimizations to the execution conditions of the worst currently identified program path to further speed up the identification of the worst path. We report on a set of initial experiments indicating that our technique succeeds in generating good worst-case test cases for programs with which existing approaches cannot cope. Also, we show that, as far as the problem of generating worst-case test cases is concerned, the distinguishing evolutionary operators based on symbolic execution that we define in this paper are more effective than traditional operators that directly manipulate the program inputs.
Articolo in rivista - Articolo scientifico
genetic algorithms, software engineering, symbolic execution, worst-case execution time
English
21-nov-2019
2020
30
2
1
25
e1719
reserved
Aquino, A., Braione, P., Denaro, G., Salza, P. (2020). Facilitating program performance profiling via evolutionary symbolic execution. SOFTWARE TESTING VERIFICATION & RELIABILITY, 30(2), 1-25 [10.1002/stvr.1719].
File in questo prodotto:
File Dimensione Formato  
Aquino-2020-Softw Test Verif Reliab-VoR.pdf

Solo gestori archivio

Descrizione: Special Issue Article - Uncorrected proof
Tipologia di allegato: Publisher’s Version (Version of Record, VoR)
Licenza: Tutti i diritti riservati
Dimensione 412.27 kB
Formato Adobe PDF
412.27 kB Adobe PDF   Visualizza/Apri   Richiedi una copia
Aquino-2020-Softw Test Verif Reliab-VoR.pdf

Solo gestori archivio

Descrizione: Special Issue Article
Tipologia di allegato: Publisher’s Version (Version of Record, VoR)
Licenza: Tutti i diritti riservati
Dimensione 984.22 kB
Formato Adobe PDF
984.22 kB Adobe PDF   Visualizza/Apri   Richiedi una copia

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/280011
Citazioni
  • Scopus 0
  • ???jsp.display-item.citation.isi??? 0
Social impact