CN  Vol.9 No.1 , February 2017
A Survey about Self-Healing Systems (Desktop and Web Application)
The complexity of computer architectures, software, web applications, and its large spread worldwide using the internet and the rapid increase in the number of users in companion with the increase of maintenance cost are all factors guided many researchers to develop software, web applications and systems that have the ability of self-healing. The aim of the self healing software feature is to fast recover the application and keep it running and available for 24/7 as optimal as possible. This survey provides an overview of self-healing software and system that is especially useful in all of those situations in which the involvement of humans is costly and hard to recover and needs to be automated with self healing. There are different aspects which will make us understand the different benefits of these self-healing systems. Finally, the approaches, techniques, mechanisms and individual characteristics of self healing are classified in different tables and then summarized.
Cite this paper: Hudaib, A. , Fakhouri, H. , Al Adwan, F. and Fakhouri, S. (2017) A Survey about Self-Healing Systems (Desktop and Web Application). Communications and Network, 9, 71-88. doi: 10.4236/cn.2017.91004.

[1]   Avizienis, A., Gilley, G., Mathur, F., Rennels, D., Rohr, J. and Rubin, D. (1971) The STAR (Self-Testing and Repairing) Computer: An Investigation of the Theory and Practice of Fault-Tolerant Computer Design. IEEE Transactions on Computers, 20, 1312-1321.

[2]   Koldehofe, B., Mayer, R., Umakishore, Rothermel, K. and VÖlz, M. (2013) Rollback-Recovery without Checkpoints in Distributed Event Processing Systems. DEBS’13, Arlington, 29 June-3 July 2013.

[3]   Krena, B., Letko, Z., Tzoref, R., Ur, S. and Vojnar, T. (2007) Healing Data Races On-the-Fly. PADTAD’07, London.

[4]   Dabrowski, C. and Mills, K.L. (2002) Understanding Self-Healing in Service Discovery Systems. Proceedings of the First Workshop on Self-Healing Systems, Charleston, 18-19 November 2002, 15-20.

[5]   Saran, C. (2003) Could Self-Healing Software Be the IT Director’s Way of Cutting Support Costs?

[6]   Perez, C.-R., Stelios, S., Laadan, O., Viennot, N., Keromytis, A. and Nieh, J. (2009) Automatic Self-Healing and Present and Future. 23 June 2009.

[7]   Weyns, D., Haesevoets, R., Van Eylen, B., Helleboogh, A., Holvoet, T. and Joosen, W. (2008) Endogenous versus Exogenous Self-Management. SEAMS’08, Leipzig, 12-13 May 2008.

[8]   Ardagna, D., Cappiello, C., Fugini, M.G., Mussi, E., Pernici, B. and Plebani, P. (2006) Faults and Recovery Actions for SelfHealing Web Services.

[9]   Li, D., Tran, A.H. and Halfond, W.G.J. (2014) Making Web Applications More Energy Efficient for OLED Smartphones. ICSE’14, 31 May-7 June 2014, Hyderabad.

[10]   Lee, D., Yoo, J., Kang, H., Kim, K. and Kang, K. (2006) Distributed IPv6 Addressing Technique for Mobile Ad-hoc Networks. SAC’06, 23-27 April 2006, Dijon.

[11]   Athanasopoulos, D., Zarras, A.V., Vassiliadis, P. and Issarny, V. (2011) Mining Service Abstractions: NIER Track. 2011 33rd International Conference on Software Engineering, Honolulu, 21-28 May 2011, 944-947.

[12]   Frei, R., McWilliam, R., Derrick, B., Purvis, A., Tiwari, A. and Serugendo, G.D.M. (2013) Self-Healing and Self-Repairing Technologies. The International Journal of Advanced Manufacturing Technology, 69, 1033-1061.

[13]   Ghosh, D., Sharman, R., Rao, H.R. and Upadhyaya, S. (2007) Self-Healing Systems—Survey and Synthesis. Decision Support Systems, 42, 2164-2185.

[14]   Brahme, D. and Abraham, J.A. (1984) Functional Testing of Microprocessors. IEEE Transactions on Computers, C-33, 475-485.

[15]   Janssen, T., Arjan, R.A., van Gemund, J.C. and Zoltar, A. (2009) Spectrum-Based Fault Localization Tool. SINTER’09, Amsterdam, 25 August 2009.

[16]   Dashofy, E.M., Hoek, A.V.D. and Taylor, R.N. (2002) Towards Architecture-Based Self-Healing Systems. Proceedings of the 1st Workshop on Self-Healing Systems, Charleston, 18-19 November 2002, 21-26.

[17]   Frei, R. (2010) Self-Organisation in Evolvable Assembly Systems. PhD Thesis. Department of Electrical Engineering, Faculty of Science and Technology, Universidade Nova de Lisboa, Portugal.

[18]   Hudaib, A.A. and Fakhouri, H.N. (2016) An Automated Approach for Software Fault Detection and Recovery. Communications and Network, 8.

[19]   Blair, G.S., Coulson, G., Blair, L., Limon, H.D., Grace, P., Moreira, R. and Parlavantzas, N. (2002) Reflection, Self-Awareness and Self-Healing in Open ORB. Proceedings of the 1st Workshop on Self-Healing Systems, Charleston, 18-19 November 2002, 9-14.

[20]   Pasier, H. and Dustdar, S. (2011) A Survey on Self-Healing Systems: Approaches and Systems. Computing, 91, 43-73.

[21]   Diaconescu, A. (2003) A Framework for Using Component Redundancy for Self-Adapting and Self-Optimising Component-Based Enterprise Systems. OOPSLA’03, Anaheim, 26-30 October 2003.

[22]   Thatte, S.M. and Abraham, J.A. (1978) A Methodology for Functional Level Testing of Microprocessors. Highlights from Twenty-Five Years, Twenty-Fifth International Symposium on Fault-Tolerant Computing, 27-30 June 1995, 326.

[23]   Georgiadis, J. and Kramer, M.J. (2002) Self-Organizing Software Architectures for Distributed Systems. Proceedings of the 1st Workshop on Self-Healing Systems, Charleston, 18-19 November 2002, 33-38.

[24]   Zhou, J. and Wunderlich, H.-J. (2006) Software-Based Self-Test of Processors under Power Constraints. Proceedings of Design, Automation and Test in Europe, Vol. 1, Munich, 6-10 March 2006, 1-6.

[25]   Carzaniga, A., Gorla, A. and Pezzè, M. (2008) Self-Healing by Means of Automatic Workarounds. SEAMS’08, Leipzig, 12-13 May 2008.

[26]   Trumler, W., Bagci, F., Petzold, J. and Ungerer, T. (2005) AMUN—Autonomic Middleware for Ubiquitous Environments Applied to the Smart Doorplate Project. Advanced Engineering Informatics, 19, 243-252.

[27]   Schneider, C., Barker, A. and Dobson, S. (2013) A Survey of Self-Healing Systems Frameworks. Software: Practice and Experience, 45, 1375-1398.

[28]   George, S., Evans, D. and Marchette, S. (2003) A Biological Programming Model for Self-Healing. 1st ACM Workshop on Survivable and Self-Regenerative Systems, Fair-fax, 31 October 2003, 72-81.

[29]   Valetto, G. and Kaiser, G.E. (2002) Case Study in Software Adaptation. Proceedings of the 1st Workshop on Self-Healing Systems, Charleston, 18-19 November 2002, 73-78.

[30]   Aldrich, J., Sazawal, V., Chambers, C. and Nokin, D. (2002) Architecture Centric Programming for Adaptive Systems. Proceedings of the 1st Workshop on Self-Healing Systems, Charleston, 18-19 November 2002, 93-95.

[31]   Merideth, M.G. and Narasimhan, P. (2003) Proactive Containment of Malice in Survivable Distributed System. International Conference on Security and Management, Las Vegas, June 2003, 3-9.

[32]   Knop, M.W., Schopf, J.M. and Dinda, P.A. (2002) Windows Performance Monitoring and Data Reduction Using Watch Tower. Workshop on Self-Healing, Adaptive and Self-MANaged Systems (SHAMAN), New York City, 23 June 2002.

[33]   Michiels, S., Desmet, L., Janssens, N., Mahieu, T. and Verbaeten, P. (2002) Self-Adapting Concurrency: The DMonA Architecture. Proceedings of the 1st Workshop on Self-Healing Systems, Charleston, 18-19 November 2002, 43-48.

[34]   Fuad, M.M., Deb, D. and Baek, J. (2012) Self-Healing by Means of Runtime Execution Profiling. Proceedings of 14th International Conference on Computer and Information Technology (ICCIT 2011), Dhaka, 22-24 December 2011, 202-207.

[35]   Shin, M.E. (2005) Self-Healing Component in Robust Software Architecture for Concurrent and Distributed Systems. Science of Computer Programming, 57, 27-44.

[36]   Koopman, P. (2003) Elements of the Self-Healing System Problem Space. Proceedings of Workshop on Architecting Dependable Systems/WADS03, Portland, 1-6.

[37]   Jiang, M., Zhang, J., Raymer, D. and Strassner, J. (2007) A Modeling Framework for Self-Healing Software Systems.

[38]   Combs, N. and Vagle, J. (2002) Adaptive Mirroring of System of Systems Architectures. Proceedings of the 1st Workshop on Self-Healing Systems, Charleston, 18-19 November 2002, 96-98.

[39]   Raz, O., Koopman, P. and Shaw, M. (2002) Semantic Anomaly Detection in Online Data Sources. Proceedings of the 24th International Conference on Software Engineering (ICSE’02), Orlando, 25 May 2002, 302-312.

[40]   Raz, O., Koopman, P. and Shaw, M. (2002) Enabling Automatic Adaptation in Systems with Under-Specific Elements. Proceedings of the 1st Workshop on Self-Healing Systems, Charleston, 18-19 November 2002, 55-60.

[41]   Hong, Y., Chen, D., Li, L. and Trivedi, K. (2002) Closed Loop Design for Software Rejuvenation. Workshop on Self-Healing, Adaptive and Self-Managed Systems (SHAMAN), New York, 23 June 2002.

[42]   Al Zaghoul, F., Rababah, O. and Fakhouri, H. (2014) Website Search Engine Optimization: Geographical and Cultural Point of View, Computer Modelling and Simulation (UKSim). 2014 UKSim-AMSS 16th International Conference.

[43]   Katti, A., Di Fatta, G., Naughton, T. and Engelmann, C. (2015) Scalable and Fault Tolerant Failure Detection and Consensus. EuroMPI’15, Bordeaux, 21-23 September 2015.

[44]   Ehlers, J., van Hoorn, A., Waller, J. and Hasselbring, W. (2011) Self-Adaptive Software System Monitoring for Performance Anomaly Localization. ICAC’11, Karls-ruhe, 14-18 June 2011.

[45]   Sánchez, J., Ben Yahia, I.G. and Crespi, N. (2014) POSTER: Self-Healing Mechanisms for Software-Defined Networks.

[46]   Locasto, M.E. (2007) Self-Healing: Science, Engineering, and Fiction. NSPW’07, North Conway, 18-21 September 2007.

[47]   Anand, M., Chouhan, K., Ravi, S. and Ahmed, S.M. (2011) Context Switching Semaphore with Data Security Issues using Self-Healing Approach. International Journal of Advanced Computer Science and Applications, 2.

[48]   Gorla, A., Pezzè, M. and Wuttke, J. (2010) Achieving Cost-Effective Software Reliability through Self-Healing. Computing and Informatics, 2, 1001-1022.

[49]   Dustdar, P.S. (2011) A Survey on Self-Healing Systems: Approaches and Systems. 91, 43-73.

[50]   Abdullah, A., Candrawati, R. and Bhakti, M.A.C. (2009) Multi-Tiered Bio-Inspired Self-Healing Architectural Paradigm for Software Systems. Jurnal Teknologi Maklumat & Multimedia, 5, 1-24.

[51]   Park, J., Youn, H. and Lee, E. (2009) An Automatic Code Generation for Self-Healing. Journal of Information Science and Engineering, 25, 1753-1781.

[52]   Brumley, D., Newsome, J. and Sting, D.S. An End-to-End Self-Healing System for Defending against Internet Worms.

[53]   George, S., Evans, D. and Davidson, L. (2002) A Biologically Inspired Programming Model for Self-Healing Systems. WOSS’02, Charleston, 18-19 November 2002.