Funcionário da Innopolis University recebeu uma bolsa do Facebook

Ju Yong Lee, professor associado do Laboratório de Desenvolvimento de Software Industrial da Universidade de Innopolis, ofereceu a melhor pesquisa no campo da automação rápida de correções de bugs e esteve entre os dez vencedores do Prêmio de Pesquisa de Teste e Verificação do Facebook. No total, 145 pesquisadores de todo o mundo enviaram pedidos de doação. O cientista nos contou sobre o trabalho em sua pesquisa.

imagem

Sobre o estudo


Gostaria de indicar imediatamente o que é o teste de software. Seu principal objetivo é encontrar erros no programa que não são gravados pelos desenvolvedores de software. Se os testes forem bem-sucedidos, podemos dizer com segurança que seu programa está pronto para lançamento.

Parece que encontrar um bug no software não é tão difícil, especialmente se o desenvolvedor já tiver experiência com o uso de bugs. Sim, existem erros que podem ser facilmente percebidos e encontrados, mas os desenvolvedores geralmente não veem vulnerabilidades que, mesmo após seu trabalho cuidadoso, podem ser detectados por hackers. Através de testes, queremos encontrar erros antes de nos tornarmos vítimas de acidentes devido a violações de segurança e acidentes de carro. Segundo a Associated Press, 89 pessoas morreram nos anos 2000-2010 devido a erros de software nos carros da Toyota.

O principal objetivo do projeto é corrigir automaticamente defeitos técnicos ou erros nos programas. Quase todo software contém bugs, especialmente com o advento de processos contínuos de desenvolvimento, teste e implementação. Agora está se tornando cada vez mais difícil para os desenvolvedores corrigir erros em tempo hábil. Portanto, é necessário manter o software o mais protegido possível contra defeitos, e muitos pesquisadores, inclusive eu, estão tentando encontrar uma solução e desenvolver um método para solução automática de problemas. Neste projeto em particular, tento aumentar a velocidade da correção automática de erros técnicos, a fim de minimizar o tempo entre sua detecção e eliminação.

A correção automática para erros técnicos foi testada por muitos pesquisadores, inclusive eu. Os primeiros resultados foram aceitos pelo setor, e empresas como o Facebook já começaram a usar a eliminação automática de bugs, como indicadores defeituosos, que indicam uma célula inexistente.

O que isso decide


Todo mundo tem seus próprios interesses. Estou interessado em linguagens de programação, verificação e teste de software; tudo isso está indissoluvelmente ligado ao entendimento de programas de computador. Não faz muito tempo, a correção automática de erros se tornou para mim um tópico separado para pesquisa. Penso que, no futuro, o software será criado por inteligência artificial, o que permitirá que os desenvolvedores dediquem mais tempo para trabalhar nos principais componentes de software.

Na última década, a correção automática de erros deu um grande salto adiante, graças aos esforços dos desenvolvedores, incluindo o meu. Trabalhei para melhorar patches gerados automaticamente e corrigir bugs automaticamente. Penso que o próximo avanço que precisamos é a velocidade rápida. Até agora, acreditava-se que a correção automática de erros seria usada no modo em lotes, portanto a questão da velocidade não estava em primeiro lugar. Os desenvolvedores iniciam a correção automática de erros e vão para casa. E na manhã seguinte, as áreas depuradas automaticamente durante a noite estão prontas para visualização. Mas a experiência mostra que é melhor corrigir erros imediatamente após escrever um programa de erros, enquanto o desenvolvedor ainda se lembra do que escreveu lá. Por isso, propus um estudo de correção automática de erros em alta velocidade.

Concorrentes


Era uma bolsa internacional e a pesquisa foi oferecida por pesquisadores de todo o mundo. O Facebook recebeu 145 inscrições e selecionou 10 vencedores, incluindo eu. Esse número (6,9%) mostra o quanto a competição foi mais difícil do que receber uma bolsa nas principais conferências, onde a porcentagem de inscrições aprovadas é geralmente de 20%.

Todos os 10 vencedores do prêmio e suas pesquisas são publicados no Facebook Research . Os vencedores foram pesquisadores renomados em suas áreas de universidades de prestígio: Universidade Carnegie Mellon, University College London, Universidade da Califórnia em Berkeley e Universidade Humboldt de Berlim.

Planos adicionais


A recuperação automatizada de erros ainda é uma área jovem e há muitas coisas nas quais vale a pena trabalhar. Precisamos de um método que possa corrigir mais erros com mais precisão e rapidez, e pretendo trabalhar nessa direção. No futuro, gostaria de ver a inteligência artificial não apenas ser capaz de corrigir erros, mas também ajudar os desenvolvedores durante todo o processo.

Como muitos outros estudos acadêmicos, projetos no campo da eliminação automática de erros técnicos não podem ser resolvidos por um único estudo. Muitas dimensões devem ser levadas em consideração para que a ideia se torne prática. Como eu disse, concentro-me na velocidade de eliminar erros técnicos, mas a velocidade é apenas uma dimensão para resolver um problema. Outras medidas incluem taxa de sucesso no reconhecimento de erros, precisão na solução de problemas, etc. Em ciência e tecnologia, melhorar uma dimensão ajuda no desenvolvimento de outra, e é isso que pretendo fazer no futuro - continuar a expandir os limites da solução automática de problemas técnicos em diferentes dimensões.

Quanto à aplicabilidade de tal técnica, eu a usei anteriormente na formação automática de feedback para programas escritos pelos alunos. Esse chamado sistema de tutoria inteligente é uma das áreas em que os resultados da pesquisa podem ser aplicados.

Source: https://habr.com/ru/post/pt435544/


All Articles