Identificación de programadores mediante su código
Seguimos con artículos de investigación que nos han llamado la atención. ¿Existe el estilo de programación? ¿Podemos identificar a alguien que desarrolla programas por su código? Parece que no sólo es cierto (siempre que tengamos código para comparar, claro) sino que también sería cierto con los binarios que se generan por el compilador a partir de ese código. Al menos, eso es lo que dicen en When Coding Style Survives Compilation: De-anonymizing Programmers from Executable Binaries. La preocupación de los autores se refiere a la privacidad y anonimato de los desarrolladores.
Del resumen, descompilando el código binario observan como algunas particularidades sintácticas se conservan y pueden obtenerse de nuevo:
We examine executable binary authorship attribution from the standpoint of machine learning, using a novel set of features that include ones obtained by decompiling the executable binary to source code. We show that many syntactical features present in source code do in fact survive compilation and can be recovered from decompiled executable binary.
La capacidad de atribución alcanzó un 92% de los 100 desarrolladores de una Google Code Jam:
We demonstrate this improvement on data from the Google Code Jam, obtaining attribution accuracy of up to 92% with 100 candidate programmers
Y parece robusta frente a intentos de ofuscación, intervenciones más agresivas del compilador, …
Muy interesante.