Kredit:CC0 Public Domain
En av de trevligare sakerna med högre utbildning:Att bli medveten om författares signaturstilar, målare, musiker redan innan vi får veta deras namn. Väl, signaturstilar är inte bara begränsade till konsten.
Två forskare kan visa världen sitt arbete med stilistiska fingeravtryck och hur dessa kan användas för att potentiellt identifiera programmerare från kod och binärer.
"Machine Learning kan avslöja programmerares identitet, " var rubriken från Fossbytes . Artikeln talade om Rachel Greenstadt och Aylin Caliskan, som presenterade sitt arbete på DefCon. Greenstadt är docent, Drexel University; Caliskan är biträdande professor i datavetenskap, George Washington University.
"Stylistiska fingeravtryck"? Menande? Louise Matsakis in Trådbunden tittade på något som kallas stylometri — den statistiska analysen av språklig stil. Hon sa att "nyare forskning visar att stylometri också kan tillämpas på konstgjorda språkprover, som kod. Mjukvaruutvecklare, det visar sig, lämna efter sig ett fingeravtryck också."
I detta område, anonyma programmerare kan identifieras. Fossbytes sammanfattade forskningsinsatsen:De testade koder som skickats in av programmerare och systemet kunde korrekt identifiera 83 procent av gångerna som algoritmen kördes.
De utforskade "avanonymisering av programmerare" med maskininlärning. De anlände till konferensen redo att visa hur abstrakta syntaxträd har "stilistiska fingeravtryck, " och spejare kan använda dessa fingeravtryck potentiellt för att identifiera programmerare, från kod och binärer. Frågan kommer upp:är dessa algoritmer från himlen eller från helvetet? Två sidor av myntet.
Plusfaktorn, självklart, skulle vara att identifiera de författare som planterar skadlig programvara. Negativ faktor:Kodare som gillar att bidra med kod anonymt kan bli avskräckta av detta, som noterats i Fossbytes . "Det finns tillfällen då programmerare skulle vilja förbli okända av legitima skäl och att bli identifierad är inte alltid bra."
Matsakis anmärkte också på integritetsimplikationer, "speciellt för de tusentals utvecklare som bidrar med öppen källkod till världen."
Trådbunden beskrev deras utforskning som ett binärt experiment, där Caliskan och andra forskare använde kodprover från Googles årliga Code Jam-tävling. Maskininlärningsalgoritmen identifierade korrekt en grupp av 100 individuella programmerare 96 procent av tiden, med åtta kodexempel från varje.
Lika intressant, även när urvalsstorleken utökades till 600 programmerare, "algoritmen gjorde fortfarande en korrekt identifiering 83 procent av tiden."
Cory Doctorow in Boing Boing , under tiden, nämnde ytterligare insikter i programmeringsstilar. Doctorow rapporterade att faktiskt, de fann att erfarna utvecklare verkade lättare att identifiera än nybörjare. Ju skickligare du är, desto mer unikt blir ditt arbete tydligen.
Hur så? Doctorow kommenterade att det kan bero på att "delvis beror på att nybörjarprogrammerare ofta kopierar och klistrar in kodlösningar från webbplatser som Stack Overflow."
© 2018 Tech Xplore