TitleMeMo: Automatically identifying metamorphic relations in Javadoc comments for test automation
Publication TypeJournal Article
Year of Publication2021
AuthorsBlasi A, Gorla A, Ernst MD, Pezzè M, Carzaniga A
JournalJournal of Systems and Software
Volume181
Pagination111041:1–13
Date or Month PublishedNovember
AbstractSoftware 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.
DOI10.1016/j.jss.2021.111041
Downloadshttps://github.com/ariannab/MeMo implementation
Citation KeyBlasiGEPC2021