Crédit :CC0 Domaine public
L'un des aspects les plus intéressants de l'enseignement supérieur :prendre conscience des styles de signature des auteurs, peintres, musiciens avant même qu'on nous dise leurs noms. Bien, les styles de signature ne se limitent pas aux arts.
Deux chercheurs peuvent montrer au monde leur travail sur les empreintes stylistiques et comment celles-ci peuvent être utilisées pour potentiellement identifier les programmeurs à partir du code et des binaires.
"L'apprentissage automatique peut révéler l'identité des programmeurs, " était le titre de Fossbytes . L'article parlait de Rachel Greenstadt et Aylin Caliskan, qui ont présenté leur travail à DefCon. Greenstadt est professeur agrégé, Université Drexel; Caliskan est professeur adjoint d'informatique, Université George Washington.
« Empreintes stylistiques » ? Sens? Louise Matsakis dans Filaire regardé quelque chose appelé stylométrie - l'analyse statistique du style linguistique. Elle a déclaré que "de nouvelles recherches montrent que la stylométrie peut également s'appliquer aux échantillons de langage artificiel, comme le code. Développeurs de logiciels, il s'avère, laisser aussi une empreinte digitale."
Dans cette zone, les programmeurs anonymes peuvent être identifiés. Fossbytes a résumé l'effort de recherche :ils ont testé les codes soumis par les programmeurs et le système a pu identifier correctement 83 % des fois où l'algorithme a été exécuté.
Ils ont exploré la « désanonymisation du programmeur » avec l'apprentissage automatique. Ils sont arrivés à la conférence prêts à montrer comment les arbres de syntaxe abstraite ont « des empreintes stylistiques, " et les détectives peuvent utiliser ces empreintes digitales potentiellement pour identifier les programmeurs, à partir du code et des binaires. La question se pose :ces algorithmes viennent-ils du ciel ou de l'enfer ? Deux faces de la médaille.
Le facteur positif, évidemment, serait d'identifier les auteurs qui plantent des logiciels malveillants. Facteur négatif :les codeurs qui aiment contribuer au code de manière anonyme peuvent être rebutés par cela, comme noté dans Fossbytes . "Il y a des moments où les programmeurs aimeraient rester inconnus pour des raisons légitimes et se faire identifier n'est pas toujours une bonne chose."
Matsakis a également fait une remarque sur les implications de la vie privée, « surtout pour les milliers de développeurs qui contribuent au code source ouvert dans le monde. »
Filaire décrit leur exploration comme une expérience binaire, où Caliskan et d'autres chercheurs ont utilisé des échantillons de code du concours annuel Code Jam de Google. L'algorithme d'apprentissage automatique a correctement identifié un groupe de 100 programmeurs individuels 96 % du temps, en utilisant huit échantillons de code de chacun.
Aussi intéressant, même lorsque la taille de l'échantillon a été élargie à 600 programmeurs, "l'algorithme a quand même fait une identification précise 83 pour cent du temps."
Cory Doctorow dans Boing Boing , pendant ce temps, mentionné des informations supplémentaires sur les styles de programmation. Doctorow a rapporté que, réellement, ils ont constaté que les développeurs expérimentés semblaient plus faciles à identifier que les développeurs novices. Plus vous êtes doué, plus votre travail devient apparemment unique.
Comment? Doctorow a commenté que cela peut être "en partie parce que les programmeurs débutants copient et collent souvent des solutions de code à partir de sites Web comme Stack Overflow".
© 2018 Tech Xplore