Leveraging metamorphic testing to automatically detect inconsistencies in code generator families

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

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Software testing, verification & reliability Jg. 30; H. 1
Hauptverfasser: Boussaa, Mohamed, Barais, Olivier, Sunyé, Gerson, Baudry, Benoit
Format: Journal Article
Sprache:Englisch
Veröffentlicht: Chichester Wiley Subscription Services, Inc 01.01.2020
Wiley
Schlagworte:
ISSN:0960-0833, 1099-1689, 1099-1689
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:SUMMARY 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. This paper shows an approach based on metamorphic testing to automatically detect inconsistencies in code generator families. The metamorphic relation is defined as a comparison between the variations of performance and resource usage of test suites running on different versions of generated code. Statistical methods are applied to find the threshold value from which an unexpected variation is detected. The experimental results show that our approach is able to detect several non‐functional inconsistencies.
Bibliographie:ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
ISSN:0960-0833
1099-1689
1099-1689
DOI:10.1002/stvr.1721