• Qua. Out 30th, 2024

Feijoada Politica

Notícias

Pesquisadores aceleram a localização de falhas durante o desenvolvimento de software

Byadmin

Ago 4, 2024
Depuração ainda é uma grande perda de tempo. Fonte da imagem: Lunghammer - TU Gr

Encontrar e corrigir erros no código do programa ainda toma muito tempo dos desenvolvedores. Uma equipe da TU Graz desenvolveu uma solução que aborda os maiores desperdiçadores de tempo.

Atualmente, a depuração ainda é uma grande perda de tempo.

Os aplicativos de software modernos geralmente consistem em vários arquivos e vários milhões de linhas de código. Devido à grande quantidade, encontrar e corrigir falhas, conhecido como depuração, é difícil. Em muitas empresas de software, os desenvolvedores ainda procuram falhas manualmente – algo que ocupa uma grande proporção do seu tempo de trabalho. Estudos indicam que isso representa entre 30 e 90 por cento do tempo total de desenvolvimento. Birgit Hofer e Thomas Hirsch do Instituto de Tecnologia de Software da Universidade de Tecnologia de Graz (TU Graz) desenvolveram uma solução baseada em métodos e métricas de processamento de linguagem natural existentes que podem acelerar muito o processo de encontrar código defeituoso e, portanto, depurar.

A localização de falhas consome mais tempo

“Como primeiro passo, conduzimos pesquisas entre desenvolvedores para descobrir quais são os maiores desperdícios de tempo na depuração. Descobrimos que a correção de bugs em si não é o grande problema, mas que os programadores ficam atolados principalmente na localização de falhas, ou seja, restringindo a busca à área certa no código do programa”, explica Birgit Hofer.

Com base nessa percepção, os pesquisadores começaram a encontrar uma solução para esse problema que também seja escalável para aplicativos com muito código. Embora existam abordagens eficientes baseadas em modelos nas quais um programa é convertido em uma representação lógica (chamada de modelo), isso só funciona para programas pequenos. Isso ocorre porque o esforço de computação aumenta exponencialmente com o tamanho do código. A abordagem adotada por Birgit Hofer e Thomas Hirsch representa certas propriedades de software em números – por exemplo, a legibilidade ou a complexidade do código – e também pode ser usada para grandes quantidades de código, pois o esforço computacional só aumenta linearmente.

Comparação da descrição do bug e do código

O ponto de partida para a localização de falhas é o relatório de bug, para o qual os testadores ou usuários preenchem um formulário no qual descrevem a falha observada e inserem informações sobre a versão do software, seu sistema operacional, as etapas que eles tomaram antes da falha ocorrer e outras informações relevantes. Com base neste relatório de bug, a combinação de processamento de linguagem natural e métricas analisa todo o código com relação às classes e aos nomes de variáveis, arquivos, métodos ou funções e as chamadas para métodos e funções. O aplicativo identifica seções de código que melhor correspondem ao relatório de bug. Como resultado, os desenvolvedores recebem uma lista de cinco a dez arquivos classificados de acordo com a probabilidade de serem responsáveis ​​pela falha observada. Os desenvolvedores também recebem informações sobre o tipo de falha que tem maior probabilidade de estar envolvida. Esses dados podem ser usados ​​para localizar e corrigir o bug mais rapidamente.

“O tempo de trabalho dos desenvolvedores de software é caro, mas eles frequentemente gastam mais desse tempo caro localizando e corrigindo bugs do que desenvolvendo novos recursos”, diz Birgit Hofer. “Como já existem várias abordagens para erradicar esse problema, investigamos como podemos combiná-las e melhorá-las para que haja uma base para aplicação comercial. Agora lançamos as fundações e o sistema funciona. No entanto, para integrá-lo a uma empresa, ele ainda teria que ser adaptado às respectivas necessidades da empresa.”

O sistema de depuração está disponível através da plataforma “GitHub”. No os artigos e repositórios associados a esta pesquisa podem ser encontrados.

Esta pesquisa está ancorada no projeto “Amadeus” do Fundo Austríaco para a Ciência (FWF) ( https://doi.org/10.55776/P32653 ) e está ancorada no Campo de Especialização, um dos cinco focos de pesquisa estratégica da TU Graz.
<

Source

By admin

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *