Busca avançada
Ano de início
Entree

Reparo automático de software via busca de código-fonte

Processo: 15/12787-0
Modalidade de apoio:Bolsas no Exterior - Pesquisa
Data de Início da vigência: 15 de março de 2016
Data de Término da vigência: 28 de fevereiro de 2017
Área de conhecimento:Ciências Exatas e da Terra - Ciência da Computação - Metodologia e Técnicas da Computação
Pesquisador responsável:Otávio Augusto Lazzarini Lemos
Beneficiário:Otávio Augusto Lazzarini Lemos
Pesquisador Anfitrião: Cristina Videira Lopes
Instituição Sede: 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, Brasil
Instituição Anfitriã: University of California, Irvine (UC Irvine), Estados Unidos  
Assunto(s):Reúso de software
Palavra(s)-Chave do Pesquisador:Busca de Código-Fonte | Reparo Automático de Software | Reuso de Software | Reúso de Software

Resumo

A correção de defeitos despende grande parte dos recursos de projetos de software. Abordagens de reparo automático de software (RAS) podem ser aplicadas para diminuir esses custos. Recentemente algumas técnicas de RAS demonstraram resultados positivos neste sentido; entretanto, boa parte dessas técnicas utiliza um espaço de busca limitado para a síntese de candidatos ao reparo, o que limita sua habilidade de correção (em particular, não são capazes de lidar com reparos que requerem a criação de sentenças totalmente novas). Além disso, a maioria das abordagens podem ser vistas como problemas de otimização combinatória, cuja busca requer tempo considerável para atingir uma solução viável. Por exemplo, GenProg e Par são dois sistemas de RAS baseados em otimização propostos recentemente, nos quais o próprio programa ou um conjunto limitado de moldes de reparo são empregados como fontes para a síntese das correções. Neste projeto de pesquisa propõe-se uma abordagem de RAS baseada em busca de código que se aproveita da crescente quantidade de código aberto disponível na Web para explorar possíveis reparos. Com a enorme quantidade de código atualmente disponível é razoável crer que muitos reparos podem ser prontamente encontrados em outros projetos. Nenhuma das abordagens recentes tiram proveito deste fato. A principal ideia deste projeto é a seguinte: dada uma função sendo desenvolvida que falha em pelo menos um caso de teste, procura-se uma função similar em um repositório grande de código que provavelmente implementa comportamento análogo, troca-se parcialmente ou totalmente a função alvo pelos candidatos, e checa-se se o defeito foi corrigido executando-se o conjunto de teste original. Essa técnica não é afetada pela complexidade dos defeitos como as outras são, mas baseia-se principalmente na hipótese de que muitas funções desenvolvidas já estão disponíveis com interfaces semelhantes em outros projetos (a hipótese da redundância de interface - HRI), e que tal código pode ser utilizado para corrigir a implementação em mãos. Para avaliar a abordagem proposta, planeja-se a execução de experimentos com repositórios grandes de software, além da condução de estudos para verificar a efetividade e eficácia da GenieRepair, ferramenta que implementará a abordagem proposta como um sistema de recomendação de reparos. O projeto se insere em um contexto no qual o candidato tem larga experiência - com publicações em congressos e revistas de prestígio -, além de contar com a supervisão de pesquisadora de renome internacional na área. (AU)

Matéria(s) publicada(s) na Agência FAPESP sobre a bolsa:
Mais itensMenos itens
Matéria(s) publicada(s) em Outras Mídias ( ):
Mais itensMenos itens
VEICULO: TITULO (DATA)
VEICULO: TITULO (DATA)

Publicações científicas
(Referências obtidas automaticamente do Web of Science e do SciELO, por meio da informação sobre o financiamento pela FAPESP e o número do processo correspondente, incluída na publicação pelos autores)
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)
SUZUKI, MARCELO; DE PAULA, ADRIANO CARVALHO; GUERRA, EDUARDO; LOPES, CRISTINA V.; LAZZARINI LEMOS, OTAVIO AUGUSTO; IEEE. An Exploratory Study of Functional Redundancy in Code Repositories. 2017 IEEE 17TH INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION (SCAM), v. N/A, p. 10-pg., . (15/12787-0)