The oracle-an arbiter of correctness of the system under test (SUT)-is a major component of the testing process. Specifying oracles is challenging for real-time embedded systems, where small changes in time or sensor inputs may cause large differences in behavior. Behavioral models of such systems, often built for analysis and simulation, are appealing for reuse as oracles. However, these models typically provide an idealized view of the system. Even when given the same inputs, the model's behavior can frequently be at variance with an acceptable behavior of the SUT executing on a real platform. We therefore propose steering the model when used as an oracle, to admit an expanded set of behaviors when judging the SUT's adherence to its requirements. On detecting a behavioral difference, the model is backtracked and then searched for a new state that satisfies certain constraints and minimizes a dissimilarity metric. The goal is to allow non-deterministic, but bounded, behavior differences while preventing future mismatches, by guiding the oracle-within limits-to match the execution of the SUT. Early results show that steering significantly increases SUT-oracle conformance with minimal masking of real faults and, thus, has significant potential for reducing development costs.
|Original language||English (US)|
|Title of host publication||36th International Conference on Software Engineering, ICSE Companion 2014 - Proceedings|
|Publisher||Association for Computing Machinery|
|Number of pages||4|
|State||Published - 2014|
|Event||36th International Conference on Software Engineering, ICSE 2014 - Hyderabad, India|
Duration: May 31 2014 → Jun 7 2014
|Name||36th International Conference on Software Engineering, ICSE Companion 2014 - Proceedings|
|Other||36th International Conference on Software Engineering, ICSE 2014|
|Period||5/31/14 → 6/7/14|
Copyright 2014 Elsevier B.V., All rights reserved.
- Model-based testing
- Software testing
- Test oracles