Table of Contents
Fetching ...

BUGFIX: towards a common language and framework for the AutomaticProgram Repair community

Bertrand Meyer, Viktoryia Kananchuk, Li Huang

TL;DR

Automatic Program Repair (APR) lacks a common framework due to language, tool, and bug-type diversity, hindering practical adoption. The paper proposes BUGFIX, a bug-and-fix specification language and abstract framework that separates general language constructs from language-specific realizations to enable multi-language APR tooling and IDE integration. It grounds the approach in an empirical study of Low-Hanging Bugs (LHBs) from Defects4J and outlines an abstract API plus concrete syntax, along with plans for language libraries and data formats to support broad use. The work aims to accelerate cross-language APR research, enable standardized evaluation and fault seeding, and facilitate verification-condition generation, ultimately helping developers receive actionable repair suggestions within their IDEs.

Abstract

Techniques of Automatic Program Repair (APR) have the potential of thoroughly facilitating the task of producing quality software. After a promising start, however, progress in making APR practical has been hindered by the lack of a common framework to support the multiplicity of APR ideas and tools, and of target programming languages and environments. In this position paper we outline a general framework to enable the APR community to benefit from each otherś advances, in particular through a standard language for describing bugs and their fixes. Such a common framework (which is also applicable to work on fault seeding) could be a tremendous benefit to researchers and developers of Interactive Development Environments (IDEs) who are working to make APR an effective part of the practical experience of software developers.

BUGFIX: towards a common language and framework for the AutomaticProgram Repair community

TL;DR

Automatic Program Repair (APR) lacks a common framework due to language, tool, and bug-type diversity, hindering practical adoption. The paper proposes BUGFIX, a bug-and-fix specification language and abstract framework that separates general language constructs from language-specific realizations to enable multi-language APR tooling and IDE integration. It grounds the approach in an empirical study of Low-Hanging Bugs (LHBs) from Defects4J and outlines an abstract API plus concrete syntax, along with plans for language libraries and data formats to support broad use. The work aims to accelerate cross-language APR research, enable standardized evaluation and fault seeding, and facilitate verification-condition generation, ultimately helping developers receive actionable repair suggestions within their IDEs.

Abstract

Techniques of Automatic Program Repair (APR) have the potential of thoroughly facilitating the task of producing quality software. After a promising start, however, progress in making APR practical has been hindered by the lack of a common framework to support the multiplicity of APR ideas and tools, and of target programming languages and environments. In this position paper we outline a general framework to enable the APR community to benefit from each otherś advances, in particular through a standard language for describing bugs and their fixes. Such a common framework (which is also applicable to work on fault seeding) could be a tremendous benefit to researchers and developers of Interactive Development Environments (IDEs) who are working to make APR an effective part of the practical experience of software developers.
Paper Structure (7 sections, 3 figures)