Fault injection software. Fault injector development. Fault injection strategies. Representativity of injected faults. Study of computer models for fault tolerance (high availability). Tolerance techniques to hardware, software and environment failures. Cluster computing. Adaptive algorithms for fault detection. Distributed consensus. Software failures tolerance. Software diversity design. Structuring robust object oriented systems. Exception handling mechanisms. Coordinated atomic actions. Object-oriented frameworks and design patterns for fault tolerance. Methods and tools for building reliable systems. Software fault tolerant architectures.
Software Engineering, Information Management and Human-Computer Interfaces