Live data from Hacker News

When coding style survives compilation: De-anonymizing programmers from binaries

freedom-to-tinker.com

71–74 of 74 posts

Re: When coding style survives compilation: De-anonymizing programmers from binaries

#71
post #40

Earlier quoted context omitted.

Writing code that is plain, unsurprising, and reproducible not only is, itself, a style but also still leaves a lot of room for creativity/individuality.

Writing code is some ways a lot like writing in general. From the "elements of style" book: > Vigorous writing is concise. A sentence should contain no unnecessary words, a paragraph no unnecessary sentences, for the same reason that a drawing should have no unnecessary lines and a machine no unnecessary parts. This requires not that the writer make all his sentences short, or that he avoid all detail and treat his s…

Concise sure, but at the very least reasonably easily decipherable and preferably readable.

Re: When coding style survives compilation: De-anonymizing programmers from binaries

#72
post #68

Earlier quoted context omitted.

Why don't you consider different approaches and algorithms a part of definition of style?

It doesn't seem to be the primary meaning of the word; style is considered superficial, a coating over substance. Of course that's a matter of interpretation, but I find the summary of the paper suffers from the ambiguity. There is also the fact, that I alluded to, that winning entries in a programming contest should be more alike than non-winning entries, in that they all actually solve the problem; if non-winning e…

I think the correct logic is more like this: Because the winning entries are all solving the same problem, any discrepancies in how they solved it (logically or stylistically) are magnified when grouped together.

Re: When coding style survives compilation: De-anonymizing programmers from binaries

#73

Earlier quoted context omitted.

If they were saying that in 52% of the cases, they could guess the correct choice out of 600, then random chance alone would have been If they were saying that in 52% of cases, they could guess if some code did or did not belong to a given programmer, then it is basically a random guess.

> If they were saying that in 52% of cases, they could guess if some code did or did not belong to a given programmer, then it is basically a random guess. That entirely depends on the distribution of the original sample.

Yeah, I had an underlying assumption in my mental model that they would have split the questions so that half were yes and half were no. But you are right that that assumption may not hold. A random programmer with a random program will be a 'no' far more than 50% of the time.

Re: When coding style survives compilation: De-anonymizing programmers from binaries

#74
The features given to their random forest classifier appear to be:

* assembly language instruction features: "token unigrams and bigrams"

* decompiled lexical features (unparsed decompiled text): "word unigrams, which capture the integer types used in a program, names of library functions, and names of internal functions when symbol information is available"

* syntactic features (from the parsed AST of the decompiled text): "AST node unigrams, labeled AST edges, AST node term frequency inverse document frequency (TFIDF), and AST node average depth"

* basic block features: TF-IDF weighted "unigrams and bigrams, that is, single basic blocks and sequences of two basic blocks"

source: http://www.princeton.edu/~aylinc/papers/caliskan-islam_when....

Post reply on HN