http://www.dagstuhl.de/11062

February 6 – 11 , 2011, Dagstuhl Seminar 11062

Self-Repairing Programs

Organizers

Mauro Pezzè (University of Lugano, CH)
Martin C. Rinard (MIT – Cambridge, US)
Westley Weimer (University of Virginia – Charlottesville, US)
Andreas Zeller (Universität des Saarlandes, DE)

For support, please contact

Dagstuhl Service Team

Documents

Dagstuhl Report, Volume 1, Issue 2 Dagstuhl Report
List of Participants
Shared Documents

Press Room

Summary

Dagstuhl seminar 11062 ``Self-Repairing Programs'' included 23 participants and organizers from research and industrial communities. Self-Repairing Programs are a new and emerging area, and many participants reported that they initially felt their first research home to be in another area, such as testing, program synthesis, debugging, self-healing systems, or security. Over the course of the seminar, the participants found common ground in discussions of concerns, challenges, and the state of the art.

Recent years have seen considerable advances in automated debugging. Today, we have techniques that automatically determine problem causes – in the source code, in program input, in the change history, or in internal data structures. While these approaches make it considerably easier to find the causes of defects, their precision is still insufficient to suggest a single concrete course of action – a human in the loop is still required to design and apply the patch. At the same time, there is an ongoing need for self-healing systems – systems that can recover from failures and even reconfigure themselves such that the failure no longer occurs. Most research efforts in this direction, though, assume planned recovery – that is, well-defined recovery strategies for anticipated failures.

An alternative is to explore self-repairing systems from a generic perspective – that is, to develop techniques that repair systems that are as generic, unassuming, and non-intrusive as program analysis and debugging. The idea is to determine actual fixes to state, to configuration, or to code. These fixes can be seen as guidance for the developer on how to fix the problem and evolve the software. However, fixes can also be deployed automatically, and effectively lead to programs that fix themselves. Such techniques may be particularly useful for orphaned systems that are no longer maintained and critical software for which downtime is extremely expensive or even unacceptable. In these situations, there is no time to wait for a human developer to find and fix the bug. A synthesized patch can form a first line of defense against failures and attacks, a "first aid" buying time while more expensive or manual methods are deployed. At the same time, automatically generated fixes provide a much richer diagnostic quality then simple fault localization, and thus may dramatically reduce the time it takes to debug a problem.

Goals of the Seminar

This main goals of this seminar was to provide knowledge exchange, mutual inspiration, and opportunities for collaborations for a rapidly developing field. The seminar aimed to bring together researchers in dynamic program analysis, automated debugging, specification mining, software survival techniques, and autonomic computing to increase awareness of these issues and techniques across relevant disciplines (program analysis, debugging and self-adaptive systems), and to discuss:

  • how to monitor systems to detect abnormal state and behavior
  • how to generate fixes and how to choose the best fixes
  • how to deploy them in real-life systems and how to deal with the issues that arise when automatically correcting errors in software systems

Classification

  • Programming Languages/compiler
  • Sw-engineering
  • Verification/logic

Keywords

  • Program analysis
  • Automated debugging
  • Automated fixing
  • Specification mining
  • Self-healing systems
  • Self-adapting systems

Book exhibition

Books from the participants of the current Seminar 

Book exhibition in the library, ground floor, during the seminar week.

Documentation

In the series Dagstuhl Reports each Dagstuhl Seminar and Dagstuhl Perspectives Workshop is documented. The seminar organizers, in cooperation with the collector, prepare a report that includes contributions from the participants' talks together with a summary of the seminar.

 

Download overview leaflet (PDF).

Publications

Furthermore, a comprehensive peer-reviewed collection of research papers can be published in the series Dagstuhl Follow-Ups.

Dagstuhl's Impact

Please inform us when a publication was published as a result from your seminar. These publications are listed in the category Dagstuhl's Impact and are presented on a special shelf on the ground floor of the library.

NSF young researcher support