scispace - formally typeset
Open AccessJournal ArticleDOI

Automatic Software Repair: A Bibliography

Martin Monperrus
- 23 Jan 2018 - 
- Vol. 51, Iss: 1, pp 17
Reads0
Chats0
TLDR
A survey on automatic software repair can be found in this article, where the focus is on behavioral repair where test suites, contracts, models, and crashing inputs are taken as oracle.
Abstract
This article presents a survey on automatic software repair. Automatic software repair consists of automatically finding a solution to software bugs without human intervention. This article considers all kinds of repairs. First, it discusses behavioral repair where test suites, contracts, models, and crashing inputs are taken as oracle. Second, it discusses state repair, also known as runtime repair or runtime recovery, with techniques such as checkpoint and restart, reconfiguration, and invariant restoration. The uniqueness of this article is that it spans the research communities that contribute to this body of knowledge: software engineering, dependability, operating systems, programming languages, and security. It provides a novel and structured overview of the diversity of bug oracles and repair operators used in the literature.

read more

Citations
More filters
Proceedings Article

DeepFix: Fixing Common C Language Errors by Deep Learning

TL;DR: DeepFix is a multi-layered sequence-to-sequence neural network with attention which is trained to predict erroneous program locations along with the required correct statements and could fix 1881 programs completely and 1338 programs partially.
Journal ArticleDOI

SequenceR : Sequence-to-Sequence Learning for End-to-End Program Repair

TL;DR: This paper devise, implement, and evaluate a technique, called SEQUENCER, for fixing bugs based on sequence-to-sequence learning on source code, which captures a wide range of repair operators without any domain-specific top-down design.
Proceedings ArticleDOI

Automatic software repair: a survey

TL;DR: A new class of approaches, namely program repair techniques, whose key idea is to try to automatically repair software systems by producing an actual fix that can be validated by the testers before it is finally accepted, or that is adapted to properly fit the system.
Proceedings ArticleDOI

Shaping program repair space with existing patches and similar code

TL;DR: This paper proposes a novel automatic program repair approach that utilizes both existing patches and similar code and obtains a concrete search space by differencing with similar code snippets and searches within the intersection of the two search spaces.
Journal ArticleDOI

Automated program repair

TL;DR: This research presents a meta-modelling system that automates the very labor-intensive and therefore time-heavy and therefore expensive and expensive process of manually fixing programming mistakes.
References
More filters
Journal ArticleDOI

Basic concepts and taxonomy of dependable and secure computing

TL;DR: The aim is to explicate a set of general concepts, of relevance across a wide range of situations and, therefore, helping communication and cooperation among a number of scientific and technical communities, including ones that are concentrating on particular types of system, of system failures, or of causes of systems failures.
Journal ArticleDOI

Applying 'design by contract'

Bertrand Meyer
- 01 Oct 1992 - 
TL;DR: Methodological guidelines for object-oriented software construction that improve the reliability of the resulting software systems are presented and the theory of contract design and the role of assertions in that theory are discussed.
Journal ArticleDOI

System structure for software fault tolerance

TL;DR: In this article, the authors present a method for structuring complex computing systems by the use of what they term "recovery blocks", "conversations", and "fault-tolerant interfaces".
Proceedings ArticleDOI

Empirical evaluation of the tarantula automatic fault-localization technique

TL;DR: The studies show that, on the same set of subjects, the Tarantula technique consistently outperforms the other four techniques in terms of effectiveness in fault localization, and is comparable in efficiency to the least expensive of the other five techniques.
Journal ArticleDOI

The N-Version Approach to Fault-Tolerant Software

TL;DR: Principal requirements for the implementation of N-version software are summarized and the DEDIX distributed supervisor and testbed for the execution of N -version software is described.
Related Papers (5)