Automatic Repair of Software Systems

Authored by: Emil Vassev , Benoit Gaudin , Mike Hinchey , Paddy Nixon

Encyclopedia of Software Engineering

Print publication date:  November  2010
Online publication date:  November  2010

Print ISBN: 9781420059779
eBook ISBN: 9781351249270
Adobe ISBN:

10.1081/E-ESE-120048375

 Download Chapter

 

Abstract

Software maintenance nowadays comprises the largest portion of the total cost and effort of the software development process. Usually, maintenance is required to handle issues that arise once a software system is deployed and it targets either correction or enhancement of software. However, addressing changed requirements or fixing software defects requires effort that is proportional to the size of a software program. Complex contemporary software often exceeds millions of lines of code and locating a specific defect or deficiency that led to unexpected behavior can be painful, time consuming, and very expensive. This problem becomes more severe when we talk about critical systems or cases when errors must be fixed at runtime without stopping the program execution. This entry presents techniques and mechanisms for automatic repair of software systems. The aim of such automation is to reduce both diagnosis and repair time and, therefore, to react more quickly to fault occurrences. The entry spans over automatic verification, automatic diagnosis, and automatic repair approaches such as model checking, architecture-, correlation-, probabilistic-, and model-based diagnosis, rollback, genetic programming (GP) and mutations, event filtering, and machine learning.

 Cite
Search for more...
Back to top

Use of cookies on this website

We are using cookies to provide statistics that help us give you the best experience of our site. You can find out more in our Privacy Policy. By continuing to use the site you are agreeing to our use of cookies.