Validation of Exception Handling in the Development of Dependable Component-Based Software Systems

The use of exception handling mechanisms to develop robust software in a non-systematic manner can be a source of many design faults. This paper presents an approach that allows to systematize the validation of the system's exceptional behavior at both the software architecture and detailed design levels. At the software architecture, our solution is based on the specification and verification of architectural scenarios. At the detailed design level, the proposed solution consists on a static analysis tool that collects information regarding exceptional flows in a given behavioral model, to assist the task of validating the exceptional flow. This analysis anticipates the detection and therefore the correction of failures during the specification phase. The feasibility of our approach was evaluated by a case study of a mining control system.

[1]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[2]  Conrad E. Bock,et al.  UML 2 Activity and Action Models, Part 2 , 2003, J. Object Technol..

[3]  Cecília M. F. Rubira,et al.  Architecture-Centric Fault Tolerance with Exception Handling , 2007, LADC.

[4]  Peter A. Buhr,et al.  Exception Handling , 2002, Advances in Computing.

[5]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[6]  Markus Völter,et al.  Model-Driven Software Development: Technology, Engineering, Management , 2006 .

[7]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming, 2nd Edition , 2002, Addison-Wesley component software series.

[8]  F. C. Filho,et al.  A framework for analyzing exception flow in software architectures , 2005, WADS@ICSE.

[9]  John B. Goodenough,et al.  Exception handling: issues and a proposed notation , 1975, CACM.

[10]  Conrad Bock UML 2 Activity and Action Models, Part 2 , 2003, J. Object Technol..

[11]  Saurabh Sinha,et al.  Criteria for testing exception-handling constructs in Java programs , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[12]  Hermann Kopetz,et al.  Fault tolerance, principles and practice , 1990 .

[13]  Mary Lou Soffa,et al.  Efficient computation of interprocedural definition-use chains , 1994, TOPL.

[14]  Cecília M. F. Rubira,et al.  A Method for Modeling and Testing Exceptions in Component-Based Software Development , 2005, LADC.

[15]  Morris Sloman,et al.  Distributed systems and computer networks , 1987, Prentice Hall International series in computer science.

[16]  Cecília M. F. Rubira,et al.  Exception handling in the development of dependable component‐based systems , 2005, Softw. Pract. Exp..

[17]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[18]  Jean Arlat,et al.  Definition and analysis of hardware- and software-fault-tolerant architectures , 1990, Computer.

[19]  Cecilia Mary Fischer Rubira,et al.  Exception handling in the development of dependable component-based systems , 2005 .

[20]  Chen Fu,et al.  Testing of java web services for robustness , 2004, ISSTA '04.

[21]  Martin P. Robillard,et al.  Static analysis to support the evolution of exception structure in object-oriented systems , 2003, TSEM.