ControlFlag: ferramenta de programação de máquina da Intel que detecta bugs no código

ControlFlag: ferramenta de programação de máquina da Intel que detecta bugs no código 1

A Intel revelou na quinta-feira o ControlFlag, um sistema de pesquisa de programação de máquina que pode detectar erros de forma autônoma no código, durante o Labs Day 2020.

Em testes preliminares, a ControlFlag treinou e aprendeu novos defeitos em 1 bilhões de linhas sem etiqueta de código de qualidade de produção. A ferramenta mostra-se promissora como uma ferramenta de produtividade poderosa para ajudar os desenvolvedores de software na tarefa de depuração que exige muita mão de obra, de acordo com a Intel.

A Intel disse que estima que de $10,25 trilhões desses custos de desenvolvimento de software para a indústria de TI a cada ano, 50% são gastos na depuração de código.

“Achamos que o ControlFlag é uma ferramenta nova e poderosa que pode reduzir drasticamente o tempo e o dinheiro necessários para avaliar e depurar o código. De acordo com estudos, os desenvolvedores de software gastam aproximadamente 50% do tempo depurando. Com ControlFlag e sistemas semelhantes, imagino um mundo onde os programadores gastam notavelmente menos tempo depurando e mais tempo no que acredito que os programadores humanos fazem melhor – expressar novas ideias criativas para máquinas ”, Justin Gottschlich, cientista principal e diretor / fundador da Pesquisa de programação de máquina no Intel Labs.

O ControlFlag é habilitado por uma mistura de programação de máquina, aprendizado de máquina, métodos formais, linguagens de programação, compiladores e sistemas de computador. Ele opera especificamente por meio de um recurso conhecido como detecção de anomalias.

ControlFlag aprende com exemplos verificados para detectar padrões normais de codificação, identificando anomalias no código que podem causar um bug. Além disso, se forem encontradas anomalias no código, a ferramenta pode detectar essas anomalias, independentemente da linguagem de programação. O benefício mais importante da abordagem não supervisionada do ControlFlag para reconhecimento de padrões é que ele pode aprender intrinsecamente a se adaptar ao estilo do desenvolvedor e identificar variações estilísticas em uma linguagem de programação.

A ferramenta de programação aprende a identificar e marcar essas escolhas estilísticas e pode personalizar a identificação de erros e as recomendações de solução com base em seus insights. Isso minimiza as caracterizações do ControlFlag de código com erro que pode ser simplesmente um desvio estilístico entre duas equipes de desenvolvedores como um erro, de acordo com a Intel.

Quando a Intel testou o ControlFlag, foi capaz de identificar erros no código de qualidade de produção. Uma dessas bases de código que foi analisada pela ferramenta foi o cURL. Ele foi capaz de identificar uma anomalia em um código cURL que não havia sido reconhecido anteriormente.

Atualmente, a Intel está usando o ControlFlag internamente para identificar bugs no desenvolvimento de seu próprio software e firmware. É um elemento-chave do projeto Rapid Analysis for Developers da Intel, que visa acelerar a velocidade fornecendo assistência especializada.