Software testing depends on effective oracles. Implicit oracles, such as checks for program crashes, are widely applicable but narrow in scope. Oracles based on formal specifications can reveal application-specific failures, but specifications are expensive to obtain and maintain. Metamorphic oracles are somewhere in-between. They test equivalence among different procedures to detect semantic failures. Until now, the identification of metamorphic relations has been a manual and expensive process, except for few specific domains where automation is possible. We present MeMo, a technique and a tool to automatically derive metamorphic equivalence relations from natural language documentation, and we use such metamorphic relations as oracles in automatically generated test cases. Our experimental evaluation demonstrates that 1) MeMo can effectively and precisely infer equivalence metamorphic relations, 2) MeMo complements existing state-of-the-art techniques that are based on dynamic program analysis, and 3) metamorphic relations discovered with MeMo effectively detect defects when used as test oracles in automatically-generated or manually-written test cases.

Blasi, A., Gorla, A., Ernst, M., Pezze', M., Carzaniga, A. (2021). MeMo: Automatically identifying metamorphic relations in Javadoc comments for test automation. THE JOURNAL OF SYSTEMS AND SOFTWARE, 181 [10.1016/j.jss.2021.111041].

MeMo: Automatically identifying metamorphic relations in Javadoc comments for test automation

Pezze' M.;
2021

Abstract

Software testing depends on effective oracles. Implicit oracles, such as checks for program crashes, are widely applicable but narrow in scope. Oracles based on formal specifications can reveal application-specific failures, but specifications are expensive to obtain and maintain. Metamorphic oracles are somewhere in-between. They test equivalence among different procedures to detect semantic failures. Until now, the identification of metamorphic relations has been a manual and expensive process, except for few specific domains where automation is possible. We present MeMo, a technique and a tool to automatically derive metamorphic equivalence relations from natural language documentation, and we use such metamorphic relations as oracles in automatically generated test cases. Our experimental evaluation demonstrates that 1) MeMo can effectively and precisely infer equivalence metamorphic relations, 2) MeMo complements existing state-of-the-art techniques that are based on dynamic program analysis, and 3) metamorphic relations discovered with MeMo effectively detect defects when used as test oracles in automatically-generated or manually-written test cases.
Articolo in rivista - Articolo scientifico
Natural language processing; Software testing; Test oracle generation;
English
2021
181
111041
none
Blasi, A., Gorla, A., Ernst, M., Pezze', M., Carzaniga, A. (2021). MeMo: Automatically identifying metamorphic relations in Javadoc comments for test automation. THE JOURNAL OF SYSTEMS AND SOFTWARE, 181 [10.1016/j.jss.2021.111041].
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/10281/535805
Citazioni
  • Scopus 26
  • ???jsp.display-item.citation.isi??? 23
Social impact