Slashdot Mirror


Code Quality Predicted Using Biometrics (vice.com)

An anonymous reader writes: Swiss researchers are unveiling "a not at all sinister-sounding system capable of predicting the quality of code produced by developers based on their biometric data," according to Motherboard. "By looking at the programmer as they program, rather than the code after the programmer is done writing it, the system described by the Zurich researchers finds code quality issues as the code is being produced... By using heart rate information, for example, they were able to quantify the difficulty a given programmer had in producing a piece of software. This information could then be used to identify likely sections of bad code..."

In a paper to be presented at an Austin engineering conference this week, the researchers write that "Delaying software quality concerns, such as defects or poor understandability of the code, increases the cost of fixing them," calling their system an improvement over code reviews, even automated ones. "Biometrics helped to automatically detect 50 percent of the bugs found in code reviews and outperformed traditional metrics in predicting all quality concerns found in code reviews."

On the other hand, Motherboard likened the stress level for programmers to "a coding interview that never ends where you also happen to be naked. "

122 comments

  1. This is stupid by Anonymous Coward · · Score: 1

    So the easy parts will have cleaner code than the hard parts? Uh...duh?

    1. Re:This is stupid by Anonymous Coward · · Score: 1

      Someone who's unfamiliar with the code might not be able to tell at a glance which parts are easy and which parts are hard, especially in a large, complex CR.

    2. Re:This is stupid by Wycliffe · · Score: 3, Insightful

      So the easy parts will have cleaner code than the hard parts? Uh...duh?

      Yes, but the point is that they are automatically detecting which parts are the easy parts so that you can focus your time doing code review on the parts that the developer struggled on and therefore are more likely to have bugs. You could also use this information to assign "too difficult" tasks to a different more experienced developer. It's interesting but I can't imagine anyone wanting to wear biometrics all day every day.

    3. Re:This is stupid by Anonymous Coward · · Score: 5, Interesting

      The method doesn't measure if the code is easy or difficult, it measures if the programmer was over or under-qualified to write the particular code the programmer attempts to write.
      If the coder struggled but the result turned out great then the method will still flag the code to be likely to be bad.
      The method will also completely miss buggy code caused by the programmer not realizing that the problem is tricky and going for a way too simple solution.
      It takes no effort to not add input validation. A biometric test won't help you out there.

      I wonder if this method performs better than keeping track on how long time a particular code segment have been shown on screen. (Possibly compared to characters written/edits made?)
      Spending too much time on a function could indicate that something tricky is attempted to be made, but also that effort might have been spent trying to fix the code.
      Spending significantly less than average time looking at a function could indicate that bugs have been looked over.

      In general I don't like using biometrics since it is hard to deal with noise caused by external factors. If the programmer has medical issues or is going through personal problems this will likely impact the result. Some code might appear to be tricky while the reality is that a wasp had entered the office when it was written.

    4. Re:This is stupid by Anonymous Coward · · Score: 0

      Most of the bugs I've fixed were made in easy(and repetitive) code sometimes by very relaxed developers... Hard parts - really depends on definition. Though, I don't see why someone would jump to conclusion that there is easy and hard code... :D

      The whole programming process is stressful. Programmers are in top position of proffession list, that can burn out. People are stressed from various reasons(maybe some coworkers are incompatible?, some of companies are hiring female coworkers, who are not always coders to ease the stress in mostly male environment) and from this "research" smart company should come to realization how important it is to create less stressed work atmosphere. Yeah, it is mostly an art to make people work most efficiently somewhere along the carrot and whip, because on the other hand there are no results without some stress.

      Btw, you are threading a very thin and dangerous line, when you are suggesting, that some more experienced developers should be loaded with tasks... in the first instance - the question is what those "less experienced" developers are doing in the company, if they are earning the same salary and making bugs! If they can't adapt and learn(XP, agile, pair programming helps there), then they should not code at all! Besides, constant bug fixing of some of those bug making individuals is not only annoying, but also depressing(that leads to stress) and does not give you better salary. If you are suggesting to load more experienced developers with anything that less experienced developers can't do, this is way downhill. Basically - what are you suggesting is that it is ok to make more experienced developers more stressful... because clearly, if there are people who can't code, why would you even bother to keep them on expense on somebody else nerves?

    5. Re:This is stupid by JaredOfEuropa · · Score: 5, Funny

      Worse: some PHB will mix up cause and effect, and spike the coffee machines on the coder's floor with anti-anxiety pills and Metoprolol, in an effort to reduce stress and heart rates thus improving software quality.

      --
      If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
    6. Re:This is stupid by Big+Hairy+Ian · · Score: 3, Funny

      It's all spaghetti code in the end

      --

      Build a Man a Fire, and He'll Be Warm for a Day. Set a Man on Fire, and He'll Be Warm for the Rest of His Life.

    7. Re:This is stupid by geekmux · · Score: 1

      The method doesn't measure if the code is easy or difficult, it measures if the programmer was over or under-qualified to write the particular code the programmer attempts to write. If the coder struggled but the result turned out great then the method will still flag the code to be likely to be bad.

      While you have pointed out the downsides to this type of metrics, the term "under-qualified" is a rather horrible way of describing the challenges that many good IT professionals strive to find in the workplace.

      The words "challenging work environment" likely exist on your own resume, as they do with most people who are good at what they do and enjoy the challenge. I didn't get into IT because I enjoy sitting around a room babysitting boxes full of blinking lights and hard drives. I sure as hell don't stay in IT for that reason either, so not everything on my desk I expect to be pathetically easy to the point of being insignificant, especially when using biometrics as the measuring stick.

    8. Re:This is stupid by tomhath · · Score: 1

      Back in the day, we could predict how buggy a section of code was by two things:

      1) Who wrote it. Some programmers always write buggy code, no matter how simple the problem they're trying to solve

      2) How much logging / commented out print statements were in it. More debugging always meant the programmer was struggling to get it working and was afraid to clean it up when they thought they were done.

    9. Re:This is stupid by Bengie · · Score: 1

      The only thing challenging about technological solutions is the people you have to deal with to get your job done. In 10 years of programming, I have yet to run into a situation where I couldn't immediately see what needed to get done. "Challenging work environment" sounds like working with a lot of idiots. Of course I understand what you meant. aka "Not boring".

    10. Re:This is stupid by ninthbit · · Score: 1

      I think Fitbit, and the exploding wearable's market in general would disagree with you there.

    11. Re:This is stupid by Wycliffe · · Score: 2

      Btw, you are threading a very thin and dangerous line, when you are suggesting, that some more experienced developers should be loaded with tasks... in the first instance - the question is what those "less experienced" developers are doing in the company, if they are earning the same salary and making bugs!

      Why would a "less experienced" junior developer be earning the same as a "more experienced" senior developer?

      Basically - what are you suggesting is that it is ok to make more experienced developers more stressful... because clearly, if there are people who can't code, why would you even bother to keep them on expense on somebody else nerves?

      That's not what I am suggesting at all. Rather I'm suggesting that you could detect when you gave someone a task that they weren't ready to tackle yet and would be better off giving it to someone with a little more experience. The person with the more experience should hopefully find the task easier and therefore not as stressful.

    12. Re:This is stupid by JoeMerchant · · Score: 3, Insightful

      The "whoosh" for me in this is that I develop the solutions to the hardest parts of my software problems when I am far far away from the keyboard. Sitting down and grinding out code is one thing, but elegant solutions to tough problems rarely come while staring at the screen.

    13. Re:This is stupid by ShanghaiBill · · Score: 1

      Most of the bugs I've fixed were made in easy(and repetitive) code sometimes by very relaxed developers...

      I wonder how many of those bugs were because they were interrupted by their manager, and given another task for an hour or a few days. Then when they can back to finish the half-written code, they no longer have the short term memory of special conditions or corner cases that need to be handled.

      The whole programming process is stressful.

      Is it? I have a hard time imagining a less stressful job. I sit in a $1800 ergometric chair, listening to my favorite music, while I cut and paste from Stackoverflow. Sure, there are deadlines, but any job has that, and with coding those deadlines are weekly or monthly, not hourly or by the minute like in many other jobs.

    14. Re:This is stupid by JoeMerchant · · Score: 2

      If code is repetitive enough, there should be an app (developed) to do that.

      Nobody follows patterns as well as a program. And, if the pattern needs changing, change the program that writes the code - it will rewrite the code for you in the new pattern in milliseconds.

    15. Re:This is stupid by Anonymous Coward · · Score: 0

      I'm pretty sure the comments would be able to identify the hard bits of code

      ## This works. I don't know why it works but it just does. For the love of god don't touch it

    16. Re:This is stupid by Anonymous Coward · · Score: 0

      No, there are people, who will make bad code, because they have not learned to code properly. It has nothing to do with short term memory - in my case it would just take some extra time to get back to the same task and that should not make bugs anyway. And if manager would say, that some task is more important, I would flush my memory of current task and forget about it while doing more important task.

      Well, then you are just in luck. I have aged and get bored of music and can't sit in chair all day doing nothing. For me it would be painfully stressful if there would be no challenges for my capabilities and I would be stuck in some place with no personal growth, like I'm now. Because of that I would browse slashdot to just slowly kill the time.

    17. Re:This is stupid by drcesteffen · · Score: 1

      It doesn't measure "if the programmer was over or under-qualified to write the particular code" either. (IDNRTFA) but sounds like it measures biometrics such as heart rate relative to the code module shown on screen. I am guessing that the researcher assumes a cause and effect relationship between code difficulty and heart rate, presumably, since they detected a correlation when testing in controlled environment. I assume that they then assumed the "real world" functions the same as their "controlled environment" and propose using it in the real world to have a real cause and effect on some poor programmers, presumably, so the researchers can make a lot of money selling/licensing their product which, if true, might be a conflict of interest.

    18. Re:This is stupid by ilctoh · · Score: 1

      If the coder struggled but the result turned out great then the method will still flag the code to be likely to be bad. The method will also completely miss buggy code caused by the programmer not realizing that the problem is tricky and going for a way too simple solution.

      I agree that these factors mean that the test cannot be reliably used to just identify potentially dangerous parts of code. But I think the results could reveal some interesting information about the programmer.

      As you said - if we have data showing that a developer struggled with a particular area of code, but that area ends up being of high quality - then we can see that the developer likely has a great attention to detail, and is being thorough with his design and testing. That's good information to know about a developer.

      Another possibility is that the developer moved quickly through the area of code without stressing. But the code quality ends up being crap. This tells us that the developer is likely sloppy, lazy or just not very good. This may help identify an opportunity to coach a newer developer - or just to identify developers who we can't trust.

      Now, I'd agree that in terms of yielding actionable data - this isn't as valuable or useful as if we were able to simply get a reliable indication of code quality. But its still something interesting to consider.

      --
      How many slashes would a slashdot dot, if a slashdot could dot slashes?
    19. Re:This is stupid by Anonymous Coward · · Score: 0

      > while I cut and paste from Stackoverflow.

      You sir are not a coder. Maybe an overpayed script mechanic, but if you can't code without the help of the internet, you are not a coder.

    20. Re:This is stupid by Anonymous Coward · · Score: 0

      Seems like a flawed assumption. If the developer is reasonably good to begin with they will be thinking about nothing but the project throughout the project. Moments of perceived ease are far more likely to be the result of a developer crapping out something ill-conceived (and/or someone embracing the unix philosophy.)

    21. Re:This is stupid by Anonymous Coward · · Score: 0

      Why would what someone wants matter? No one wants to take drug tests, show up early in the morning, or work on someone else's program either.

    22. Re:This is stupid by Anonymous Coward · · Score: 0

      How do code reviews fit into the daily cycle of the 'Eat, Sleep, Code, Repeat' Approach?

      So coding is supposed to be such a large part of my daily "activity." Can I use the bio-metric information in doctor visits?

      How about when purchasing medical insurance? Maybe I need to demonstrate that I'm not in fact a chair barnacle filter feeding from my employer's Internet connection.

      Or that I really don't need anger management classes. See it's really all just the code, man. All that bad code. Somebodies' gotta look at it.

    23. Re:This is stupid by Anonymous Coward · · Score: 0

      So when the boss starts asking for mandatory drug tests just remind him of what's in the water.

    24. Re: This is stupid by Anonymous Coward · · Score: 0

      No one codes without the help from the Internet. Before that it was books and Usenet.

      You think Linus wrote the kernel by himself? Maybe the prototype, but he def got help from friends, books, and user groups.

    25. Re:This is stupid by Anonymous Coward · · Score: 0

      That second evaluation isn't necessarily a good idea. I added a lot of logging to code not because I struggled but because I wanted good logging.

    26. Re:This is stupid by Anonymous Coward · · Score: 0

      You sir are not a coder

      You, sir, do not know how to use a comma properly.

    27. Re:This is stupid by Anonymous Coward · · Score: 0

      wearable's

      wearables doesn't have an apostrophe

    28. Re:This is stupid by ShanghaiBill · · Score: 2

      if you can't code without the help of the internet, you are not a coder.

      Whatever. I get paid for functionality, not originality.

    29. Re:This is stupid by AuMatar · · Score: 1

      Then you've never worked on anything non trivial. Most likely because you aren't good enough to be trusted with it.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    30. Re:This is stupid by Bengie · · Score: 2

      "Trivial" is relative. Non-trivial but fun to me is multi-threading, I actually have to try and it typically takes me a few days to create a high performing easy to debug design. The company CIO has thanked me for such an outstanding job of taking on projects that other teams are too afraid to do. BTW, we're partly owned by Google, and Google and Microsoft have both come to us for help and are partners.

      I would love to work on bigger projects, but there's a lot of red-tape to break into those.

    31. Re:This is stupid by Anonymous Coward · · Score: 0

      Sounds more like a permanent test for drugs to actually hinder programmers having a great time and producing high quality irregardless. If they say so... but since they did not sample ME I can only doubt their result (for coming from Switzerland, though it is a good way to tell **some** people they can no longer deceive us as being programmers, at all).

  2. They will find out by Anonymous Coward · · Score: 2, Funny

    that all my code is terrible.

    1. Re:They will find out by Sam36 · · Score: 1

      that all my code is terrible.

      Yes, ^^^^ this

  3. Subjective by eWarz · · Score: 4, Interesting

    The problem with code quality is that it is subjective. Some people (aka architecture astronauts) love complex, multi-tiered code with multiple classes and tons of inheritance. Others prefer the simplest code required to get the job done. Still others like some type of balance between the two. Code, much like art, cannot be judged because of this.

    1. Re:Subjective by Wycliffe · · Score: 2

      The problem with code quality is that it is subjective. Some people (aka architecture astronauts) love complex, multi-tiered code with multiple classes and tons of inheritance. Others prefer the simplest code required to get the job done. Still others like some type of balance between the two. Code, much like art, cannot be judged because of this.

      They aren't detecting code complexity, they are detecting which parts were complex/difficult for the programmer and therefore more likely to contain bugs. This might even indirectly detect readability. If something is "multi-tiered code with multiple classes" and that makes it easier to understand then the biometrics should detect that. On the other hand, if the "multi-tiered code with multiple classes" makes it overly complex and harder to understand then again, the biometrics should show that.
      So, yes, code is like art, where you have some freedom to how you approach the problem, but the method that makes the code easiest to understand is likely the better code and reading how hard your brain works is a fairly straightforward way of measuring this.

    2. Re: Subjective by Anonymous Coward · · Score: 0

      You can make two versions of the code and ask which one is better. Quite often everyone agrees one is better than other. If not. Then there is either not much difference or people need to discuss about things like how many parameters functions should have and why, to understand reason for various choices.

    3. Re:Subjective by El_Muerte_TDS · · Score: 1

      While I agree that code quality is subjective, but everybody loves the simplest code required to get the job done. This simplest code will have the highest quality because it is the easiest to understand. If code is easy to understand it has a high quality.

    4. Re:Subjective by Ace17 · · Score: 1

      Let's not throw the baby out with the bath-water. Although there certainly is a subjective part to code quality, the objective part is big enough to be considered.
      Put those architecture astronauts in front of somebody else's code, and they will prefer the non-astronauts versions.

    5. Re:Subjective by Darinbob · · Score: 1

      Personally, I think the code should work, and that others can read and understand it in order to make modifications. Sounds simple enough, yet so many people screw that up since they only focus on the first part. The second part presumably is either forgotten about or purposely skipped for some sort of misguided job security.

    6. Re: Subjective by Anonymous Coward · · Score: 0

      If you expect to need to extend the code later the simplest code to solve the problem today might need considerable rework next month.

    7. Re:Subjective by K.+S.+Kyosuke · · Score: 1

      Should I write a higher-order function to generalize over a class of mappings, or should I write an inlined loop performing the operation wherever I need it? The former will probably be longer, but in the place where it's being used, there will be a descriptive name for the general transformation pattern. Or maybe I could even make a few local definitions describing what the generic transformations are supposed to be used for in the particular piece of code I'm just writing, and then just compose the even more descriptively named local functions, each of which calls a higher-order function in turn. That would be even longer but also the most readable version. Is the most explicit version the simplest one, or is it the shortest one? Simplicity can be subjective, too.

      --
      Ezekiel 23:20
    8. Re:Subjective by Anonymous Coward · · Score: 0

      This might even indirectly detect readability. If something is "multi-tiered code with multiple classes" and that makes it easier to understand then the biometrics should detect that. On the other hand, if the "multi-tiered code with multiple classes" makes it overly complex and harder to understand then again, the biometrics should show that.

      Unlikely. When you write the code yourself, then all those layers and complexity often make perfect sense to you.
      To measure readability, they should also get biometrics of people trying to read/use your code (capturing the WTF moments).
      Then again, some code is inherently complex, and inexperienced programmers may score it low on readability, while experienced programmers might find it well structured and perfectly readable.

    9. Re:Subjective by Anonymous Coward · · Score: 0

      Isn't the simplest code to get the job done always the best?

    10. Re:Subjective by JoeMerchant · · Score: 1

      Code, much like art, cannot be judged because of this.

      Code, much like everything else in life, will be judged - whether you think it is fair or not is irrelevant.

    11. Re: Subjective by Anonymous Coward · · Score: 0

      Entirely. In my experience the second part is skipped because management is only concerned about the first part (make it work ASAP, think of the customer!), until, of course, it comes time to fix or enhance, at which time they wonder why it's so hard to do so.

      A great a posteriori measure of code quality would be inverse of the blood pressure of the programmer who has to fix it.

    12. Re:Subjective by AmiMoJo · · Score: 1

      Code quality depends on the situation. On an embedded system with limited resources running from a battery it makes sense to make certain compromises that you wouldn't take on a desktop system. The problem with any system like this is that the PHB will run it without understanding that it needs tuning or interpreting, and act on the good/bad output.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    13. Re:Subjective by Wycliffe · · Score: 1

      Code quality depends on the situation. On an embedded system with limited resources running from a battery it makes sense to make certain compromises that you wouldn't take on a desktop system. The problem with any system like this is that the PHB will run it without understanding that it needs tuning or interpreting, and act on the good/bad output.

      Yes, code quality depends on the situation but what you are describing is not what the biometrics are measuring. A better example might be that coding for embedded system is harder and more stressful but it could still be argued that if the programmer is stressed that he is more likely to make mistakes because that is really what they are measuring. More stress and/or more brain activity implies that it is not as "second nature" to the programmer and therefore harder and more accident prone. This is basic biology. A professional musician doesn't have to think as hard as a beginner. This even shows up in blood flow scans of the brain.

    14. Re:Subjective by PJ6 · · Score: 1

      The problem with code quality is that it is subjective. Some people (aka architecture astronauts) love complex, multi-tiered code with multiple classes and tons of inheritance.

      Bite your tongue. You show me an architect that uses tons of inheritance and I'll show you a paste-eater.

      Unnecessary complexity is the greatest sin you can commit in engineering. Quality is NOT subjective.

  4. Biometric Analysis is Inadequate by Nova+Express · · Score: 0

    Obviously we need programmers to work in interactive debuggers at all times, and, when the environment detects a bug, it gives the developer an electric shock. The shock would be mild at first, but would increase in severity for each subsequent bug. After twenty bugs have been detected in a single day, the program could automatically terminate the employee and outsource the project to an offshore resource.

    I'm sure this approach would increase both software quality and employee morale, just as it did at Milgrim Codeworks...

    --
    Lawrence Person (lawrencepersonh@gmailh.com (remove all "h"s to mail)

    http://www.lawrenceperson.com/

    1. Re:Biometric Analysis is Inadequate by __aaclcg7560 · · Score: 4, Funny

      Obviously we need programmers to work in interactive debuggers at all times, and, when the environment detects a bug, it gives the developer an electric shock.

      As a lead software tester in a former life (I currently do government IT work), I've always requested the use of a cattle prod when talking to the programmers about they think the user is supposed to do with the application and what I've proven user can do to crash the application. "Users don't do that!" isn't a valid excuse for not fixing a crash bug. My requests for the cattle prods were always denied by management.

    2. Re:Biometric Analysis is Inadequate by rtb61 · · Score: 1

      It can not be forced. If the coder is producing happy fun brain chemicals when producing code it's because they a genetic tilt to that kind of mental activity, they get in the zone and the work is fluid. Sure they can head off in the wrong direction but they can change course and still produce the final quality outcome. So all in the brain chemicals, not that you can produce similar output by feeding those brain chemicals into another individual, those brain chemicals are a result of the happy fun thought cycles triggering events that produce those brain chemicals and not the other way round. You could introduce those happy fun brain chemicals into another individual but that would induce alternate activity dependent upon what kind of activity that person normally associates with those happy fun brain chemicals. Of course they could be nothing but a narcissistic misery guts in which case having no real association with happy fun brain chemicals, they simply become addicted to oxycontin when exposed to it for the first time in their lives and remain as useless as misery's guts types normally are (yeah happy fun brain chemicals make people more productive as long as they are genetically aligned to that productive outcome).

      Ahh, the choices we think we make ;D.

      --
      Chaos - everything, everywhere, everywhen
    3. Re:Biometric Analysis is Inadequate by mrbester · · Score: 1

      * Milgram

      --
      "Wait. Something's happening. It's opening up! My God, it's full of apricots!"
    4. Re:Biometric Analysis is Inadequate by Anonymous Coward · · Score: 0

      I find that hard to believe.
      It shouldn't take much effort to get a programmer to agree that the end user is a complete idiot and might very well to completely unrealistic things.
      The hard part is to get the programmer to agree that the end user doesn't deserve a crash or bluescreen in those cases.

    5. Re:Biometric Analysis is Inadequate by Rande · · Score: 1

      On the rare occasions where I, as a user, have reported a repeatable crash in a program, the response has been "It crashes when you do that? Well, don't do that."

    6. Re:Biometric Analysis is Inadequate by TapeCutter · · Score: 4, Insightful

      "Users don't do that!"

      I've heard that phrase from sales executives and non-technical managers, but never from a developer.

      Disclaimer : 25yrs experience as a software-dev of various rankings, spent a lot of that time working with formalised test teams.

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
    7. Re:Biometric Analysis is Inadequate by K.+S.+Kyosuke · · Score: 1

      Cows say moo. MOOOO! MOOOO! Moo cows MOOOO! Moo say the cows.

      1:1: Syntax error near 'Cows'

      --
      Ezekiel 23:20
    8. Re: Biometric Analysis is Inadequate by Anonymous Coward · · Score: 0

      Agreed, you're far more likely to hear painted cries of "Why did the user even think that was what they should do?"

    9. Re:Biometric Analysis is Inadequate by Big+Hairy+Ian · · Score: 1

      A real tester would never use a cattle prod he's use thumb screws if you need to use a cattle prod you'll need an automation tester

      --

      Build a Man a Fire, and He'll Be Warm for a Day. Set a Man on Fire, and He'll Be Warm for the Rest of His Life.

    10. Re:Biometric Analysis is Inadequate by NormalVisual · · Score: 1

      I've heard that phrase from sales executives and non-technical managers, but never from a developer.

      For sure. Most developers I know have their own personal battle scars from users doing weird, unexpected stuff to break things. "I don't need to validate this function input - it should always be valid coming in." "Yeah, well you should probably do it anyway." Sure enough, an exception ends up in the logs at some point.

      --
      Please stand clear of the doors, por favor mantenganse alejado de las puertas
    11. Re:Biometric Analysis is Inadequate by Anonymous Coward · · Score: 0

      As a developer, I've not only heard it, I've said it

      "Well, they can just read the documentation to figure it out"

      "Users don't do that!"

    12. Re:Biometric Analysis is Inadequate by tomhath · · Score: 1

      I've proven user can do to crash the application.

      Every bug fix should be accompanied by a cost/benefit analysis. E.g. entering a number for a person's age which is greater than 4 billion causes an error. Okay, is it worth fixing? Not unless you have a team of developers sitting around with nothing else to do.

    13. Re:Biometric Analysis is Inadequate by Anonymous Coward · · Score: 0

      Trust me, you've been lucky if that's the case.

  5. Doesn't detect bugs by Todd+Knarr · · Score: 1

    It sounds like this method doesn't identify bugs, it identifies sections of code where the programmer was under stress. Those are likely candidates for sections of code where bugs can occur, but the developer likely already knew that. It doesn't help at all in figuring out exactly what errors there are in that stretch of code, and it won't help in deciding where to test because you should already be testing all the code. If you aren't, you've got bigger problems than merely bugs in the code and you likely won't be taking advantage of this technique either. Basically, it's yet another management idea that sounds good but doesn't fix the actual problem.

    1. Re:Doesn't detect bugs by superwiz · · Score: 1

      Not necessarily stress. Heart rate could be up because someone is doing something interesting and the dopamine goes up. But then they themselves won't understand what they did once the excitement wears off.

      --
      Any guest worker system is indistinguishable from indentured servitude.
  6. Fake negative by manu0601 · · Score: 2

    I have the feeling that most bugs are produced by developers that overlook usual problems: not validating inputs is the best example. This is a well known problem, but it sill happens.

    In such a case, the problem is that the developer just does not care. He/she will happily split bad code without altering any biometric signature.

    1. Re:Fake negative by Anonymous Coward · · Score: 0

      Something along the lines of "ignorance is bliss"? I have seen some clueless coding where the perp happily thought it was just fine - including my own when having a bad code day/night/crunch mode. Regarding my own code crap, I would go back when the bug(s) hit, and review, and wonder what the Hell was I thinking (or not...) at the time. Regarding others, some never did get what the issue was, but were quite content anyway - "don't worry, be happy"...

    2. Re:Fake negative by phantomfive · · Score: 1

      It could also be that most bugs show up in code where the developer is most confused and thus feeling stress.

      --
      "First they came for the slanderers and i said nothing."
    3. Re:Fake negative by TheGratefulNet · · Score: 1

      I have the feeling that most bugs are produced by developers that overlook usual problems: not validating inputs is the best example. This is a well known problem, but it sill happens.

      well said'); drop table students;

      --

      --
      "It is now safe to switch off your computer."
    4. Re: Fake negative by Anonymous Coward · · Score: 0

      If the requirement is to get a version of code for a particular feature today for the customer to test if it meets a requirement then adding code to validate inputs may be over the top and slow delivery down. The danger is such code from a preproduction branch makes it into production because processes don't catch it.

    5. Re:Fake negative by Buchenskjoll · · Score: 3, Funny

      not validating inputs is the best example

      but it sill happens.

      There, you proved it!

      --
      -- Make America hate again!
    6. Re:Fake negative by AmiMoJo · · Score: 1

      I wonder how well it could detect the accumulation of technical debt or the lack of safety features.

      Can they tell the difference between a programmer thinking "okay, I had better make item 0 in this state enum an error condition, so I can detect errors, which means I need to write some extra error handling code and the deadline is fast approaching" and "meh, there's no way that can ever happen". The former creates more stress and anxiety. Is stress and anxiety weighted positively?

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    7. Re:Fake negative by Anonymous Coward · · Score: 0

      Exactly this methodology will give rise to the sociopathic/narcissistic/psychopathic programmer - nothing else.

    8. Re:Fake negative by iceaxe · · Score: 1

      I have the feeling that most bugs are produced by developers that overlook usual problems: not validating inputs is the best example. This is a well known problem, but it sill happens.

      well said'); drop table students;

      Bobby? Is that you?!

      --
      WALSTIB!
  7. Naked coding interviews by MillionthMonkey · · Score: 5, Funny

    When I'm in a coding interview that never ends where I also happen to be naked, that tips me off right away that I'm dreaming. Seriously, I can walk through a doorway or climb through a window and suddenly all my clothes vanish at once and everyone is looking at me. So when this happens, I instantly know, aha, this is a dream. So I start telling people that I'm lucid dreaming, that they don't actually exist, and that I'm stuck in this fake dreamworld that I can't escape but where nothing I do or say really matters anyway.

    Typically these nonexistent people will say, "Wow, it must suck to know you're trapped in a dream naked... but anyway how do you write a recursive function that can detect a cycle in a linked list?" Questions like that usually make me forget that I'm dreaming.

    1. Re:Naked coding interviews by SeaFox · · Score: 1

      Cool story, bro.

    2. Re:Naked coding interviews by phantomfive · · Score: 1

      anyway how do you write a recursive function that can detect a cycle in a linked list?"

      I'll be honest, of the many bugs I've had in my code, managing to get a cycle in a linked list is one I've never had. I'm 100% perfect at not getting cycles in my linked lists. Wow, go me!

      --
      "First they came for the slanderers and i said nothing."
    3. Re:Naked coding interviews by Anonymous Coward · · Score: 0

      anyway how do you write a recursive function that can detect a cycle in a linked list?"

      I'll be honest, of the many bugs I've had in my code, managing to get a cycle in a linked list is one I've never had. I'm 100% perfect at not getting cycles in my linked lists. Wow, go me!

      If you need to do link validation on a linked list you make it a double linked list. If cycles appear it is likely that you move things around in it and could benefit from being able to find the previous element anyway and as long as the next element links back correctly the list is OK.
      The problematic part is to make the validation function recursive.

    4. Re:Naked coding interviews by Anonymous Coward · · Score: 0

      That's your brain telling you that we're not here to dream about dreaming, we're here for a purpose.

      Anyway, you never answered my question: how do you write a recursive function that can detect a cycle in a linked list?

      And why are you naked?

    5. Re:Naked coding interviews by Anonymous Coward · · Score: 0

      Making such a check recursive is just asking for a stack overflow. The best answer should be you'd never write such a thing, unless you're interviewing for one of the extremely few jobs that use a smarter programming language .

    6. Re:Naked coding interviews by MillionthMonkey · · Score: 1

      catch(StackOverflowError e) {
      return "I found a cycle!";
      }

      There, done!

  8. depends on the power balance by dltaylor · · Score: 1

    As a male, if I'm naked, I'm empowered, because I'm OK with being seen, and the viewers may not be (and, no, not because my body is gross; in fact, it is OK). Were I female, except for a limited subset, then the power is in the viewers hands, rather than mine.

    1. Re:depends on the power balance by Anonymous Coward · · Score: 0

      ...because double standards?

    2. Re:depends on the power balance by mentil · · Score: 1

      You're empowered if people are pointing and making disapproving looks? Maybe while laughing at your 'shrinkage'? Doing something you're not ashamed of that others disapprove of doesn't automatically empower you; society has a counterbalancing force, generally the police enforcing 'disturbing the peace' type laws.
      Now, if you mean being nude at work (casual fridays at Pornhub?), rather than in public, then, ignoring sexual harrassment issues, that'd only give you -- at most -- the power to get people to leave your visual vicinity. Reread that last sentence in the voice of Christopher Walken.
      I imagine about as many men as women are comfortable being seen nude by strangers/coworkers.

      --
      Corruption is convincing someone that the selfless ideal is the same as their selfish ideal.
    3. Re:depends on the power balance by dltaylor · · Score: 1

      The difference is that nude females are assumed to be "asking for it", while nude males are assumed to be just weird (outside of "proper" contexts).

    4. Re:depends on the power balance by Anonymous Coward · · Score: 0

      Strange, a very similar argument is made if you ask an arab for why women have to wear a nikab, or if you ask an african muslim for why women have their genitals to be mutilated.

    5. Re:depends on the power balance by Livius · · Score: 1

      If, however, the nude female actually is asking for it, she's wielding vastly more power than any man could ever dream of.

    6. Re:depends on the power balance by Anonymous Coward · · Score: 1

      ... while nude males are assumed to be just weird ...

      I argue that nude males are threatening rape while a nude female is 'harmless'. No man is going to complain that a nude female demanded sex. Except for "It couldn't happen to a nicer guy" (1974), men don't feel powerless against horny women.

  9. Heart Rate Correlation by mentil · · Score: 1

    The heart rate increases were actually due to taking a moment to think about how to approach a problem... while slamming a Mt. Dew. Or taking a gulp of coffee. Whichever caffeine delivery vehicle is preferred.

    --
    Corruption is convincing someone that the selfless ideal is the same as their selfish ideal.
  10. Up Next by phantomfive · · Score: 1

    Code quality measured in FPKLOC. Guess what that metric is.

    --
    "First they came for the slanderers and i said nothing."
    1. Re:Up Next by Anonymous Coward · · Score: 0

      Guess what that metric is.

      It's an assumption that a bullet-proof parser function takes the same time (per line) to write as a factorial function. This reduces a programmer to a check-out chick who must meet the mandated level of output. It allows the sales rep to promise software that smells pink and glows at night: It's just two more functions. This is why programmers need a union; to prevent such devaluing of their creative output.

  11. Ballmer Peak Detector by Anonymous Coward · · Score: 0

    In the zone!
    Obligatory XKCD link.

  12. They just might be on to something! by GoodNewsJimDotCom · · Score: 2

    If they can determine when a programmer is drunk, odds are the quality of their code is bad... for that individual programmer. Programming skill is so varied that I'd take a drunk quality programmer over sober riff raff.

  13. Detecting Energy Drinks by Anonymous Coward · · Score: 0

    By using heart rate information, for example, they were able to quantify the difficulty a given programmer had in producing a piece of software. This information could then be used to identify likely sections of bad code..."

    Or that the programmer just drank a Red Bull.

  14. Share your code! by aglider · · Score: 1

    That research is a whole lot of bullshit. Code quality by heart rate and bio-metrics! Ah!
    Come one! Code quality assessment needs code quality check, that is code review, unit tests and the (usual) likes.
    Do you want to save money? Make it opensource, put money in the opensource and you'll be paid back.
    Share your code!

    --
    Sent as ripples into the electromagnetic field. No single photon has been harmed in the process.
  15. I'm confused by Anonymous Coward · · Score: 0

    By using heart rate information ...

    Should I watch less porn at work, or more? Either way, I wasn't producing a "piece of software".

  16. Why not just ask the developers? by Cesare+Ferrari · · Score: 4, Insightful

    You know, if you asked me which bits of my code where the hardest to write, and likely to contain bugs, I can tell you. In fact, I usually comment on code reviews in this way to help direct a reviewer to the bits I think need attention. Being self-critical is a very useful skill, accepting your limitations, asking others to help.

    1. Re:Why not just ask the developers? by Anonymous Coward · · Score: 0

      Because you belong to the lowly techy/slave caste, not the honourable MBA caste, we'll never trust you to self report. You need to be monitored like a prisoner or an unruly school child. Submit to our dominance and don't get too uppity, or we'll replace you with Sanjay here who knows his place in the world.

  17. False negatives? by Narcocide · · Score: 1

    What if you write really shitty code but you're really confident and sure of yourself while you do it? Certainly this type of system would be largely easily fooled by the same mechanisms many inexperienced coders use to fool themselves and their employers?

  18. inb4 'tired coders write bad code' by Anonymous Coward · · Score: 0

    It comes full circle and they tell you things you've been telling them for years like it's a revelation and don't even register when you roll your eyes so hard your head follows

  19. How about reading code? by pieisgood · · Score: 1

    Will the system recognize when I find a piece of code that's an illegible thousand line file filled with SQL queries and no comments as to their purpose? Can it predict when I've been given a task to modify this code and won't do a good job because it's like shitting on a pile of shit? Or is the idea that it will catch the perpetrator of this dung pile and hold them responsible? What if the person who wrote this turd station was completely comfortable shitting onto a keyboard and into a codebase? Their heart rate never skipped a beat when they crapped out this functioning but illegible and unmaintainable mess for which I am now responsible. Looks like this system only finds those who know they're guilty of committing a sin. Not those who are ignorant or ambivalent.

    --
    Eat sleep die
    1. Re: How about reading code? by Anonymous Coward · · Score: 0

      Indeed

  20. We've noticed you're quite bored while coding. by Anonymous Coward · · Score: 0

    Guess I forgot to turn my sensors off during the meetings, boss.

  21. So... in other words... by Anonymous Coward · · Score: 0

    This is just a polygraph for developers?

    I'm sure this will turn out well.

  22. You say... by JThaddeus · · Score: 1

    "...happen to be naked" as if it's a bad thing.

    --
    "Love is a familiar; Love is a devil: there is no evil angel but Love." --William Shakespeare ('Love's Labors Lost')
  23. next biometric: checking the bumps on your head... by CoderFool · · Score: 1
  24. lie detector by bingoUV · · Score: 1

    developer struggled on and therefore are more likely to have bugs

    Not really. More likely that the developer thinks there might be bugs here, and might consider this part of code to be treated with care from now on. But more likely to have bugs? I think there is an equal, if not bigger, contributor of bugs from developer thinking something to be very simple whereas it turns out to be not-so-simple. This comes from lack of domain knowledge, lack of imagination/knowledge of all usage scenarios, unawareness of industry standards in this type of code etc.

    Though it might work well as a lie detector - if asked about his confidence in this piece of code and developers answers positively, he is more likely to be telling a lie.

    --
    Bingo Dictionary - Pragmatist, n. A myopic idealist.
    1. Re:lie detector by Anonymous Coward · · Score: 0

      If you hire the cheapest possible programmers you can find, well, you get what you pay for.

  25. Re:Indecent is acceptable. But being stupid isn't. by Anonymous Coward · · Score: 0

    My brain will mime her damaged brain and I will die with 2 nervous system diseases.

    2 more than the already pre-existing one, you mean.

  26. Phrenology by StormReaver · · Score: 1

    This is more like Phrenology than anything else. It's absurd and pointless.

  27. Just wrote a bitch of a piece of code by SpaghettiPattern · · Score: 1

    Just wrote a bitch of a piece of code. I aborted when I fully appreciated that the data model I was adopting simply stank. The crap code code is gone and a cleaner approach now results in actually readable code. The former surely caused my heart rate to rise. The latter to drop due to absolute boredom.

    Would the Zurcher team take into consideration that some people actually see sense and backtrack? Or should good coders be visited by ties to be told what they already know?

    --

    I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
  28. We need unions to stop Biometrics / DNA BS by Joe_Dragon · · Score: 1

    We need unions to stop Biometrics / DNA BS be for you need to have the rights to get the job and when you fail that DNA test will MC'd min wage job help you pay off that big student loan?

  29. Ugh. by Anonymous Coward · · Score: 0

    Slashdot has really become the leading repository for hearsay, flimm-flamm science, and science fiction fantasy (but not the good kind). I am going to start counting the number of headlines that contain the words, 'might', 'could', 'may', or 'possibly'. Remember when it was actually a topical and useful tech site?

  30. coding interview never ends where you also naked by gestalt_n_pepper · · Score: 1

    So, a freelance, work-at-home job then. Or maybe it's just *that* dream again. Possibly both?

    --
    Please do not read this sig. Thank you.
  31. Is coding really that stressful? by wcrowe · · Score: 1

    "On the other hand, Motherboard likened the stress level for programmers to 'a coding interview that never ends where you also happen to be naked. '"

    Really? I'm surprised by this. I almost never feel like this. To be sure, occasionally I get a little stressed out when something isn't working right, but for the most part I am quite relaxed and content while coding. And it's not like everything I do is easy either. I'm often the only guy in the shop who is willing to try something new.

    It does seem like there are some coders who have no idea what is going on (and their work reflects that), but it surprises me that this would be a widespread feeling.

    --
    Proverbs 21:19
  32. Not that far fetched by yes-but-no · · Score: 1

    It's really hard to find who is a good contributor and who is a good pretender in a team. Surely in future AI/big data is going to assist the management if figuring out whom to keep and whom to fire when they want to cut-cost. Measuring your state at work (including how long you take breaks, are you distracted while coding, how your body systems are working (biometrics)) will surely aid in figuring out who gets to be kept. I think today it's mostly politics which play a greater role in the firing time but it needn't be so in future.

  33. We are all doomed... by Anonymous Coward · · Score: 0

    in the IT mindbox.

    Break out:
    I propose a system to monitor management decisions. Depending on the heartrate of the manager it will value the quality of decisions made or flag it for review.

    Sounds good, ehh?

  34. Bad code or complicated code? by allo · · Score: 1

    I guess much bad code is just really complicated and the alternatives are different versions, one being as bad as the other one.

  35. Ridiculous by Anonymous Coward · · Score: 0

    I haven't taken the time to read all comments, so someone may have pointed this out already - however this "Research Study" is two things. 1. Ludicrous and 2. Typical Non-sense.

    Since when did IT Staff become machines determined to maximize profit out of every single line of code which can be produced as quickly and efficiently as possible? Bio-metrics for code quality? Give me a freaking break. What ever happened to delivering quality software on time which meets the needs of the customer. Since when did everything become so damn complicated? Do your jobs, go home to your family, have a life. The world really is that simple.

    Human beings are not machines and shouldn't be treated NOR even thought of as much. What's next? ....putting chips in our brains to monitor if we lose focus or browse the web for 5 mins... quickly and promptly followed by an electric shock to maximize "profit". Seriously. F.O.