Busca avançada
Ano de início
Entree

Evolução e avaliação de técnicas de teste e de busca de código-fonte no desenvolvimento de software contemporâneo

Processo: 13/25356-2
Modalidade de apoio:Auxílio à Pesquisa - Regular
Data de Início da vigência: 01 de abril de 2014
Data de Término da vigência: 29 de fevereiro de 2016
Área do 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
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
Pesquisadores associados:Fabiano Cutigi Ferrari
Assunto(s):Engenharia de software  Reúso de software  Teste e avaliação de software  Programação orientada a aspectos  Código fonte 
Palavra(s)-Chave do Pesquisador:Engenharia de Software Experimental | Reuso de Software | Teste de Software | Engenharia de Software

Resumo

As técnicas contemporâneas de desenvolvimento como a Programação Orientada a Objetos (POO) e a Programação Orientada a Aspectos (POA) trazem diversos benefícios ao desenvolvimento de software, como código mais coeso, menos acoplado e mais legível. Entretanto, essas mesmas técnicas podem apresentar obstáculos, como novos tipos de defeitos que não ocorriam com o uso das técnicas anteriores. Além disso, mesmo que as técnicas apresentem benefícios ao desenvolvimento de software, ainda existem maneiras de fazer com que se obtenha maior confiança no código implementado, ou que o mesmo seja produzido com menor custo. No que diz respeito ao aumento da qualidade, recentemente foi introduzida uma nova família de critérios de teste estrutural - chamada de cobertura de arestas multi-ponto -, que generaliza a cobertura de arestas tradicional para a cobertura de tuplas de arestas obtidas na sequência de execução de um programa. Estudos iniciais indicam que os critérios são efetivos e inclusive comparáveis aos critérios de fluxo de dados, tidos anteriormente como entre os mais efetivos (apesar de bastante custosos). Essa família de critérios ainda não foi explorada no contexto de POA, o que abre um novo caminho de pesquisa importante, já que os programas OA também contêm condicionais. No que diz respeito à diminuição de custos de desenvolvimento, recentemente o grupo de pesquisa do proponente desenvolveu um protótipo que implementa a correção automática de programas utilizando busca de código em repositórios de código aberto. A ideia básica é procurar código similar a trechos defeituosos do programa - detectados via casos de teste -, e substituí-los por implementações corretas encontradas nesses repositórios. Apesar da ferramenta apresentar evidências de ser efetiva, ainda existem diversas maneiras de estendê-la e avaliá-la. Outra técnica proposta pelo grupo e que ainda não foi avaliada adequadamente é a expansão de query automática utilizando tesauros. O objetivo deste projeto de pesquisa é evoluir e avaliar as técnicas de teste e de busca de código-fonte nesses e em outros pontos relacionados para a melhoria do desenvolvimento de software contemporâneo. (AU)

Matéria(s) publicada(s) na Agência FAPESP sobre o auxílio:
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)