26 de septiembre de 2020
13 de agosto de 2018

El aprendizaje automático logra identificar a programadores de 'software' anónimos analizando su código

El aprendizaje automático logra identificar a programadores de 'software' anónimos analizando su código
PIXABAY

MADRID, 13 Ago. (EDIZIONES/Portaltic) -

Un grupo de investigadores ha presentado en el marco de la conferencia de desarrolladores DefCon en Las Vegas (Estados Unidos) un estudio que prueba que el aprendizaje automático puede utilizarse para identificar a los desarrolladores de 'software' de código abierto incluso cuando permanecen anónimos.

La investigación, dirigida por expertos en ingeniería informática de las universidades estadounidenses de Drexel y George Washington, ha descubierto que los desarrolladores de 'software' dejan una huella al programar, al igual que mediante otras formas de expresión como la escritura.

Mediante técnicas basadas en el aprendizaje automático, es posible entrenar a sistemas informáticos para identificar a los programadores que participan en el desarrollo de herramientas de código abierto, incluso si lo hacen de manera anónima, como ha recogido la revista Wired.

Estos mecanismos de 'machine learning' analizan alrededor de 50 rasgos entre un total de cientos de miles en el lenguaje de programación que son capaces diferenciar a un desarrollador de otro. Con esta información crean "árboles sintácticos abstractos" que reflejan la estructura del código.

Para su funcionamiento, las herramientas diseñadas por los investigadores estadounidenses requieren ejemplos anteriores de trabajo de los desarrolladores, que utilizan para entrenar sus algoritmos. No obstante, solamente son necesarias algunas muestras de código.

Los mecanismos de aprendizaje automático del estudio han sido capaces de identificar correctamente el 96% de las ocasiones entre un grupo de cien, y el 83% de las veces cuando el grupo era de 600 personas, utilizando para ello ocho muestras de código.

"Existe una huella de estilo muy fuerte que permacene cuando un aspecto (la programación) se basa en el aprendizaje individual", como ha asegurado Aylin Caliskan, profesora de informática de la George Washington University y coautora del estudio.

Entre las principales aplicaciones de sus algoritmos, los investigadores han destacado su uso para resolver denuncias por plagio de código o por su uso indebido, e incluso identificar a las personas que crean 'malware'.