Wired is reporting on a presentation given at Def Con 26 by Rachel Greenstadt, an associate professor of computer science at Drexel University, and Aylin Caliskan, Greenstadt's former PhD student and now an assistant professor at George Washington University, entitled Even Anonymous Coders Leave Fingerprints. Stylistic expression is uniquely identifiable and not anonymous, that includes code especially. There are privacy implications for many developers because as few as 50 metrics are needed to distinguish one coder from another.
The researchers don't rely on low-level features, like how code was formatted. Instead, they create "abstract syntax trees," which reflect code's underlying structure, rather than its arbitrary components. Their technique is akin to prioritizing someone's sentence structure, instead of whether they indent each line in a paragraph.
(Score: 0) by Anonymous Coward on Monday August 13 2018, @06:57PM
I once worked on a contract where we had to add features to an existing C coded program, but we were explicitly prohibited from modifying any existing code unless absolutely necessary to the new features. The existing code had been written by two people years ago -- one a very experienced C programmer, and the other a history major graduate who was still learning to code. (don't ask; nobody could explain that one to me, either)
Who wrote which code, given the extremes of experience, was so clear that it was funny. You could even tell when the history guy wrote which part, as his learning curve was evident. The hardest part of the project was keeping myself from cleaning up his code. The client was adamant about that though, so... *shrug*
I can't imagine being able to automate the detection of something like that, to be honest. But then there's a lot of things I don't know about.
Oh, and ? is absolutely a perfectly cromulent operator, indeed. Personally I only used it when the operators were pretty simple, though. No need to deliberately obfuscate code for the next person working on it -- and plenty of times, the next person working on it is you, long after you forgot what the heck it was you were doing.