As C/C++ has been widely used for several decades, a huge amount of C/C++ code is available. However, when using a modern processor having several cores, legacy code needs to be adapted for it to achieve the best performances. Modifying C/C++ code manually or automatically is not an easy task, given the complexity of the language. Moreover, it is paramount to check that the modified version keeps the emerging behaviour of the old one, except for the better performances. This paper proposes an automatic approach and the resulting tools to transform existing legacy C/C++ code for achieving parallel execution. The approach includes the automatic generation of test cases, customised for the code that has been converted into a parallel version. Test cases are auto-evaluating, hence a completely automatic cycle of code transformation, test generation, behavioural checking, has been achieved.

A (Reverse) Mutation Testing Approach to Automatically generate parallel C/C plus plus Code

Calanna, S;Calvagna, A;Campisi, S;Fornaia, A;Pappalardo, G;Torrisi, R;Tramontana, E
2021-01-01

Abstract

As C/C++ has been widely used for several decades, a huge amount of C/C++ code is available. However, when using a modern processor having several cores, legacy code needs to be adapted for it to achieve the best performances. Modifying C/C++ code manually or automatically is not an easy task, given the complexity of the language. Moreover, it is paramount to check that the modified version keeps the emerging behaviour of the old one, except for the better performances. This paper proposes an automatic approach and the resulting tools to transform existing legacy C/C++ code for achieving parallel execution. The approach includes the automatic generation of test cases, customised for the code that has been converted into a parallel version. Test cases are auto-evaluating, hence a completely automatic cycle of code transformation, test generation, behavioural checking, has been achieved.
2021
978-1-6654-2789-0
test case generation
static analysis
mutation testing
parallel code generation
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/20.500.11769/558321
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
  • ???jsp.display-item.citation.isi??? 0
social impact