Stories
Slash Boxes
Comments

SoylentNews is people

SoylentNews is powered by your submissions, so send in your scoop. Only 17 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 stretch611 on Monday August 13 2018, @06:49PM

    by stretch611 (6199) on Monday August 13 2018, @06:49PM (#721094)

    If you are in a small company or team environment, this will be obvious. People on your team will pick up on your habits in coding style. The more obvious the style the sooner and easier it will be to pick up. However, the people that work with you will learn far quicker about your ability based on how you interact with them, what questions you ask, what suggestions and ideas you offer, and how many times they see you browsing over to copy code from various public websites. And even if you work remotely, they will learn how smart you are coding and learn how often you google for code... After all, a person who is clueless in every meeting is not going write good code without leaning on the rest of the team asking for constant help.

    So in a non-anonymous team environment you will not be able to hide your style or lack thereof.

    When you write code, you do tend to write it based on previous experience, the more you did something in the past, the more likely you are to do it in the future. It affects all aspects of programming. Do you write functions 125 lines long or do you create smaller functions no larger than one screen of code? How and where do you declare variables? do you abuse globals? do you always set a default or never and are your defaults, zero, empty strings, or nulls, only initial values? Do you actually write comments and are they actually useful? How about variable names? two letter variables or full words, and do you use camelCase? lack all capitalizations, use underscores between words, or only capitalize the first letter? Even how you organize functions into libraries can be a sign of distinction between coders, so can using included source code.

    But, here is the real problem with identifying code... If you are in a company, your team will likely be able to determine it was you with very little effort at all. If you are on a huge public project on the internet, people probably will not spend the time and effort to look at your contributions... especially if they work. (of course if your stuff causes problems constantly, other people will be constantly looking at it to figure out how to fix it and your sloppy crap will be easy to spot) If you truly keep it anonymous, the cost to trace source code back to you based on full analysis of your coding habits will rarely be worth the effort. If it is worth the effort, any idiot should realize that source control requiring non-anonymous logins should be a requirement on the project to begin with.

    --
    Now with 5 covid vaccine shots/boosters altering my DNA :P
    Starting Score:    1  point
    Karma-Bonus Modifier   +1  

    Total Score:   2