Programmeurs hebben net als auteurs van literatuur een schrijfstijl en met stylometrie kan de identiteit van deze auteur worden achterhaald. Met code-stylometrie (PDF) kunnen programmeurs die anoniem willen blijven worden getraceerd en dat is voor bijvoorbeeld opsporingsdiensten handig om malwaremakers en ander gespuis op te sporen. (En voor financiële autoriteiten om de echte Satoshi Nakamoto te vinden.)

Syntaxisboom = vingerafdruk

Als testset werd er gekeken naar Google Code Jam over een periode van meerdere jaren waarbij in totaal 100.000 programmeurs C++-code hadden geschreven. Bij de code-stylografie wordt een flinke set variabelen gebruikt, bijvoorbeeld welke features worden aangesproken, welke oplossingen voor ingezet om bepaalde problemen op te lossen, welke verschillende naamgevingen voor dezelfde functies worden gebruikt en hoe de auteur omgaat met tabs en spaties.

Een machine learning-algoritme leerde van deze set door uitgebreide syntaxisbomen te bouwen die uniek genoeg waren om afzonderlijke programmeurs te identificeren. Dit 'vingerafdruk' werd getest op een groep van 250 ontwikkelaars. Daarmee kon bij het gebruik van 630 regels code met 95 procent zekerheid worden vastgesteld wie de auteur was. Met meer regels code werd de accuratesse van het resultaat nog hoger.

Obfuscatie helpt niet

Er zijn nog wel wat mitsen en maren. Zo moet de identiteit van de auteur wel al eens zijn vastgelegd bij een ander stukje code, dus programmeurs die van meet af aan anoniem bezig zijn, blijven anoniem. Obfuscatie van code, door bijvoorbeeld code anders te structureren, leverde volgens de onderzoekers een statistisch verwaarloosbaar verschil op het ontdekkingspercentage op en heeft weinig effect op het deanonimiseren.