Heterogeneity, mobility, complexity and new application domains raise new software reliability issues that cannot be met cost-effectively only with classic software engineering approaches. Self-healing systems can successfully address these problems, thus increasing software reliability while reducing maintenance costs. Self-healing systems must be able to automatically identify runtime failures, locate faults, and find a way to bring the system back to an acceptable behavior.
Our research focuses on the design of techniques for the construction of self-healing systems with particular focus on functional failures. We designed techniques to automatically derive assertions to effectively detect functional failures, locate the faults underlying the failures, and identify sequences of alternative actions to bring the system back to an acceptable behavior.
Enterprise services must satisfy strong requirements that are coded in agreements with customers, commonly called service level agreements (SLA). To satisfy SLAs in critical conditions, conventional data centers are often greatly over-dimensioned, wasting resources and raising service costs.
Our research focuses on the adoption of surrogate models to manage and optimize resources within virtualized data centers (VDC) to reduce over-dimensioning, and so reduce service costs without negatively affecting service agreements, through dynamic adaptation.