Diagnosing unobserved components in self-adaptive systems

Availability is an increasingly important quality for today's software-based systems and it has been successfully addressed by the use of closed-loop control systems in self-adaptive systems. Probes are inserted into a running system to obtain information and the information is fed to a controller that, through provided interfaces, acts on the system to alter its behavior. When a failure is detected, pinpointing the source of the failure is a critical step for a repair action. However, information obtained from a running system is commonly incomplete due to probing costs or unavailability of probes. In this paper we address the problem of fault localization in the presence of incomplete system monitoring. We may not be able to directly observe a component but we may be able to infer its health state. We provide formal criteria to determine when health states of unobservable components can be inferred and establish formal theoretical bounds for accuracy when using any spectrum-based fault localization algorithm.

[1]  John Mylopoulos,et al.  From awareness requirements to adaptive systems: A control-theoretic approach , 2011, 2011 2nd International Workshop on Requirements@Run.Time.

[2]  Ladan Tahvildari,et al.  Self-adaptive software: Landscape and research challenges , 2009, TAAS.

[3]  Mordecai Avriel,et al.  Nonlinear programming , 1976 .

[4]  David Garlan,et al.  Rainbow: architecture-based self-adaptation with reusable infrastructure , 2004 .

[5]  Peter Zoeteweij,et al.  An Evaluation of Similarity Coefficients for Software Fault Localization , 2006, 2006 12th Pacific Rim International Symposium on Dependable Computing (PRDC'06).

[6]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[7]  Bradley R. Schmerl,et al.  Architecture-Based Run-Time Fault Diagnosis , 2011, ECSA.

[8]  Arjan J. C. van Gemund,et al.  Online Fault Localization and Health Monitoring for Software Systems , 2013, Situation Awareness with Systems of Systems.

[9]  Markus Stumptner,et al.  Model-Based Debugging or How to Diagnose Programs Automatically , 2002, IEA/AIE.

[10]  Marina Zanella,et al.  Test Oracle Placement in Spectrum-Based Fault Localization , 2013 .

[11]  Gregg Collins,et al.  Planning Under Uncertainty: Some Key Issues , 1995, IJCAI.

[12]  Gregory M. Provan,et al.  Computing Minimal Diagnoses by Greedy Stochastic Search , 2008, AAAI.

[13]  Bradley R. Schmerl,et al.  Software Engineering for Self-Adaptive Systems: A Second Research Roadmap , 2010, Software Engineering for Self-Adaptive Systems.

[14]  Alexander Feldman,et al.  A Two-Step Hierarchical Algorithm for Model-Based Diagnosis , 2006, AAAI.

[15]  Bradley R. Schmerl,et al.  Diagnosing architectural run-time failures , 2013, 2013 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[16]  Mary Shaw,et al.  Software Engineering for Self-Adaptive Systems: A Research Roadmap , 2009, Software Engineering for Self-Adaptive Systems.

[17]  Arjan J. C. van Gemund,et al.  Prioritizing Tests for Software Fault Localization , 2010, 2010 10th International Conference on Quality Software.

[18]  Rui Abreu,et al.  A Low-Cost Approximate Minimal Hitting Set Algorithm and its Application to Model-Based Diagnosis , 2009, SARA.

[19]  Rui Abreu,et al.  Online Spectrum-based Fault Localization for Health Monitoring and Fault Recovery of Self-Adaptive Systems , 2012, International Conference on Autonomic and Autonomous Systems.

[20]  Andy Zaidman,et al.  Improving Service Diagnosis through Increased Monitoring Granularity , 2013, 2013 IEEE 7th International Conference on Software Security and Reliability.

[21]  Markus Stumptner,et al.  Evaluating Models for Model-Based Debugging , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering.

[22]  A. S. Meyer,et al.  Comparison of similarity coefficients used for cluster analysis with dominant markers in maize (Zea mays L) , 2004 .

[23]  Bradley R. Schmerl,et al.  Architecture-based self-adaptation in the presence of multiple objectives , 2006, SEAMS '06.

[24]  Brian C. Williams,et al.  Diagnosing Multiple Faults , 1987, Artif. Intell..

[25]  C. E. SHANNON,et al.  A mathematical theory of communication , 1948, MOCO.

[26]  Yu Qi,et al.  Bp Neural Network-Based Effective Fault Localization , 2009, Int. J. Softw. Eng. Knowl. Eng..

[27]  Arjan J. C. van Gemund,et al.  Spectrum-Based Health Monitoring for Self-Adaptive Systems , 2011, 2011 IEEE Fifth International Conference on Self-Adaptive and Self-Organizing Systems.

[28]  Sang Joon Kim,et al.  A Mathematical Theory of Communication , 2006 .

[29]  Jeffrey O. Kephart,et al.  The Vision of Autonomic Computing , 2003, Computer.

[30]  Peter Zoeteweij,et al.  Spectrum-Based Multiple Fault Localization , 2009, 2009 IEEE/ACM International Conference on Automated Software Engineering.

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

[32]  David Garlan,et al.  Applying Autonomic Diagnosis at Samsung Electronics , 2013 .

[33]  Katsumi Inoue,et al.  Learning revised models for planning in adaptive systems , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[34]  Rui Abreu,et al.  Diagnosing multiple intermittent failures using maximum likelihood estimation , 2010, Artif. Intell..