Skip to Main content Skip to Navigation
Journal articles

Leveraging metamorphic testing to automatically detect inconsistencies in code generator families

Abstract : Generative software development has paved the way for the creation of multiple code generators that serve as a basis for automatically generating code to different software and hardware platforms. In this context, the software quality becomes highly correlated to the quality of code generators used during software development. Eventual failures may result in a loss of confidence for the developers, who will unlikely continue to use these generators. It is then crucial to verify the correct behaviour of code generators in order to preserve software quality and reliability. In this paper, we leverage the metamorphic testing approach to automatically detect inconsistencies in code generators via so-called "metamorphic relations". We define the metamorphic relation (i.e., test oracle) as a comparison between the variations of performance and resource usage of test suites running on different versions of generated code. We rely on statistical methods to find the threshold value from which an unexpected variation is detected. We evaluate our approach by testing a family of code generators with respect to resource usage and performance metrics for five different target software platforms. The experimental results show that our approach is able to detect, among 95 executed test suites, 11 performance and 15 memory usage inconsistencies.
Document type :
Journal articles
Complete list of metadata

Cited literature [59 references]  Display  Hide  Download
Contributor : Mohamed Boussaa Connect in order to contact the contributor
Submitted on : Sunday, December 22, 2019 - 12:10:19 PM
Last modification on : Wednesday, November 3, 2021 - 8:07:51 AM
Long-term archiving on: : Monday, March 23, 2020 - 1:32:41 PM


Leveraging metamorphic testing...
Files produced by the author(s)



Mohamed Boussaa, Olivier Barais, Gerson Sunyé, Benoit Baudry. Leveraging metamorphic testing to automatically detect inconsistencies in code generator families. Journal of : Software Testing, Verification and Reliability, Wiley, 2019, ⟨10.1002/stvr.1721⟩. ⟨hal-02422437⟩



Les métriques sont temporairement indisponibles