Stories
Slash Boxes
Comments

SoylentNews is people

SoylentNews is powered by your submissions, so send in your scoop. Only 18 submissions in the queue.
posted by chromas on Monday August 13 2018, @02:22PM   Printer-friendly

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.


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 2) by Snotnose on Monday August 13 2018, @05:08PM (3 children)

    by Snotnose (1623) on Monday August 13 2018, @05:08PM (#721047)

    As a C programmer I used ? quite a bit. Well, not quite a bit but probably 2-3 times more often than the next guy. Some people hate it. "It's too complicated, I don't understand it". Not my problem, learn the language.

    Now I'm doing Java and OO. There are a lot of subtleties in those libraries, and as I figure them out my code changes, sometimes radically. I doubt you could match last year's Java (C with Java syntax) with today's Java (Java with OO as a baseline) to identify me as the author.

    --
    When the dust settled America realized it was saved by a porn star.
    Starting Score:    1  point
    Karma-Bonus Modifier   +1  

    Total Score:   2  
  • (Score: 2) by maxwell demon on Monday August 13 2018, @06:34PM

    by maxwell demon (1608) on Monday August 13 2018, @06:34PM (#721084) Journal

    So in other words, as long as you are not new to the language it's easy to identify you as the author: It's when nobody else understands your code. ;-)

    --
    The Tao of math: The numbers you can count are not the real numbers.
  • (Score: 0) by Anonymous Coward on Monday August 13 2018, @06:57PM

    by Anonymous Coward on Monday August 13 2018, @06:57PM (#721100)

    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.

  • (Score: 2) by KritonK on Monday August 13 2018, @08:17PM

    by KritonK (465) on Monday August 13 2018, @08:17PM (#721121)

    I thought I'd mention that ? works in Java, as well. The , operator works as well, at least in for statements.