Time for Networks: Mutation Testing for Timed Automata Networks - Cortes, David; Ortiz, James; Basile, Davide; Aranda, Jesus; Perrouin, Gilles; Schobbens, Pierre-Yves (FME Workshop on Formal Methods in Software Engineering (Online), 2024)
Mutation Testing (MT) is a technique employed to assess the efficacy of tests by introducing artificial faults, known as mutations, into the system. The goal is to evaluate how well the tests can detect these mutations. These artificial faults are generated using mutation operators, which produce a set of mutations derived from the original system. Mutation operators and frameworks exist for a variety of programming languages, and model-based mutation testing is gaining traction, particularly for timed safety-critical systems. This paper focuses on extending MT to Networks of Timed Automata (NTAs), an area that has not been extensively explored. We introduce mutation operators designed for NTAs specified in UPPAAL, aiming to create temporal interaction faults. We assess the effectiveness of these operators on five UPPAAL NTAs sourced from the literature, specifically examining the generation of equivalent and duplicate mutants. Our results demonstrate a varied prevalence of equivalent mutants (from 12% to 71%) while the number of duplicates is less. In all cases, timed bisimulation was able to process each mutant pair in less than one second.CCS CONCEPTS* Software and its engineering → Software testing and debugging; * Theory of computation → Timed and hybrid models.