NOTÍCIAS

[ANONYMOUS][grids]

A aprendizagem da máquina pode descobrir a identidade dos programadores


Just como um pintor ou autor, os programadores tendem a ter o seu estilo único em que código. Enquanto eles alinham milhares de linhas de código, eles deixam para trás uma espécie de “assinatura” pessoal.
Agora os pesquisadores descobriram que o aprendizado de máquina poderia ser usado para identificar pedaços de código, mesmo se eles fossem escritos por programadores anônimos.

Como funciona?

O sistema de aprendizado de máquina que eles desenvolveram pode "desanunizar" os programadores analisando os padrões em código-fonte bruto ou em binários compilados.
Como dito ao Wired , um algoritmo é treinado para identificar o padrão de codificação de um programador e usa-o para identificar traços similares em diferentes amostras de código.
A melhor parte deste sistema é que ele não requer necessariamente grandes porções de código - até mesmo pequenos fragmentos são suficientes para identificação.
Em uma  apresentação na Defcon , os pesquisadores Rachel Greenstadt e Aylin Caliskan explicaram que essa tecnologia baseada em IA era relativamente precisa, se não inteiramente à prova de falhas.
Eles testaram códigos enviados por 600 programadores com oito amostras cada e o sistema pôde identificar corretamente 83% das vezes que o algoritmo foi executado.

Os prós e os contras

Essa tecnologia tem suas próprias vantagens e desvantagens. Por um lado, pode ser útil para os investigadores, especialmente na identificação de autores de malware. Pode até mesmo ajudar na solução de problemas de plágio, já que o sistema baseado em aprendizado de máquina pode identificar entre similaridades coincidentes e copycats.
Mas a desvantagem é que isso pode criar dificuldades para codificadores que gostam de contribuir com código anonimamente. Há momentos em que os programadores gostariam de permanecer desconhecidos por razões legítimas e se identificar nem sempre é uma coisa boa.
Portanto, qualquer implementação futura desta tecnologia terá que criar um equilíbrio cuidadoso entre a necessidade de segurança e privacidade.