
Projetos do Laboratório de IA
Saiba mais sobre a incrível inovação da IA com laboratórios práticos, recursos de código e imersões profundas.
Code Defect AI
A Altran desenvolveu um classificador de machine learning que prevê os arquivos de código-fonte que têm mais risco de ter bug. Os desenvolvedores são informados sobre explicações e fatores usados para fazer a previsão específica.
Saiba mais sobre o Code Defect AI
A necessidade
Os bugs são uma realidade no desenvolvimento de software. Quanto mais tarde no ciclo de vida de desenvolvimento for encontrado um bug, maior será o custo para corrigi-lo. Se o defeito for detectado após a implantação, os clientes serão afetados e os desenvolvedores gastarão mais tempo para replicar o problema e liberar uma correção. Esse processo de bug/implantação/análise/correção é demorado e caro.
A ideia
Determinados padrões na base do código do projeto de software têm um risco mais elevado de introduzir bugs. Esses padrões podem ser aprendidos por um algoritmo de aprendizado de classificação para prever o potencial de um arquivo ter bug. Dessa forma é possível descobrir um defeito com mais rapidez, o que minimiza o custo das correções de bug.
A solução
Os modelos de classificação personalizados são criados para projetos do GitHub com base nos metadados associados a confirmações históricas. Quando o Code Defect AI descobre novas confirmações dos desenvolvedores, ele prevê se algum arquivo da confirmação corre risco de ter defeitos. A lógica por trás da previsão é apresentada usando LIME (Local Interpretable Model-Agnostic Explanations) para que os desenvolvedores possam dar crédito à previsão e aprender com ela.
Detectando bugs antes da implantação
O desenvolvimento do software passa por vários ciclos de codificação, teste, localização de bugs e, depois, as correções na codificação. A Altran e a Microsoft implantaram modelos de machine learning no Azure para identificar riscos de bugs no início do desenvolvimento com menos ciclos, o que poupa tempo e dinheiro.
Detalhes técnicos da experiência Code Defect AI
O treinamento supervisionado em machine learning permite que algoritmos prevejam uma saída com base em exemplos históricos de pares de entrada/saída, ou seja, dados rotulados. O aprendizado supervisionado é designado como um problema de classificação quando a variável de saída é uma variável discreta. Determinados padrões na base do código do projeto de software têm um risco mais elevado de introduzir bugs. Por exemplo, se um novo desenvolvedor fizer alterações em um arquivo que historicamente tem uma maior incidência de bugs, uma confirmação envolverá arquivos de vários diretórios ou a atualização de código será distribuída entre várias regiões no arquivo. Esses padrões podem ser aprendidos por um algoritmo de aprendizado de classificação para prever o potencial de bug em uma confirmação. Isso permite usar a abordagem shift-left de detecção de defeitos, minimizando assim o custo da correção.
Foram criados três modelos de classificação personalizados para três projetos do GitHub com base nos metadados associados a confirmações históricas. Os dados rotulados para treinar o modelo foram criados usando os metadados coletados do repositório do GitHub. Quando o Code Defect AI descobre novas confirmações dos desenvolvedores, obtém os metadados de cada uma delas e os arquivos na confirmação. Em seguida, ele prevê se algum dos arquivos na confirmação corre o risco de ter um bug usando o modelo específico do projeto. Os modelos tradicionais de machine learning são caixas pretas, e a lógica por trás da previsão do modelo não está disponível. Apresentamos a lógica por trás da previsão usando LIME (Local Interpretable Model-Agnostic Explanations) para que os usuários desenvolvam maior confiança na previsão.
Recursos:

Sketch2Code
Sketch2Code converte desenhos feitos à mão em protótipos HTML. Os designers compartilham ideias em um quadro branco e as alterações são exibidas instantaneamente no navegador, ajudando a melhorar a colaboração entre o designer, o desenvolvedor e o cliente.

JFK Files
O JFK Files pega 34.000 arquivos complexos, incluindo fotos, manuscritos, documentos do governo e muito mais, e depois extrai informações legíveis. Esse conhecimento foi organizado para permitir novas maneiras de explorar as informações.

Spektacom
O Spektacom usa um minissensor com adesivo em um taco de críquete para coletar dados sobre qualidade, velocidade, movimento e balanço do taco. Esses dados são usados para analisar a qualidade da jogada e ajudar profissionais, amadores e técnicos a melhorarem o jogo.

PoseTracker
O PoseTracker usa deep learning para rastrear a posição e a orientação de objetos. Essa solução usará a câmera de seu smartphone para medir e rastrear o ângulo, a orientação e a distância de um item em tempo real.
Explore as possibilidades da IA
Concretize a inteligência artificial em seus negócios hoje mesmo.

Crie soluções inovadoras de IA
Descubra a IA do Azure, um portfólio de serviços de IA projetado para desenvolvedores e cientistas de dados. Aproveite as décadas de pesquisas inovadoras, as práticas de IA responsável e a flexibilidade que a IA do Azure oferece para criar e implantar suas próprias soluções de IA.