Fault Localization in Embedded Control System Software

We describe an approach to automatically locating faulty statements in control code in embedded systems. Our approach uses the controller structure and examples of normal behavior in simulation to build structured probabilistic models that compactly encode the dynamic behavior of the system. Given an anomalous behavior sequence, we analyze the values of system state variables to determine which variables are responsible for the behavior. We use the variables obtained in this way together with the dynamic program dependence graph to determine a small set of potential causes (faulty statements) of the behavior, which are then ranked and presented to the developer. We evaluate our approach on the control systems for two prototype robotic surgery systems developed in our lab and demonstrate its ability to locate faults causing adverse and anomalous events during the systems' operation.

[1]  Philippe Poignet,et al.  Medically safe and sound [human-friendly robot dependability] , 2004, IEEE Robotics & Automation Magazine.

[2]  A.J.C. van Gemund,et al.  On the Accuracy of Spectrum-based Fault Localization , 2007, Testing: Academic and Industrial Conference Practice and Research Techniques - MUTATION (TAICPART-MUTATION 2007).

[3]  Keiji Kanazawa,et al.  A model for reasoning about persistence and causation , 1989 .

[4]  Chao Liu,et al.  Statistical Debugging: A Hypothesis Testing-Based Approach , 2006, IEEE Transactions on Software Engineering.

[5]  Nilanjan Sarkar,et al.  Robust Fault Detection of a Robotic Manipulator , 2007, Int. J. Robotics Res..

[6]  Thomas H. Massie,et al.  The PHANToM Haptic Interface: A Device for Probing Virtual Objects , 1994 .

[7]  Russell H. Taylor,et al.  Computer-Integrated Surgery: Technology and Clinical Applications , 1995 .

[8]  Andy Podgurski,et al.  The Probabilistic Program Dependence Graph and Its Application to Fault Diagnosis , 2010, IEEE Trans. Software Eng..

[9]  Russell H. Taylor,et al.  Medical robotics in computer-integrated surgery , 2003, IEEE Trans. Robotics Autom..

[10]  Leo Breiman,et al.  Classification and Regression Trees , 1984 .

[11]  Ozkan Bebek,et al.  Kinematic calibration of a parallel robot for small animal biopsies , 2009, 2009 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[12]  John A. Clark,et al.  Search-based mutation testing for Simulink models , 2005, GECCO '05.

[13]  Metin Akay,et al.  Wiley encyclopedia of biomedical engineering , 2006 .

[14]  David Leon,et al.  Finding failures by cluster analysis of execution profiles , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[15]  Daniel Kroening,et al.  Mutation-Based Test Case Generation for Simulink Models , 2009, FMCO.

[16]  Ross Gore,et al.  Statistical debugging with elastic predicates , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

[17]  Michael I. Jordan,et al.  Scalable statistical bug isolation , 2005, PLDI '05.

[18]  Rajiv Gupta,et al.  Fault localization using value replacement , 2008, ISSTA '08.

[19]  Feng Cao,et al.  Detection and Prediction of Adverse and Anomalous Events in Medical Robots , 2013, IAAI.

[20]  Mary Jean Harrold,et al.  Empirical evaluation of the tarantula automatic fault-localization technique , 2005, ASE.

[21]  Ozkan Bebek,et al.  Intelligent control algorithms for robotic-assisted beating heart surgery , 2007, IEEE Transactions on Robotics.

[22]  Ozkan Bebek,et al.  Heart Motion Prediction Based on Adaptive Estimation Algorithms for Robotic-Assisted Beating Heart Surgery , 2013, IEEE Transactions on Robotics.

[23]  D. Posada,et al.  Model selection and model averaging in phylogenetics: advantages of akaike information criterion and bayesian approaches over likelihood ratio tests. , 2004, Systematic biology.

[24]  David M. Auslander,et al.  Real-time software for control: program examples in C , 1990 .

[25]  S. B. Ellenby Safety issues concerning medical robotics , 1994 .

[26]  Murat Cenk Cavusoglu,et al.  Modeling of needle-tissue interaction forces during surgical suturing , 2012, 2012 IEEE International Conference on Robotics and Automation.

[27]  Yuhua Qi,et al.  Slice-based statistical fault localization , 2014, J. Syst. Softw..

[28]  Feng Cao,et al.  MFL: Method-Level Fault Localization with Causal Inference , 2013, 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation.

[29]  M. C. Cavusoglu Kinematics and Dynamics of Phantom(TM) model 1.5 Haptic Interface , 2001 .

[30]  F. Fleuret Fast Binary Feature Selection with Conditional Mutual Information , 2004, J. Mach. Learn. Res..

[31]  Gene F. Franklin,et al.  Digital control of dynamic systems , 1980 .

[32]  Frank Tip,et al.  Directed test generation for effective fault localization , 2010, ISSTA '10.

[33]  Mats Per Erik Heimdahl,et al.  An approach to automatic code generation for safety-critical systems , 1999, 14th IEEE International Conference on Automated Software Engineering.

[34]  Nir Friedman,et al.  Learning Bayesian Network Structure from Massive Datasets: The "Sparse Candidate" Algorithm , 1999, UAI.

[35]  Taoming Liu DESIGN AND PROTOTYPING OF A THREE DEGREES OF FREEDOM ROBOTIC WRIST MECHANISM FOR A ROBOTIC SURGERY SYSTEM , 2011 .

[36]  Y. Istefanopulos,et al.  IEEE Engineering in Medicine and Biology Society , 2019, IEEE Transactions on Biomedical Engineering.

[37]  Andreas Zeller,et al.  Locating causes of program failures , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[38]  Markus Stumptner,et al.  Model-Based Debugging - State of the Art And Future Challenges , 2007, V&D@FLoC.

[39]  Andy Podgurski,et al.  Causal inference for statistical fault localization , 2010, ISSTA '10.