Simulink fault localization: an iterative statistical debugging approach. (11th May 2016) - Liu, Bing; ,; Nejati, Shiva; Briand, Lionel C.; Bruckmann, Thomas
Summary: 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. Copyright © 2016 John Wiley & Sons, Ltd. Abstract : This paper proposes SimFL and iSimFL, fault localization techniques for Simulinkmodels. Our techniques combine statistical debugging and dynamic slicing. In addition, iSimFL (iteratively) utilizes heuristics to determine when test oracle expansion is beneficial for improving the fault localization accuracy. We applied our techniques to industrial automotive Simulink models. We show that the accuracy of our techniques is comparable with that of existing fault localization techniques applied to source code. Further, small test oracle expansions substantially improve debugging accuracy