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.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.