{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,13]],"date-time":"2026-03-13T13:02:18Z","timestamp":1773406938853,"version":"3.50.1"},"reference-count":70,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2013,10,1]],"date-time":"2013-10-01T00:00:00Z","timestamp":1380585600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100004965","name":"Sixth Framework Programme","doi-asserted-by":"publisher","id":[{"id":"10.13039\/501100004965","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Softw. Eng. Methodol."],"published-print":{"date-parts":[[2013,10]]},"abstract":"<jats:p>To design effective exception handlers, developers must predict at design time the exceptional events that may occur at runtime, and must implement the corresponding handlers on the basis of their predictions. Designing exception handlers for component-based software systems is particularly difficult because the information required to build handlers is distributed between component and application developers. Component developers know the internal details of the components but ignore the applications, while application developers own the applications but cannot access the details required to implement handlers in components.<\/jats:p>\n          <jats:p>This article addresses the problem of automatically healing the infield failures that are caused by faulty integration of OTS components. In the article, we propose a technique and a methodology to decouple the tasks of component and application developers, who will be able to share information asynchronously and independently, and communicate implicitly by developing and deploying what we call healing connectors. Component developers implement healing connectors on the basis of information about the integration problems frequently experienced by application developers. Application developers easily and safely install healing connectors in their applications without knowing the internal details of the connectors. Healing connectors heal failures activated by exceptions raised in the OTS components actually deployed in the system.<\/jats:p>\n          <jats:p>The article defines healing connectors, introduces a methodology to develop and deploy healing connectors, and presents several case studies that indicate that healing connectors are effective, reusable and efficient.<\/jats:p>","DOI":"10.1145\/2522920.2522923","type":"journal-article","created":{"date-parts":[[2013,10,17]],"date-time":"2013-10-17T12:23:34Z","timestamp":1382012614000},"page":"1-40","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":11,"title":["Exception handlers for healing component-based systems"],"prefix":"10.1145","volume":"22","author":[{"given":"Herv\u00e9","family":"Chang","sequence":"first","affiliation":[{"name":"University of Milano Bicocca, Milano, Italy"}]},{"given":"Leonardo","family":"Mariani","sequence":"additional","affiliation":[{"name":"University of Milano Bicocca, Milano, Italy"}]},{"given":"Mauro","family":"Pezz\u00e8","sequence":"additional","affiliation":[{"name":"University of Milano Bicocca and University of Lugano, Switzerland"}]}],"member":"320","published-online":{"date-parts":[[2013,10,22]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"Apache. 2012a. Apache maven. http:\/\/maven.apache.org.  Apache. 2012a. Apache maven. http:\/\/maven.apache.org."},{"key":"e_1_2_1_2_1","unstructured":"Apache. 2012b. Apache projects. http:\/\/projects.apache.org\/.  Apache. 2012b. Apache projects. http:\/\/projects.apache.org\/."},{"key":"e_1_2_1_3_1","unstructured":"Aspectwerkz. 2012. Aspectwerkz. http:\/\/aspectwerkz.codehaus.org\/.  Aspectwerkz. 2012. Aspectwerkz. http:\/\/aspectwerkz.codehaus.org\/."},{"key":"e_1_2_1_4_1","unstructured":"Eclipse. 2012. Eclipse emf-jet. http:\/\/www.eclipse.org\/modeling\/emf\/docs\/.  Eclipse. 2012. Eclipse emf-jet. http:\/\/www.eclipse.org\/modeling\/emf\/docs\/."},{"key":"e_1_2_1_5_1","unstructured":"Jboss. 2012. Jboss projects. http:\/\/www.jboss.org\/.  Jboss. 2012. Jboss projects. http:\/\/www.jboss.org\/."},{"key":"e_1_2_1_6_1","unstructured":"SpringSource. 2012. SpringSource projects. http:\/\/www.springsource.org\/.  SpringSource. 2012. SpringSource projects. http:\/\/www.springsource.org\/."},{"key":"e_1_2_1_7_1","unstructured":"Sun. 2012. Sun Java Standard Edition Technology. http:\/\/java.sun.com\/javase\/.  Sun. 2012. Sun Java Standard Edition Technology. http:\/\/java.sun.com\/javase\/."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/78949.78951"},{"key":"e_1_2_1_9_1","unstructured":"Alexander C. Ishikawa S. and Silverstein M. 1977. A Pattern Language: Towns Buildings Construction. Oxford University Press.  Alexander C. Ishikawa S. and Silverstein M. 1977. A Pattern Language: Towns Buildings Construction. Oxford University Press."},{"key":"e_1_2_1_10_1","volume-title":"Proceedings of the International Conference on Software Engineering.","author":"Anderson T.","unstructured":"Anderson , T. and Kerr , R . 1976. Recovery blocks in action: a system supporting high relibility . In Proceedings of the International Conference on Software Engineering. Anderson, T. and Kerr, R. 1976. Recovery blocks in action: a system supporting high relibility. In Proceedings of the International Conference on Software Engineering."},{"key":"e_1_2_1_11_1","volume-title":"Fault Tolerance: Principles and Practices","author":"Anderson T.","year":"1990","unstructured":"Anderson , T. and Lee , P . 1990 . Fault Tolerance: Principles and Practices . Springer-Verlag . Anderson, T. and Lee, P. 1990. Fault Tolerance: Principles and Practices. Springer-Verlag."},{"key":"e_1_2_1_12_1","unstructured":"Apache Software Foundation. 2012. BCEL. http:\/\/jakarta.apache.org\/bcel\/.  Apache Software Foundation. 2012. BCEL. http:\/\/jakarta.apache.org\/bcel\/."},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1985.231893"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1109\/TDSC.2004.2"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1007\/11786160_11"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1007\/s11390-009-9219-2"},{"key":"e_1_2_1_17_1","unstructured":"Cabral B.\n     and \n      Marques P\n  . \n  2007\n  . Exception handling: a field study in Java and .NET. In Proceedings of the 21st European Conference on Object-Oriented Programming Lecture Notes in Computer Science Springer\n  .   Cabral B. and Marques P. 2007. Exception handling: a field study in Java and .NET. In Proceedings of the 21st European Conference on Object-Oriented Programming Lecture Notes in Computer Science Springer."},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2008.59"},{"key":"e_1_2_1_19_1","volume-title":"Proceedings of the 6th Symposium on Operating Systems Design and Implementation.","author":"Candea G.","unstructured":"Candea , G. , Kawamoto , S. , Fujiki , Y. , Friedman , G. , and Fox , A . 2004. Microreboo: A technique for cheap recovery . In Proceedings of the 6th Symposium on Operating Systems Design and Implementation. Candea, G., Kawamoto, S., Fujiki, Y., Friedman, G., and Fox, A. 2004. Microreboo: A technique for cheap recovery. In Proceedings of the 6th Symposium on Operating Systems Design and Implementation."},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/1882291.1882327"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-10248-6_7"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2009.5070518"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/351936.351978"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1109\/TC.1982.1676035"},{"key":"e_1_2_1_25_1","volume-title":"Dependability of Resilient Computers","author":"Cristian F.","unstructured":"Cristian , F. 1989. Exception handling . In Dependability of Resilient Computers , T. Anderson, Ed., Blackwell Scientific Publications , 68--97. Cristian, F. 1989. Exception handling. In Dependability of Resilient Computers, T. Anderson, Ed., Blackwell Scientific Publications, 68--97."},{"key":"e_1_2_1_26_1","series-title":"Lecture Notes in Computer Science","volume-title":"A dependable architecture for COTS-based software systems using protective wrappers","author":"de Castro Guerra P.","unstructured":"de Castro Guerra , P. , Rubira , C. , Romanovsky , A. , and de Lemos , R. 2004. A dependable architecture for COTS-based software systems using protective wrappers . In Architecting Dependable Systems II, R. de Lemos, C. Gacek, and A. Romanovsky, Eds., vol. 3069 , Lecture Notes in Computer Science , Springer , 147--170. de Castro Guerra, P., Rubira, C., Romanovsky, A., and de Lemos, R. 2004. A dependable architecture for COTS-based software systems using protective wrappers. In Architecting Dependable Systems II, R. de Lemos, C. Gacek, and A. Romanovsky, Eds., vol. 3069, Lecture Notes in Computer Science, Springer, 147--170."},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/949343.949314"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2010.27"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/568522.568525"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2004.35"},{"key":"e_1_2_1_31_1","doi-asserted-by":"crossref","unstructured":"Filho F. da S. Brito P. and Rubira C. 2006. Specification of exception flow in software architectures. J. Syst. Softw. 79. 1397--1418.  Filho F. da S. Brito P. and Rubira C. 2006. Specification of exception flow in software architectures. J. Syst. Softw. 79. 1397--1418.","DOI":"10.1016\/j.jss.2006.02.060"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2010.8"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2005.51"},{"key":"e_1_2_1_34_1","volume-title":"Design Patterns: Elements of Reusable Object-Oriented Software","author":"Gamma E.","year":"1994","unstructured":"Gamma , E. , Helm , R. , Johnson , R. , and Vlissides , J . 1994 . Design Patterns: Elements of Reusable Object-Oriented Software . Addison-Wesley . Gamma, E., Helm, R., Johnson, R., and Vlissides, J. 1994. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley."},{"key":"e_1_2_1_35_1","volume-title":"Proceedings of the 10th International Symposium on Software Reliability Engineering. IEEE Computer Society.","author":"Garcia A. F.","unstructured":"Garcia , A. F. , Beder , D. M. , and Rubira , C. M. F. 1999. An exception handling mechanism for developing dependable object-oriented software based on a meta-level approach . In Proceedings of the 10th International Symposium on Software Reliability Engineering. IEEE Computer Society. Garcia, A. F., Beder, D. M., and Rubira, C. M. F. 1999. An exception handling mechanism for developing dependable object-oriented software based on a meta-level approach. In Proceedings of the 10th International Symposium on Software Reliability Engineering. IEEE Computer Society."},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0164-1212(01)00062-0"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/225014.225031"},{"key":"e_1_2_1_38_1","volume-title":"Proceedings of the International Conference on Operating Systems.","author":"Horning J.","unstructured":"Horning , J. , Lauer , H. C. , Melliar-Smith , P. M. , and Randell , B . 1974. System structure for error detection and recovery . In Proceedings of the International Conference on Operating Systems. Horning, J., Lauer, H. C., Melliar-Smith, P. M., and Randell, B. 1974. System structure for error detection and recovery. In Proceedings of the International Conference on Operating Systems."},{"key":"e_1_2_1_39_1","unstructured":"IBM. 2012. Eclipse Test & Performance Tools Platform. http:\/\/www.eclipse.org\/tptp\/.  IBM. 2012. Eclipse Test & Performance Tools Platform. http:\/\/www.eclipse.org\/tptp\/."},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1109\/MC.2005.22"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/288408.288431"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/1273647.1273658"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/1127878.1127884"},{"key":"e_1_2_1_44_1","volume-title":"Proceedings of the 7th International Conference on Quality Software. IEEE Computer Society.","author":"Li J.","unstructured":"Li , J. , Huang , G. , Zou , J. , and Mei , H . 2007. Failure analysis of open source J2EE application servers . In Proceedings of the 7th International Conference on Quality Software. IEEE Computer Society. Li, J., Huang, G., Zou, J., and Mei, H. 2007. Failure analysis of open source J2EE application servers. In Proceedings of the 7th International Conference on Quality Software. IEEE Computer Society."},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/337180.337229"},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.5555\/1337691.1338370"},{"key":"e_1_2_1_47_1","volume-title":"Proceedings of the 28th Annual International Symposium on Fault-Tolerant Computing. IEEE Computer Society.","author":"Maxion R. A.","unstructured":"Maxion , R. A. and Olszewski , R. T . 1998. Improving software robustness with dependability cases . In Proceedings of the 28th Annual International Symposium on Fault-Tolerant Computing. IEEE Computer Society. Maxion, R. A. and Olszewski, R. T. 1998. Improving software robustness with dependability cases. In Proceedings of the 28th Annual International Symposium on Fault-Tolerant Computing. IEEE Computer Society."},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.877848"},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/337180.337201"},{"key":"e_1_2_1_50_1","unstructured":"Microsoft. 2012. Windows update. http:\/\/www.windowsupdate.com\/.  Microsoft. 2012. Windows update. http:\/\/www.windowsupdate.com\/."},{"key":"e_1_2_1_51_1","doi-asserted-by":"crossref","unstructured":"Miller R. and Tripathi A. R. 1997. Issues with exception handling in object-oriented systems. In Proceedings of the European Conference on Object-Oriented Systems. Lecture Notes in Computer Science Springer.  Miller R. and Tripathi A. R. 1997. Issues with exception handling in object-oriented systems. In Proceedings of the European Conference on Object-Oriented Systems. Lecture Notes in Computer Science Springer.","DOI":"10.1007\/BFb0053375"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-008-9077-5"},{"key":"e_1_2_1_53_1","unstructured":"Pezz\u00e8 M. and Young M. 2007. Software Testing and Analysis: Process Principles and Techniques. Wiley.   Pezz\u00e8 M. and Young M. 2007. Software Testing and Analysis: Process Principles and Techniques. Wiley."},{"key":"e_1_2_1_54_1","series-title":"Lecture Notes in Computer Science","volume-title":"Advances in Exception Handling Techniques","author":"Pitman K.","unstructured":"Pitman , K. 2001. Condition handling in the lisp language family . In Advances in Exception Handling Techniques , A. Romanovsky, C. Dony, J. Knudsen, and A. Tripathi, Eds., Lecture Notes in Computer Science , vol. 2022 . Springer . Pitman, K. 2001. Condition handling in the lisp language family. In Advances in Exception Handling Techniques, A. Romanovsky, C. Dony, J. Knudsen, and A. Tripathi, Eds., Lecture Notes in Computer Science, vol. 2022. Springer."},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1109\/12.324542"},{"key":"e_1_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1145\/1095810.1095833"},{"key":"e_1_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1145\/800027.808467"},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.entcs.2006.12.033"},{"key":"e_1_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1145\/941566.941569"},{"key":"e_1_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.5555\/645983.675267"},{"key":"e_1_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1145\/143062.143098"},{"key":"e_1_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.1002\/spe.v35:3"},{"key":"e_1_2_1_63_1","series-title":"Lecture Notes in Computer Science","volume-title":"CMEH: Container managed exception handling for increased assembly robustness. In Proceedings of the International Symposium on Component-Based Software Engineering","author":"Simons K.","year":"2004","unstructured":"Simons , K. and Stafford , J . 2004 . CMEH: Container managed exception handling for increased assembly robustness. In Proceedings of the International Symposium on Component-Based Software Engineering . Lecture Notes in Computer Science , vol. 3054 , Springer . Simons, K. and Stafford, J. 2004. CMEH: Container managed exception handling for increased assembly robustness. In Proceedings of the International Symposium on Component-Based Software Engineering. Lecture Notes in Computer Science, vol. 3054, Springer."},{"key":"e_1_2_1_64_1","volume-title":"Proceedings of the IEEE International Conference on Software Maintenance. IEEE Computer Society.","author":"Sinha S.","unstructured":"Sinha , S. and Harrold , M. J . 1999. Criteria for testing exception-handling constructs in Java programs . In Proceedings of the IEEE International Conference on Software Maintenance. IEEE Computer Society. Sinha, S. and Harrold, M. J. 1999. Criteria for testing exception-handling constructs in Java programs. In Proceedings of the IEEE International Conference on Software Maintenance. IEEE Computer Society."},{"key":"e_1_2_1_65_1","volume-title":"Component Software: Beyond Object-Oriented Programming","author":"Szyperski C.","year":"2002","unstructured":"Szyperski , C. 2002 . Component Software: Beyond Object-Oriented Programming . ACM Press and Addison-Wesley . Szyperski, C. 2002. Component Software: Beyond Object-Oriented Programming. ACM Press and Addison-Wesley."},{"key":"e_1_2_1_66_1","doi-asserted-by":"publisher","DOI":"10.1109\/TDSC.2005.15"},{"key":"e_1_2_1_67_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10515-011-0084-1"},{"key":"e_1_2_1_68_1","doi-asserted-by":"publisher","DOI":"10.1145\/1831708.1831716"},{"key":"e_1_2_1_69_1","volume-title":"Proceedings of the 18th International Conference on Distributed Computing Systems. IEEE Computer Society.","author":"Xu J.","unstructured":"Xu , J. , Romanovsky , A. , and Randell , B . 1998. Coordinated exception handling in distributed object systems: From model to system implementation . In Proceedings of the 18th International Conference on Distributed Computing Systems. IEEE Computer Society. Xu, J., Romanovsky, A., and Randell, B. 1998. Coordinated exception handling in distributed object systems: From model to system implementation. In Proceedings of the 18th International Conference on Distributed Computing Systems. IEEE Computer Society."},{"key":"e_1_2_1_70_1","doi-asserted-by":"publisher","DOI":"10.1145\/302405.302643"}],"container-title":["ACM Transactions on Software Engineering and Methodology"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2522920.2522923","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2522920.2522923","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T07:34:52Z","timestamp":1750232092000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2522920.2522923"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2013,10]]},"references-count":70,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2013,10]]}},"alternative-id":["10.1145\/2522920.2522923"],"URL":"https:\/\/doi.org\/10.1145\/2522920.2522923","relation":{},"ISSN":["1049-331X","1557-7392"],"issn-type":[{"value":"1049-331X","type":"print"},{"value":"1557-7392","type":"electronic"}],"subject":[],"published":{"date-parts":[[2013,10]]},"assertion":[{"value":"2011-10-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2012-09-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2013-10-22","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}