ICSE 2003 WADS Panel: Fault Tolerance and Self-Healing
Rogério de Lemos · 2003
icted with the potential failures of individual components, but with the failure of the whole systems: not only from the perspective on how to put several components together, but also on the process to achieve this. The main reason being that faults plaguing software systems were of different type, which would require more sophisticated and costly means for incorporating redundancies in order to avoid system failures. Hence the view that software engineering has been a discipline concerned with the development of software systems based on rigorous (sometimes formal) languages and processes, supported by tools, aiming to build software systems without bugs. From the dependability perspective this would entail fault prevention, in the form of rigorous designs (e.g., goal structures, and UML), fault removal, in the form of verification and validation (e.g., model checking, and testing), and fault forecasting, in the form of system evaluation (e.g., software metrics). Based on the above