TY - GEN
T1 - Steering model-based oracles to admit real program behaviors
AU - Gay, Gregory
AU - Rayadurgam, Sanjai
AU - Heimdahl, Mats
PY - 2014
Y1 - 2014
N2 - 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.
AB - 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.
KW - Model-based testing
KW - Software testing
KW - Test oracles
UR - http://www.scopus.com/inward/record.url?scp=84903624992&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84903624992&partnerID=8YFLogxK
U2 - 10.1145/2591062.2591120
DO - 10.1145/2591062.2591120
M3 - Conference contribution
AN - SCOPUS:84903624992
SN - 9781450327688
T3 - 36th International Conference on Software Engineering, ICSE Companion 2014 - Proceedings
SP - 428
EP - 431
BT - 36th International Conference on Software Engineering, ICSE Companion 2014 - Proceedings
PB - Association for Computing Machinery
T2 - 36th International Conference on Software Engineering, ICSE 2014
Y2 - 31 May 2014 through 7 June 2014
ER -