New challenges in certification for aircraft software
EMSOFT '11 Proceedings of the ninth ACM international conference on Embedded software
Large-scale complex IT systems
Communications of the ACM
Runtime verification for ultra-critical systems
RV'11 Proceedings of the Second international conference on Runtime verification
Copilot: monitoring embedded systems
Innovations in Systems and Software Engineering
Runtime verification of microcontroller binary code
Science of Computer Programming
Hi-index | 0.03 |
A formal approach to select tests for regression testing of changes performed in a system evolution step is proposed. Systems are modeled as extended finite state machines (EFSMs) supporting several commonly used data types including booleans, numbers, arrays, queues and records. Tests are described using a sequence of input and expected output messages with concrete parameter values. Changes add/delete/replace one or more EFSM transitions. Transitions potentially executed by a test are automatically identified from its description. A simple structural invariant for a test description based on these transitions is introduced. It is shown that for a test description satisfying the invariant it can be accurately determined if a given change affects the test. Affected tests are selected for regression testing of the change. Failure of a description to meet the invariant is analyzed to identify non-observable regions in the description, which are then further analyzed using other system transitions to identify affected tests. We also describe a novel approach based on substitutability of tests to reduce the size of a regression test suite without affecting coverage. The effectiveness of the proposed approach is illustrated by applying it to several examples. Our experiments based on a well-known cost model for regression testing show that the proposed approach is economical for selective re-testing in these examples.