Advanced search
Start date

Automated software repair via code search

Grant number: 15/12787-0
Support Opportunities:Scholarships abroad - Research
Effective date (Start): March 15, 2016
Effective date (End): February 28, 2017
Field of knowledge:Physical Sciences and Mathematics - Computer Science - Computing Methodologies and Techniques
Principal Investigator:Otávio Augusto Lazzarini Lemos
Grantee:Otávio Augusto Lazzarini Lemos
Host Investigator: Cristina Videira Lopes
Host Institution: Instituto de Ciência e Tecnologia (ICT). Universidade Federal de São Paulo (UNIFESP). Campus São José dos Campos. São José dos Campos , SP, Brazil
Research place: University of California, Irvine (UC Irvine), United States  


Bug fixing accounts for a large amount of the expenses of a software project. Recently, automated software repair (ASR) approaches have been proposed to reduce such costs, but none of them take into account the enormous quantity of code currently available online to explore possible fixes (in particular, they are not capable to deal with fixes that require the creation of completely new sentences). Moreover, most current approaches can be seen as combinatorial optimization problems, which require considerable time to reach a viable solution. For instance, GenProg and Par are two ASR systems based on search algorithms that were proposed recently. In these approaches, the program itself or a fixed set of repair templates are used as sources for the synthesis of fixes. In this project we propose an ASR approach based on code search that takes advantage of the increasing amount of open source code accessible through the Web. The main idea of the proposed approach is the following: given a function that fails on at least one of a set of test cases, we find similar functions available in a large repository that probably implement analogous behavior, partially or fully replace the original function with the candidate functions, and check if the fault was fixed by rerunning the test suite (starting from the failing tests). Our proposed technique is not hindered by the complexity of faults as others are, but relies mainly on the hypothesis that many functions being developed are already available with similar interfaces in other projects (the interface redundancy hypothesis - IRH), and can used to repair the implementation at hand. To evaluate the proposed approach, we plan the execution of experiments with large-scale repositories, and studies to verify the effectiveness and applicability of GenieRepair, the tool that will implement the proposed approach as a recommendation system. The candidate has a large experience in the context in which the project will take place, and the project includes the supervision of a prestigious international researcher of the field. (AU)

News published in Agência FAPESP Newsletter about the scholarship:
Articles published in other media outlets (0 total):
More itemsLess items

Scientific publications
(References retrieved automatically from Web of Science and SciELO through information on FAPESP grants and their corresponding numbers as mentioned in the publications by the authors)
LAZZARINI LEMOS, OTAVIO AUGUSTO; SILVEIRA, FABIO FAGUNDES; FERRARI, FABIANO CUTIGI; GARCIA, ALESSANDRO. The impact of Software Testing education on code reliability: An empirical assessment. JOURNAL OF SYSTEMS AND SOFTWARE, v. 137, p. 497-511, . (13/25356-2, 15/12787-0)

Please report errors in scientific publications list by writing to: