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.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.