Crédito:CC0 Public Domain
Una de las cosas más agradables de la educación superior:tomar conciencia de los estilos característicos de los autores, pintores, músicos incluso antes de que nos digan sus nombres. Bien, los estilos característicos no se limitan solo a las artes.
Dos investigadores pueden mostrar al mundo su trabajo sobre huellas dactilares estilísticas y cómo se pueden utilizar para identificar potencialmente a los programadores a partir de código y binarios.
"El aprendizaje automático puede descubrir la identidad de los programadores, "era el titular de Fossbytes . El artículo hablaba de Rachel Greenstadt y Aylin Caliskan, que presentaron su trabajo en DefCon. Greenstadt es profesor asociado, Universidad de Drexel; Caliskan es profesor asistente de informática, Universidad George Washington.
¿"Huellas digitales estilísticas"? ¿Sentido? Louise Matsakis en Cableado examinó algo llamado estilometría, el análisis estadístico del estilo lingüístico. Dijo que "investigaciones más recientes muestran que la estilometría también se puede aplicar a muestras de lenguaje artificial, como código. Desarrolladores de software, resulta, dejar una huella digital también ".
En esta área, Se pueden identificar programadores anónimos. Fossbytes resumió el esfuerzo de investigación:probaron los códigos enviados por los programadores y el sistema pudo identificar correctamente el 83 por ciento de las veces que se ejecutó el algoritmo.
Exploraron la "eliminación del anonimato de los programadores" con el aprendizaje automático. Llegaron a la conferencia listos para mostrar cómo los árboles de sintaxis abstractos tienen "huellas digitales estilísticas, "y los detectives pueden utilizar estas huellas digitales para identificar a los programadores, de código y binarios. Surge la pregunta:¿son estos algoritmos del cielo o del infierno? Dos caras de la moneda.
El factor más, obviamente, sería identificar a los autores que plantan malware. Factor negativo:los codificadores a los que les gusta contribuir con código de forma anónima pueden sentirse desanimados por esto, como se indica en Fossbytes . "Hay momentos en los que a los programadores les gustaría permanecer desconocidos por razones legítimas y ser identificados no siempre es algo bueno".
Matsakis también comentó sobre las implicaciones de privacidad, "especialmente para los miles de desarrolladores que aportan código fuente abierto al mundo".
Cableado describió su exploración como un experimento binario, donde Caliskan y otros investigadores utilizaron muestras de código de la competencia anual Code Jam de Google. El algoritmo de aprendizaje automático identificó correctamente a un grupo de 100 programadores individuales el 96 por ciento de las veces, utilizando ocho ejemplos de código de cada uno.
Tan interesante, incluso cuando el tamaño de la muestra se amplió a 600 programadores, "el algoritmo todavía hizo una identificación precisa el 83 por ciento de las veces".
Cory Doctorow en Boing Boing , mientras tanto, mencionó conocimientos adicionales en estilos de programación. Doctorow informó que, actualmente, encontraron que los desarrolladores experimentados parecían más fáciles de identificar que los desarrolladores novatos. Cuanto más hábil seas, cuanto más único aparentemente se vuelve tu trabajo.
¿Cómo es eso? Doctorow comentó que puede ser "en parte porque los programadores principiantes a menudo copian y pegan soluciones de código de sitios web como Stack Overflow".
© 2018 Tech Xplore