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. "
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. "
So the easy parts will have cleaner code than the hard parts? Uh...duh?
that all my code is terrible.
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.
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/
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.
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.
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.
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.
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.
Code quality measured in FPKLOC. Guess what that metric is.
"First they came for the slanderers and i said nothing."
In the zone!
Obligatory XKCD link.
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.
God spoke to me
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.
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.
By using heart rate information ...
Should I watch less porn at work, or more? Either way, I wasn't producing a "piece of software".
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.
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?
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
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
Guess I forgot to turn my sensors off during the meetings, boss.
This is just a polygraph for developers?
I'm sure this will turn out well.
"...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')
https://en.wikipedia.org/wiki/...
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.
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.
This is more like Phrenology than anything else. It's absurd and pointless.
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)
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?
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?
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.
"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
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.
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?
I guess much bad code is just really complicated and the alternatives are different versions, one being as bad as the other one.
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.