TY - JOUR
T1 - Simulink fault localization
T2 - an iterative statistical debugging approach
AU - Lucia
AU - Liu, Bing
AU - Nejati, Shiva
AU - Briand, Lionel C.
AU - Bruckmann, Thomas
N1 - Publisher Copyright:
Copyright © 2016 John Wiley & Sons, Ltd.
PY - 2016/9/1
Y1 - 2016/9/1
N2 - Debugging Simulink models presents a significant challenge in the embedded industry. This paper proposes SimFL, a fault localization approach for Simulink models by combining statistical debugging and dynamic model slicing. Simulink models, being visual and hierarchical, have multiple outputs at different hierarchy levels. Given a set of outputs to observe for localizing faults, we generate test execution slices, for each test case and output, of the Simulink model. In order to further improve fault localization accuracy, we propose iSimFL, an iterative fault localization algorithm. At each iteration, iSimFL increases the set of observable outputs by including outputs at lower hierarchy levels, thus increasing the test oracle cost but offsetting it with significantly more precise fault localization. We utilize a heuristic stopping criterion to avoid unnecessary test oracle extension. We evaluate our work on three industrial Simulink models from Delphi Automotive. Our results show that, on average, SimFL ranks faulty blocks in the top 8.9% in the list of suspicious blocks. Further, we show that iSimFL significantly improves this percentage down to 4.4% by requiring engineers to observe only an average of five additional outputs at lower hierarchy levels on top of high-level model outputs.
AB - Debugging Simulink models presents a significant challenge in the embedded industry. This paper proposes SimFL, a fault localization approach for Simulink models by combining statistical debugging and dynamic model slicing. Simulink models, being visual and hierarchical, have multiple outputs at different hierarchy levels. Given a set of outputs to observe for localizing faults, we generate test execution slices, for each test case and output, of the Simulink model. In order to further improve fault localization accuracy, we propose iSimFL, an iterative fault localization algorithm. At each iteration, iSimFL increases the set of observable outputs by including outputs at lower hierarchy levels, thus increasing the test oracle cost but offsetting it with significantly more precise fault localization. We utilize a heuristic stopping criterion to avoid unnecessary test oracle extension. We evaluate our work on three industrial Simulink models from Delphi Automotive. Our results show that, on average, SimFL ranks faulty blocks in the top 8.9% in the list of suspicious blocks. Further, we show that iSimFL significantly improves this percentage down to 4.4% by requiring engineers to observe only an average of five additional outputs at lower hierarchy levels on top of high-level model outputs.
KW - fault localization
KW - Simulink model
KW - test oracle
UR - http://www.scopus.com/inward/record.url?scp=84971222774&partnerID=8YFLogxK
U2 - 10.1002/stvr.1605
DO - 10.1002/stvr.1605
M3 - Article
AN - SCOPUS:84971222774
SN - 0960-0833
VL - 26
SP - 431
EP - 459
JO - Software Testing Verification and Reliability
JF - Software Testing Verification and Reliability
IS - 6
ER -