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…
When coding style survives compilation: De-anonymizing programmers from binaries
71–74 of 74 posts
Re: When coding style survives compilation: De-anonymizing programmers from binaries
#72Earlier 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…
Re: When coding style survives compilation: De-anonymizing programmers from binaries
#73Earlier 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.
Re: When coding style survives compilation: De-anonymizing programmers from binaries
#74* 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....