Slashdot Mirror


Code Quality: Open Source vs. Proprietary

just_another_sean sends this followup to yesterday's discussion about the quality of open source code compared to proprietary code. Every year, Coverity scans large quantities of code and evaluates it for defects. They've just released their latest report, and the findings were good news for open source. From the article: "The report details the analysis of 750 million lines of open source software code through the Coverity Scan service and commercial usage of the Coverity Development Testing Platform, the largest sample size that the report has studied to date. A few key points: Open source code quality surpasses proprietary code quality in C/C++ projects. Linux continues to be a benchmark for open source quality. C/C++ developers fixed more high-impact defects. Analysis found that developers contributing to open source Java projects are not fixing as many high-impact defects as developers contributing to open source C/C++ projects."

139 comments

  1. Not a surprise by Tontoman · · Score: 4, Insightful

    Sunlight is the best bleach.

    1. Re:Not a surprise by Anonymous Coward · · Score: 0

      Sunlight is the best bleach.

      Link?

    2. Re:Not a surprise by Anonymous Coward · · Score: 1

      You can't fix a problem that you can't see!

    3. Re:Not a surprise by Anonymous Coward · · Score: 0

      You can't fix a problem that you can't see!

      Link?

    4. Re:Not a surprise by Desler · · Score: 0

      Sure you can. It's called binary patching. It's how people patch bugs in closed-source games.

    5. Re:Not a surprise by Anonymous Coward · · Score: 1, Interesting

      Only if they're actually is sufficient enough people looking at the code. OpenSSL proves that there isn't.

    6. Re:Not a surprise by exomondo · · Score: 0, Redundant

      Given enough eyeballs, all bugs are shallow . --- Linux Torvalds

      Actually that was Eric Raymond, and it is evident that in fact there never are enough eyeballs (at least ones that can comprehend what they are looking at). The theory is sound but in practice it is not.

    7. Re:Not a surprise by viperidaenz · · Score: 3, Insightful

      bugs, like DRM?

    8. Re:Not a surprise by dkf · · Score: 2

      Actually that was Eric Raymond, and it is evident that in fact there never are enough eyeballs (at least ones that can comprehend what they are looking at). The theory is sound but in practice it is not.

      It's a fundamental truth that, the more of the system you have to comprehend to truly understand it, the harder it is to debug. Syntax problems? Trivial. Global liveness checking? Much harder. (There's just so many ways to screw up.)

      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
    9. Re:Not a surprise by Anonymous Coward · · Score: 5, Funny

      You can't even attribute a quote correctly.
      Linus was the guy that said "Look what you did to my code! You @#$%&! I'm gonna @#)+-*&$! You. You &$(#*%+.

    10. Re:Not a surprise by K.+S.+Kyosuke · · Score: 4, Interesting

      It's called stochastic sampling. There are "never enough" stochastic samples if you want to get to zero error, but given an arbitrary acceptable error, there are usually acceptable sample numbers and sampling strategies.

      --
      Ezekiel 23:20
    11. Re:Not a surprise by budgenator · · Score: 0

      Your assuming that heartbleed was a bug and not an undocumented feature requested by a Governmental sponsor, even unwashed libertarian programing hippies have to eat.

      --
      Apocalypse Cancelled, Sorry, No Ticket Refunds
    12. Re:Not a surprise by exomondo · · Score: 1

      Right so just having lots of people looking over it won't necessarily accomplish anything, in fact you probably need an unrealistically large amount of people with the ability to understand the system looking over it for that to be of benefit.

    13. Re:Not a surprise by exomondo · · Score: 1

      but given an arbitrary acceptable error, there are usually acceptable sample numbers and sampling strategies.

      Well you need people that can fully understand a particular complex system to find the tough bugs, and you need a lot of them dedicated to it. I would say there is rarely ever enough, except maybe on the Linux kernel where the critical error rate is pretty low (though they do happen). Demonstrated by the key advantage of free/open source software being that it is easier/quicker to fix bugs in it, not that is necessarily more bug-free than proprietary software in general.

    14. Re:Not a surprise by Anonymous Coward · · Score: 1

      Wait, wut?..

      So you're claiming that there _were_ enough people looking at the code, but they were all bought out by The Government (which, apparently, reached all developers around the world easily, but missed Google and Codenomicon)

    15. Re:Not a surprise by Anonymous Coward · · Score: 0

      Yes, heartbleed is a great example there. It took 2 years for the (good guys') sunlight to shine on it? Super!!! Meanwhile the bad guys were having a field day.

    16. Re:Not a surprise by aliquis · · Score: 2

      Without seeing it?

      They patch at random and let evolution take care of the rest? ..

    17. Re:Not a surprise by mrbluejello · · Score: 1

      Yeah, tell that to the OpenSSL team, it will cheer them up.

    18. Re:Not a surprise by Anonymous Coward · · Score: 0

      Study: Here's some data!
      You: B..b..but.. what about my anecdote?!?

    19. Re:Not a surprise by Anonymous Coward · · Score: 2, Insightful

      Well - at least it was found...

      With closed source at the other hand..
      Well - let's say the bad guys still have great day's for a loooong time...

    20. Re:Not a surprise by Anonymous Coward · · Score: 1, Informative

      Sure you can. It's called binary patching. It's how people patch bugs in closed-source games.
      Yes its possible, you just need to ignore the license, use a decompiler, and single step through the code, fixing and patching. The only problem is that you are fixing *your copy only*. Now you can continue to ignore the license and spread your copy around, or you can make a binary patch and spread that around (ignore the first instance of license violation by using a decompiler). The only other issue is that you may have to patch the next version of the software if the company doesn't fix the original (they don't necessarily recognise you as a developer or important), and if they catch you spreading patches or fixes, they will prosecute (read the license for more info.). So yes, like cutting a slice out of a baked cake, you can do a 'binary patch', unlike those 'open source' patches which is more like altering the ingredients list. Note also that your fix might be duplicated by dozens or hundreds of others.

    21. Re:Not a surprise by Anonymous Coward · · Score: 0

      Only if they're actually is sufficient enough people looking at the code. OpenSSL proves that there isn't.
      Not really. OpenSSL represents an extreme. It takes a lot to audit the 370,000+ lines of OpenSSL. There are a large number of cryptographic functions, tied tightly to advanced networking. Of a total number of maybe 1000-2000 people in the world who can properly audit OpenSSL, over its life, a few dozen have been working on OpenSSL (there are about 4-5 part timers working on it now, not including the team of Google staffers who did analysis of the bug). So the story 'given enough eyeballs, all bugs are shallow' is still true. It depends on the complexity of the software and the number of people able to audit it. Whenever open source software comes up, some nutter comes up with this gem 'I don't want some kid writing my operating system'. So show me a kid (any kid) that has a firm understanding (the non-drugstore version) but an actual textbook understanding of what an operating system is, and what it does. Next, show me a kid that can write one. Its a 20:1 shot to find a kid who can write 'hello world'. Complex application programs from this kid is 1 in 200. System level bit banging driver code is a 20000:1 shot. Operating system? But I've seen lots saying they don't want the kid or his software. That a kid could even write a simple OS is a million : 1 shot. So go ahead and look at the source to OpenSSL (there are only about 3500 files, 70% written in C). Go ahead and audit.

    22. Re:Not a surprise by Anonymous Coward · · Score: 1

      DRM is not a code bug. It's a human bug.

    23. Re:Not a surprise by Martin+S. · · Score: 2

      Proves nothing of the sort.

      It would likely have remained hidden in a closed source equivalent.

    24. Re:Not a surprise by Anonymous Coward · · Score: 0

      Look how long it took to "bleach" OpenSSL.

    25. Re:Not a surprise by OneAhead · · Score: 1
    26. Re:Not a surprise by OneAhead · · Score: 1

      Given the data in TFA, I would say this turned out to work rather well.

    27. Re:Not a surprise by apotheon · · Score: 2

      Only if they're actually is sufficient enough people looking at the code. OpenSSL proves that there isn't.

      It's difficult to get enough eyes on the project when its design is such a mess that people who take a look at it have no idea what they're seeing.

      Every major TLS software package available is crap, from what I've seen. OpenSSL only "proves" that with a sufficiently hyped marketing campaign, a bug in one package can ruin its reputation relative to others with similarly bad security issues that did not get the same marketing. In some respects, it could be argued that the recently discovered bugs in GnuTLS and Apple's TLS code were actually worse than the heartbeat feature's bug in OpenSSL, if only because the kind of coding stupidity that produced those bugs would almost certainly never have been made by someone who would even be capable of fixing the OpenSSL bug, while the OpenSSL heartbeat bug (aka "Heartbleed") is basically just a mistake made by an at least marginally competent coder.

      So, take your pick: "Heartbleed", a bug introduced as a possibly understandable mistake by an at least marginally competent coder, but comes with tremendous marketing hype -- or the GnuTLS and Apple bugs of the "we check to make sure it's a verified connection, but then do nothing about it when it's not verified", which are the kinds of errors that require the relevant coders to actually be incompetent, drunk, or otherwise so out of whack that it makes those of us who understand the problem scratch our heads and wonder how that could ever possibly have happened, but did not come with tremendous marketing hype, so nobody really thinks about the shaky ground on which they're standing when using that software.

      The key fact to keep in mind, though, is that basically every major, widely used TLS package in the world (open source or closed) seems to be rickety garbage mostly maintained by manifestly unqualified programmers. Worse, many of them don't seem to realize they're unqualified. OpenSSL appears, from what I've seen (which admittedly isn't enough to be sure of my conclusions), to be at least slightly less awful than Apple's, GNU's, and Microsoft's equivalents, but even optimistically it is the best of a bad breed. There is one ray of hope here, however: some people in the OpenBSD project have undertaken the herculean task of forking OpenSSL and rehabilitating it. Given the relatively high density of people with secure coding skills in the OpenBSD developer community, and the OpenBSD project's practice of performing extensive code reviews, as well as the early evidence that these guys are doing what it takes to make a good TLS package out of OpenSSL -- throwing away huge swaths of unnecessary code and cleaning up some horrendous bugs that have been around forever -- I have high expectations, assuming the fork project doesn't die before reaching stable release state.

      --
      Unfetter your ideas. Copyfree your mind.
    28. Re:Not a surprise by apotheon · · Score: 2

      Good point. The bug was found . . . and fixed. How does this prove that nobody's looking at the code and fixing bugs?

      --
      Unfetter your ideas. Copyfree your mind.
    29. Re:Not a surprise by apotheon · · Score: 1

      . . . and yet, eyeballs finding this bug, and their owners fixing it, actually happened. How is it that proof that people looking for bugs and fixing them actually works turns into some kind of claim of proof that it doesn't work?

      --
      Unfetter your ideas. Copyfree your mind.
    30. Re:Not a surprise by exomondo · · Score: 1

      Because despite so many people looking over it it was deployed and left 60%+ of the internet vulnerable to it. Do you really take that as a shining practical example of "the system works"?

    31. Re:Not a surprise by apotheon · · Score: 1

      It's a helluva lot better than the likely closed source alternative: exactly the same, but it won't be discovered for another five years at least.

      --
      Unfetter your ideas. Copyfree your mind.
    32. Re:Not a surprise by exomondo · · Score: 1

      What? That sort of unsubstantiated crap is a poor attempt at an endorsement of any methodology.

    33. Re:Not a surprise by apotheon · · Score: 1

      I'm not endorsing OpenSSL. I think its best endorsement is "It's probably 3% worse than the major competing options, both open source and closed, which all universally suck -- at least until something like LibreSSL is release-worthy." That's a pretty sucky endorsement, but it's the best we can do for OpenSSL -- to say that it's the (marginally) least awful of a pretty uniformly awful category of software.

      I just think it's beyond stupid to say "This bug was found, therefore the software's development methodology ensures we never find bugs!" or some such twaddle.

      --
      Unfetter your ideas. Copyfree your mind.
    34. Re:Not a surprise by exomondo · · Score: 1

      I just think it's beyond stupid to say "This bug was found, therefore the software's development methodology ensures we never find bugs!" or some such twaddle.

      I agree, but nobody said or inferred that, just that even if you do have "many eyes" (and the vast majority of projects do not) and even if you assume they are the right ones looking in the right place at the right time you will likely find at least some bugs at some point in time. So the point is it's hardly a reliable and practical advantage, more of a shot in the dark. In theory it's a great idea but you so rarely have it actually work, in this case - and really given the profile of the project this is an absolute best-case scenario - it didn't work effectively enough to stop this from being extremely widely distributed.

    35. Re:Not a surprise by apotheon · · Score: 1

      I agree, but nobody said or inferred that

      That seems like an interesting thing to say, given what you said next.

      even if you do have "many eyes" (and the vast majority of projects do not) and even if you assume they are the right ones looking in the right place at the right time you will likely find at least some bugs at some point in time.

      First, "I agree, but nobody said or [implied] [otherwise]"; the argument is that many eyes make bugs shallow, not spontaneously and instantaneously evaporate. Second, of course "you" will find some bugs at some point. The whole idea is that people will find bugs at some point, and in fact at some sooner point, because more people are looking.

      it's hardly a reliable and practical advantage, more of a shot in the dark

      I'd say it's an unreliable but highly fucking practical advantage, actually, because when there's only one target it's more likely you'll hit the guy with a thousand shots in the dark than just one or two.

      in this case

      In this case, the specific bug found seems by all accounts to be something very difficult to find via code review, especially given the OpenSSL codebase.

      given the profile of the project this is an absolute best-case scenario

      The fact it is a high profile project seems to be the only positive factor in this case, apart from the bare minimum fact that it is open source. There are many, many problems with this case that make it more difficult for this bug to have been found any earlier than it was. A new feature that passed review by one person on the core team was included, then found and fixed less than three years later. It was found by people outside the core team who only had access to the codebase because it was open source. The guts of OpenSSL are heavily compromised by eons of feature creep, which seems to be common to every major/widespread TLS package on the planet. While the wisdom in secure coding of the core team is open to question, for a number of reasons, the team at least seems to be universally pretty clear on some basic concepts of not relying on magic security-through-obscurity fairy dust. The best case scenario for pretty much every closed source TLS package that competes with it differs from these conditions mostly in one or two ways: they are not open source, so they would not have been backed up by the people who found the bug in OpenSSL; they may use magic security-through-obscurity fairy dust to make their code "secure". On top of that, the public nature of the discovery combined with the necessarily public nature of the project's handling of bug patching ensures that the bug got fixed very damned quickly.

      Now . . . not all bugs (even critical security bugs) will be found more quickly just because it's open source. See above where I paraphrased: "nobody said or [implied]" that it's always perfect all the time immediately with zero delays so nobody ever has bugs in their software. The actual, reasonable, rational claim is that it provides enough of a benefit, often enough, to make smart open source development processes a very good idea, especially for security software. I think it's pretty reasonable to say that, given the exact same conditions apart from the things that would necessarily be different just due to the intrinsic nature of open vs. closed development models, the best you could reasonably expect from a closed source project in the same situation is almost exactly what happened -- but, much more realistically, it would have taken longer, because someone would have to have nailed down the particulars of the problem without access to the source code.

      . . . so no, I don't agree with your point.

      it didn't work effectively enough to stop this from being extremely widely distributed.

      This is true fo

      --
      Unfetter your ideas. Copyfree your mind.
  2. Managed langauges by Anonymous Coward · · Score: 5, Insightful

    Java project developers participating in the Scan service only fixed 13 percent of the identified resource leaks, whereas participating C/C++ developers fixed 46 percent. This could be caused in part by a false sense of security within the Java programming community, due to protections built into the language, such as garbage collection. However, garbage collection can be unpredictable and cannot address system resources so these projects are at risk.

    This is especially amusing in light of all the self-righteous bashing that C was getting over OpenSSL's problems. Seems it's true that using a "safe "language just makes the programmer lazy.

    1. Re:Managed langauges by Anonymous Coward · · Score: 1

      Resource leaks are hardly as critical as "undefined behavior" (read: buffer overflows and all kinds of other nastiness).

      At best a resource leak gets you a DoS.

    2. Re:Managed langauges by Anonymous Coward · · Score: 1

      You're right. Exploiting the swiss cheese of the JVM is a much better target.

    3. Re:Managed langauges by Anonymous Coward · · Score: 1

      Swiss cheese security, that is.

    4. Re:Managed langauges by viperidaenz · · Score: 2, Insightful

      Resource leak in Java = DoS, as mentioned already
      Resource leak in C = Heartbleed.

      Personally, I'd rather my application crash than expose my private keys and other data that was supposed to be encrypted.

    5. Re:Managed langauges by Anonymous Coward · · Score: 4, Informative

      Apparently you missed the cyrpto flaws in Android 's Java crypto library from last year that exposed private keys. Apparently writing things in Java guarantees jack and shit.

    6. Re:Managed langauges by sexconker · · Score: 5, Funny

      Apparently you missed the cyrpto flaws in Android 's Java crypto library from last year that exposed private keys. Apparently writing things in Java guarantees jack and shit.

      No, writing things in Java guarantees your shit will be jacked.

    7. Re:Managed langauges by Anonymous Coward · · Score: 5, Interesting

      You mean this one, lol?

      Solution: The vendor has issued a fix for the Android OpenSSL implementation and has distributed patches to Android Open Handset Alliance (OHA) partners.

      Oh, that notorious piece of Java code, OpenSSL!

    8. Re:Managed langauges by Darinbob · · Score: 5, Interesting

      I also think that with a low level language that more developers are aware of potential problems than developers using high level languages. In some sense I think this is also due to the types of programs being developed. C/C++ today is common used for embedded systems, operating systems, runtime libraries, compilers, security facilities, and so forth. So systems programmers versus application programmers versus apps programmers. The system programmers are forced to take a close look at the code and must be mindful of how the code affects the system. I think that if you had such a comparison done back in the 80s that the numbers would be different because many more application programmers were using C/C++.

      Ie, interview for a systems programmer: do you know about priority inversion, do you understand how the hardware works, do you know the proper byte order to use, what does the stack look like, etc.
      Interview for the modern applications programmer: have you memorized the framework and library facilities.

    9. Re:Managed langauges by Anonymous Coward · · Score: 0, Troll

      As someone forced to use programs written in Java, I feel like my shit was packed.

    10. Re:Managed langauges by Anonymous Coward · · Score: 3, Informative

      The underlying bug was in the Android PRNG handling, not a flaw in OpenSSL.

    11. Re:Managed langauges by reanjr · · Score: 2

      I've never been in an interview where they asked for memorized framework and library facilities. As a web developer, I get questions about data normalization, graph theory, and complicated SQL JOINs.

    12. Re:Managed langauges by Anonymous Coward · · Score: 0

      That's what free garbage collection does. It's jacks your shit. I prefer to toss things out and not have to deal with my shit, but there's always macho developers who want to mess around with their own shit.

    13. Re:Managed langauges by Anonymous Coward · · Score: 1

      Another explanation is that the leaks left in managed programs are likely to be the harder ones to fix, because a silly programming error (oops, I didn't free this pointer) isn't a source of leaks.

      Or we could moralize it and pretend managed developers are lazy.

    14. Re:Managed langauges by jellomizer · · Score: 1

      The problem with low level languages, isn't anything technical about the languages.
      It is about a common attitude among programmers.

      As a kid, We learn things by taking steps up.
      We Walk/Run, Then we Ride a Bike, then we Can Drive a Car. It is a simplistic way of viewing things. One is better then the other, and you need to be better to use the better method.

      The same idea goes with programming languages. (I'll Show my age hear)
      You code in Basic, then you go to Pascal, then you can do C finally you will be able to code assembly. It is common for the C developers who start doing C to think oh I am programming in C now, I am an experienced coder, and I will laugh and snark at all you Basic Programmers now. So many of the C applications will have a lot of issues due to these ego's of the time, and people really using the C Language as the wrong tool for the job. It is like using a Car to go a few blocks where your bike or walking would be easier and faster.
      So their are ton of legacy apps in C which are not secure because the Managers of software companies thought the same way, and wanted to code it in the Best Language. Even if such an app would probably work and perform much better in Visual Basic.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    15. Re:Managed langauges by Anonymous Coward · · Score: 0

      As a web developer, I get questions about data normalization, graph theory, and complicated SQL JOINs.

      Wait, what?

      If as a web developer your interaction with a database involves anything more than interacting with stored procedures or such, somebody's doing it wrong.

    16. Re:Managed langauges by apotheon · · Score: 1

      Most people are doing it wrong. Is this a surprise to you?

      --
      Unfetter your ideas. Copyfree your mind.
  3. If you have to make any obligations by Sla$hPot · · Score: 0

    Always proprietary ( your own code )

    1. Re:If you have to make any obligations by Anonymous Coward · · Score: 0

      BSD

    2. Re:If you have to make any obligations by Anonymous Coward · · Score: 1

      Crap code remains crap code.

      People have to be able to provide updates... and feel appreciated by doing so. BSD licenses allow companies to "appropriate" code, and then sue the original author for copyright violations...

    3. Re:If you have to make any obligations by Immerman · · Score: 1

      > People have to be able to provide updates... and feel appreciated by doing so. BSD licenses allow companies to "appropriate" code,
      Very true
      >and then sue the original author for copyright violations...
      Say what!?!?! Source code typically must be published before being appropriated, making it trivial to prove who had the prior claim.

      Of course that doesn't stop a lawsuit from being *filed*, but then nothing stops me from filing a lawsuit against you for stealing my pink unicorn either.

      Patent violation are of course another thing entirely - but even there the "publish early, publish often" nature of open source will very likely work very strongly in their favor if they are the original inventors.

      --
      --- Most topics have many sides worth arguing, allow me to take one opposite you.
    4. Re:If you have to make any obligations by apotheon · · Score: 1

      I don't think you understand copyright at all. That makes zero sense.

      --
      Unfetter your ideas. Copyfree your mind.
  4. Not a surprise, but no reflection of O/S vs Prop. by RonBurk · · Score: 4, Insightful

    First, we shouldn't confuse Coverity's numerical measurements with actual code quality, which is a much more nuanced property.

    Second, this report can't compare open source to proprietary code, even on the narrow measure of Coverity defect counts. In the open source group, the cost of the tool is zero (skewing the sample versus the commercial world) and Coverity reserved the rights to reveal data. Would commercial customers behave differently if they were told Coverity might reveal to the world their Coverity-alleged-defect data?

    Again, having good Coverity numbers can't be presumed to be causally related to quality. For example, Coverity failed to detect the "heartbleed" bug, demonstrating that the effect of bugs on quality is very nonlinear. 10 bugs is not always worse than 1 bug; it depends on what that one bug is.

  5. Code Quality Sucks on Either by hackus · · Score: 1, Troll

    Yeah, I have seen the source code to the Windows 7 OS, CISCO's iOS and LINUX of course.

    They all suck equally.

    However, that being said, I am currenrlty running a version of the LINUX OS I built and modified for my customers use in a PostGRES server which is quite large.

    Open Source wins again because I can correct the suck. :-)

    --
    Got Geometrodynamics? Awe, too hard to figure out? Too bad.
    1. Re:Code Quality Sucks on Either by Anonymous Coward · · Score: 0

      Was Mainstream Linux too mainstream for you?

    2. Re:Code Quality Sucks on Either by Anonymous Coward · · Score: 0

      But can you correct your CASE?

    3. Re:Code Quality Sucks on Either by Anonymous Coward · · Score: 0

      Open Source wins again because I can correct the suck. :-)

      And which patches did you contribute back?

    4. Re:Code Quality Sucks on Either by viperidaenz · · Score: 2

      "none, because someone might find out I've made the code worse, not better"

    5. Re:Code Quality Sucks on Either by Anonymous Coward · · Score: 1

      I am currenrlty running a version of the LINUX OS I built and modified for my customers use in a PostGRES server which is quite large.

      Assuming you mean Linux, that's a kernel and not an OS. Are you saying you run a custom kernel, or are you actually insane enough to run LFS on a server? If the later, WHY?

    6. Re:Code Quality Sucks on Either by hackus · · Score: 1

      First of all, built means compiled and modified means I switched off u32 support as well as targeting a Xeon processor class.

      I did not need to write code, the kernel had to be rebuilt and the binary replaced/modified for the target processor and memory architecture.

      You use the .config for that and rebuild the kernel tree. You don't need to write code.

      SO! The included Redhat kernel was way too generic for the application performance required.

      Among other things. But the point is, you can't do that with an OS binary, so LINUX as an OS Kernel, is far more flexible than a proprietary one.

      --
      Got Geometrodynamics? Awe, too hard to figure out? Too bad.
    7. Re:Code Quality Sucks on Either by apotheon · · Score: 1

      PostGRES

      Are you sure you don't mean PostgreSQL?

      --
      Unfetter your ideas. Copyfree your mind.
  6. Python by Anonymous Coward · · Score: 0

    From another article/puff-piece on the site:

    "Since 2006, Python has achieved a defect density of .005 (or .005 defects per 1,000 lines of code) and has eliminated all high-risk defects [that they recognized] in its codebase."

    1. Re:Python by Desler · · Score: 2

      But that's written in C and C is the worst programming language ever!! How dare they be so dumb to not write Python in a "memory safe" langauge!

    2. Re:Python by Anonymous Coward · · Score: 1

      You have very good programmers write languages like Python in C so that other programmers don't have to write in C. They can use Python instead and thus avoid making a whole bunch of common C mistakes that the very good programmers are less likely to do.

      It's like letting someone else make the bricks, shingles, cement, planks, steel beams, while you stick to building stuff out of them, instead of making your own from scratch.

      On a related note, perhaps you should let the smart ones do the commenting instead.

  7. heartbleed by Anonymous Coward · · Score: 0

    So why didn't this scan catch it? Scans are not good enough for everything. It was a weird memcpy call.

    The problem often with open source is culpability. I'm not going to yell about the openSSL guys. They are good guys...at least from a coding perspective and from what i hear from a human perspective as well.

    If it was MS you bet everyone will be yelling and there is someone you could actually sue.

    This sounds like a MS report claiming there stuff is great. I think we need for more humility here and less deflection.

    Also, fixing is great an all, but how bout not producing in the first place. Shouldn't these scans be part of the builds before stuff even gets into git.

    1. Re:heartbleed by nanolith · · Score: 1

      Most static analysis tools look for bugs and potentially buggy behavior. They must rely on limited pattern matching and data flow analysis. They can't find all bugs. See: The Halting Problem.

    2. Re:heartbleed by Anonymous Coward · · Score: 5, Interesting

      I'm not going to yell about the openSSL guys.

      I'm going to be honest here, they deserve yelling at, and I'm an open source fan. The error they made is exactly the same mistake that everyone else has made in years past when dealing with SSL: x509 and the SSL protocol demands [lengthofstring][string], "pascal" style. This is how everyone (open and closed source) got hit with that domain validation bug where the certificate said "(26)bank.com\0.blahblahblah.com". Certificate signers looked at the domain on the end of the string "blahblahblah.com" and validated it. Client programs treated it like a C string and thought it was a certificate for "bank.com". Not a single person anywhere said "whoa there, null bytes are not part of a valid hostname!"

      The attack asks server to respond with "(65535)Hello" and the server replies with 65535 bytes of data. Falling for this attack is exactly like the guy who points and laughs at the person who just fell off their bike, seconds before falling off their own bike. They should have known better, especially with how high-profile these attacks were in the past.

      The bit about writing their own malloc implementation, poorly, was just icing on the cake.

    3. Re:heartbleed by loom_weaver · · Score: 5, Informative

      Disclaimer, I work for Coverity. There's a write-up on why Coverity didn't find it out of the box here:

      http://security.coverity.com/b...

  8. Polishing old code or writing good code by mtippett · · Score: 4, Interesting

    The report doesn't really go into an important measure.

    What is the defect density of the new code that is being added to these projects?

    Large projects and old projects in particular will demonstrate good scores in polishing - cleaning out old defects that are present. The new code that is being injected into the project is really where we should be looking... Coverity has the capability to do this, but it doesn't seem to be reported.

    Next year it would be very interesting to see the "New code defect density" as a separate metric - currently it is "all code defect density" which may not reflect if Open Source is *producing* better code. The report shows that the collection of *existing* code is getting better each year.

    1. Re:Polishing old code or writing good code by organgtool · · Score: 1

      Next year it would be very interesting to see the "New code defect density" as a separate metric - currently it is "all code defect density" which may not reflect if Open Source is *producing* better code. The report shows that the collection of *existing* code is getting better each year.

      This is exactly what I would expect. Odds are that open source and closed source software start out with similar defect densities. The difference is that open source software, over time, is available for more people to inspect and find bugs that weren't found by the original cast of developers.

    2. Re:Polishing old code or writing good code by Anonymous Coward · · Score: 4, Interesting

      Actually it's the reverse. Fengguang Wu does automatic defect reporting so new bugs get found and reported within a week. We've had great success with this.

      But if we delay then here is the timeline:
      - original dev moves to a new project and stops responding to bug reports (2 months).
      - hardware company stops selling the device and doesn't respond.
      - original dev gets a new job and his email is dead (2 years).
      - driver is still present in the kernel and everyone can see the bug but no one knows the correct fix.
      - driver is still in the kernel but everyone assumes that all the hardware died a long time ago. (Everything in drivers/scsi/ falls under this catagory. Otherwise it takes 8 years).

      Each step of the way decreases your chance of getting a bug fix. I am posting anonymously because I have too much information about this and don't want to be official. :)

  9. Re:Not a surprise, but no reflection of O/S vs Pro by dkf · · Score: 1

    First, we shouldn't confuse Coverity's numerical measurements with actual code quality, which is a much more nuanced property.

    Yeah, but good quality might well correspond to some sort of measurable anyway. Provided you've got the right measure. Maybe some sort of measure of the degree of interconnectedness of the code? The more things are isolated from each other, across lots of levels (in a fractal dimension sense, perhaps) the better things are likely to be.

    Maybe that would only apply to a larger project, and I'm not sure what effect system libraries (and other externals) would have. Yet the fact that it might be a scale-invariant approach makes me a bit more hopeful, as it wouldn't be so susceptible to the "ravioli code" problem, where the code's nicely packaged up into little pieces, but the pieces interconnect in a horrible mess of higher-level spaghetti code. Worked on a large project? You'll have probably seen it in the wild. (Yeah, I've had people argue to me that their code didn't use goto and so it had no spaghetti code problems, despite the fact that everything was so nastily interconnected that nobody else could understand it. If that's not indicative of a problem, what is?)

    --
    "Little does he know, but there is no 'I' in 'Idiot'!"
  10. Biased data set perhaps? by Anonymous Coward · · Score: 0

    Stuff that matters?
    I'm not convinced that they can ever truly account for bias in the data in this case. With open source, a far greater quantity of code can be analysed, and as such you are likely to eventually approximate the mean "code quality" of all software.

    With proprietary code, the ratio being analysed is in all likelihood a far smaller subset of the whole, and so is far more susceptible to outliers dragging the quality metric (regardless of whatever that is) one way or the other.

    I would expect both "open source" code to be of approximately equal quality to proprietary code. In each ideology you will get people who care (about quality), and people who don't, in approximately equal proportions, the same with skill, ingenuity and passion for the work.

    There are such a massive range in quality across all code, that drawing a generic "x is better" conclusion is ridiculous at best, and purely the realm of the uptight illogical zealots on either side of the debate.

    1. Re:Biased data set perhaps? by Squiggle · · Score: 3, Interesting

      I would expect both "open source" code to be of approximately equal quality to proprietary code. In each ideology you will get people who care (about quality), and people who don't, in approximately equal proportions, the same with skill, ingenuity and passion for the work.

      The difference is that proprietary software is constrained by the number of developers able to view and work on the code. An open source project may have a similar number, or smaller set of core developers, but a much larger pool of developers that can spot problems, suggest alternatives, fix the one bug that is affecting them, etc. Having a more diverse set of developers will increase the chances that the software improves.

      You could also make an argument about the motivations of the developers. Open source projects are often a community of people passionate about what they are building and have a strong incentive to make their code readable by others. By the nature of open source a developers reputation is on the line with every bit of code they make public. I've met far more developers scared to make their horrible code public than those worried about getting fired for equivalently horrible code.

      --
      Complexity Happens
    2. Re:Biased data set perhaps? by apotheon · · Score: 1

      The (lack of) constraints on who can see the code is not the only difference. There's another difference, that for some reason gets explicitly denied as a difference by the preceding anonymous coward:

      I would, in fact, expect that the passion and interest of coders in the open source world is actually far greater on average than in the closed source world, rather than exactly the same as the anonymous coward suggests. I have met many "professional" coders who write closed source software for some part of their typical eight hour workdays, and never think about code outside of that time if they can avoid it. Many of them hate coding, in fact, but do it for the paycheck, then go watch American Idol in the evenings and try to avoid having anything "boring" like computer programming intrude on their off-time.

      Open source developers are the people who are interested and passionate enough about what they do to do it on their own time, or even to seek out jobs where they're allowed to contribute to open source projects on company time. That takes more dedication and honest interest in producing something good than just working in a cubicle for eight hours a day where they honestly couldn't give a shit whether what they were doing was writing code or picking their noses, as long as the paycheck keeps coming in.

      Thus, I think there are some distinct benefits to open source software above and beyond the mere fact that given enough eyes, all bugs are shallow.

      So, yeah . . . your second paragraph, only more so. That's my opinion.

      --
      Unfetter your ideas. Copyfree your mind.
  11. Ah, Coverity by ceoyoyo · · Score: 5, Insightful

    Coverity: Hey you, proprietary software developer with the deep pockets. Yeah, you. We've got this great tool for finding software defects. You should buy it.

    Proprietary software developer: get lost.

    Coverity: Hey, open source dudes, we've got this great defect scanner. Want to use it? Free of course!

    Open source dudes: Meh, why not?

    Coverity: Hey proprietary software developer, did we mention those dirty hippie neck beards are beating the stuffing out of you in defect (that we detect)-free code?

    PSD: Fine, how much?

    1. Re:Ah, Coverity by Anonymous Coward · · Score: 0

      PSD: Why would I tell anybody I'm using your tool, as they will assume my code is part of your proprietary sampling?

    2. Re:Ah, Coverity by apotheon · · Score: 1

      Coverity: We won't tell anyone you're involved unless you want us to -- but we'll include your defect count in the overall numbers, because we want to use the same marketing tactic on other PSDs that we successfully used on you.

      --
      Unfetter your ideas. Copyfree your mind.
  12. Taking out the garbage... by Anonymous Coward · · Score: 0

    That's because C/C++ developers don't count on the garbage man to take their trash out.

    1. Re:Taking out the garbage... by Anonymous Coward · · Score: 0

      OK, I'll play.

      In C/C++, the trash piles up in the house but nobody seems to notice until the house catches on fire. They were too busy taking out trash that they already took out.

    2. Re:Taking out the garbage... by BreakBad · · Score: 1

      Riiiight.......I definitely feel more elite taking my own garbage out rather than having someone else do it for me.

  13. Useless analogy by Virtucon · · Score: 4, Interesting

    This is a useless analogy. Code Quality is a function of both skill and the stewardship of the team supporting the code. Tools help as well but you can write some elegant, high quality code regardless of the language chosen. You can also write some real shit too but ultimately how many defects a piece of software has comes down to the design and testing that goes along with it. Some bodies of work get rigorous testing and it's not like OpenSSL's recent problem wasn't about deficient design it was about a faulty implementation. Faulty implementations in logic happen all the time and there are some bugs that just take awhile to become known. I mean even with test driven development and tools for code analysis probably couldn't have found this particular issue but considering how long it was in the code base without somebody questioning it goes back to not only stewardship by the team but the rest of the world who are using the code. If anything this situation points out that FOSS can have vulnerabilities just like proprietary software however the advantage is that with FOSS you can get it fixed much more quickly and because other people can see the implementation it can become scrutinized by folks outside the team that develops and maintains it.

    In the case of Heartbleed the system works. A problem was found, it was fixed it's now just a matter of rolling out the fix and regressions are put into place to help insure that it doesn't happen again. The repercussions of what it means is that another gaping hole in our privacy was closed and that "bad guys" may have stolen data, rollout the fix ASAP. Your guess is as good as mine as to what was stolen is a matter of research and conjecture at this point. I doubt that the bad guys will tell us what they gained by exploiting it. Let's also be sure that until the systems with the bug are patched, they're vulnerable so cleanup on aisle 5.

    To be honest it's a bit naive if we all assume that FOSS software that handles security doesn't have potential vulnerabilities. Likewise it's also naive to assume that proprietary code has it licked as well given the revelations of NSA spying for the past year. Given that there are numerous nefarious companies that sell vulnerabilities to anybody who can pay for it, that means unless you're buying them you probably will never know what is exposed until somebody trips over it. What this means for everybody that you can depend on is when those vulnerability-selling companies are out of business can assume that your software is free of the easier to exploit vulnerabilities; governments will always use all their tools to get intelligence including subverting standards and paying off companies who can give them access to what they want.

    --
    Harrison's Postulate - "For every action there is an equal and opposite criticism"
  14. What's up with Dice Developers by yxyband · · Score: 1

    Now all we have to do is get Dice to Open Source their stuff so we can FIX IT!

    --
    The more complex the task, the simpler the steps need to be.
    1. Re:What's up with Dice Developers by lister+king+of+smeg · · Score: 1

      its all ready is open sourced and that is what the soylent news guys did but the community didn't fallow.

      --
      ---Saying gnome 3 is better than windows 8 not so much a compliment as it is damning with light praise.
    2. Re:What's up with Dice Developers by jones_supa · · Score: 1

      One big reason is that they never turned on the D2 discussion system. So right now Soylent News is even more clunky to use than the Slashdot Beta. You get directed to another page every time you want to reply or moderate.

    3. Re:What's up with Dice Developers by stderr_dk · · Score: 1

      its all ready is open sourced and that is what the soylent news guys did but the community didn't fallow.

      Yes, SlashCode is open source, but the latest public release is 5 years old and not at all what's running on slashdot now.

      It would be very nice, if Dice would release a newer version of the code, not only for SoylentNews, but also for the Japanese slashdot.jp and the Spanish barrapunto.com, both of them are still using the old version.

      --
      alias sudo="echo make it yourself #" ; # https://pipedot.org/~stderr & http://soylentnews.org/~stderr
  15. Re:Not a surprise, but no reflection of O/S vs Pro by viperidaenz · · Score: 1

    The more things are isolated from each other, across lots of levels (in a fractal dimension sense, perhaps) the better things are likely to be.

    Language has a lot to do with that.
    If your project is written in a managed language, allocated memory is always initialised first, there is no pointers arithmetic and array bounds are always checked, so it's impossible to read random data from memory.
    If your project is written in C, all code has access to all memory.

  16. FreeBSD looks just as good as Linux by Lawrence_Bird · · Score: 2

    with nearly 2x the LOC.

    1. Re:FreeBSD looks just as good as Linux by rev0lt · · Score: 1

      I'd say the kernel actually looks quite better, but I might be biased,

  17. Beta Sucks by Anonymous Coward · · Score: 1

    Java calls C for anything performance-critical, anyway.

    1. Re:Beta Sucks by Anonymous Coward · · Score: 0

      Java calls C for anything performance-critical, anyway.

      Not necessarily true. The speed issues have been well debunked with consistent benchmarks.

      Java is more likely to call C for things that are system/hardware-specific.

  18. What if.... by koan · · Score: 1

    Code repositories were compromised by the NSA (or other capable group)

    --
    "If any question why we died, Tell them because our fathers lied."
  19. "My name is Linux Torvalds..." by tlambert · · Score: 1

    "My name is Linux Torvalds... and I pronounce him 'Linus'...".

  20. Beta Sucks by Anonymous Coward · · Score: 1

    "If your project is written in a managed language, allocated memory is always initialised first, there is no pointers arithmetic and array bounds are always checked, so it's impossible to read random data from memory."

    Except when you forgot to remove some reference to an object, so it's still stitting around in a list somewhere because it can't be garbage-collected, and some code then uses whatever objects happen to be in that list.

    No language is safe for an unthinking programmer to use.

  21. Good and Bad news by Anonymous Coward · · Score: 0

    Good news: Open source has good quality

    Bad news: Sometimes we get a bug that that affects most of the internet (Heartbleed)......

  22. proprietary: VBscipt BEST EVER by Billly+Gates · · Score: 0

    Just kidding

  23. that's ESR, not Linus by raymorris · · Score: 1

    That would be:
    Given enough eyeballs, all bugs are shallow ... the fix will be obvious to someone.

          Eric S Raymond

    Although ESR called it " Linus' Law", it's ESR's writing, from CATB. Linus has a completely different concept that he calls "Linus' Law". Linus talks about motivations for what we do.

    1. Re:that's ESR, not Linus by Anonymous Coward · · Score: 0

      That would be:
      Given enough eyeballs, all bugs are shallow ... the fix will be obvious to someone.

            Eric S Raymond

      Although ESR called it " Linus' Law", it's ESR's writing, from CATB. Linus has a completely different concept that he calls "Linus' Law". Linus talks about motivations for what we do.

      That's true, although the main difference between open-source and closed-source is that if something annoys you enough in open-source, you can look at the source and find the details of the bug, fix the bug, and submit the fix back to the mainline.

      In actual practice, most people don't scan the source anyway, so the difference isn't something I'd attribute solely to source availability.

      What I count as being more important are these 2 items:

      1. Open-source code isn't developed on a "Git 'er Dun!" schedule. So it can be done more carefully.

      2. When a bug does show and people look at the source and find your name on it, expect to get roasted. So the best defense is to be more meticulous.

    2. Re:that's ESR, not Linus by raymorris · · Score: 1

      > When a bug does show and people look at the source

      That's when the quote comes into play, "given enough eyeballs all bugs are shallow ... the fix will be obvious to someone".
      A shallow bug, one where the fix is obvious, is obvious when eyeballs are looking. The question of how many bugs exist is a separate issue.
      Also:

      > When a bug does show and people look at the source

      For most of my contributions to open source, at least three people looked at the code before it was distributed - me, the module maintainer (who is expert on that section of the code), and the integrator (who is expert on the project as a whole). For my closed source code, most of what I write has been seen by exactly one person - me.

  24. Did they test OpenSSL? by jonwil · · Score: 2

    With all the noise about OpenSSL lately, running this Coverity test on it (and other security software like GNUTLS) and sharing the results seems like it would be a good thing...

    1. Re:Did they test OpenSSL? by ljw1004 · · Score: 3, Informative

      They did examine heartbleed.

      http://ericlippert.com/2014/04...

  25. Did you write your improvements in C+ ? by raymorris · · Score: 4, Funny

    Your four-sentence comment has five glaring errors that make it obvious that you have absolutely no idea what you're talking about. You very much remind me of the job applicant who told me he has experience in C, C+, and C++.

    1. Re:Did you write your improvements in C+ ? by the+phantom · · Score: 1

      Maybe they meant C#? The [+] and [#] keys might be very close together on the custom keyboard layout your applicant used to type their resume...

    2. Re:Did you write your improvements in C+ ? by coinreturn · · Score: 1

      Your four-sentence comment has five glaring errors that make it obvious that you have absolutely no idea what you're talking about. You very much remind me of the job applicant who told me he has experience in C, C+, and C++.

      Well, since that time, I also learned C+++.

  26. Quality of people process by hessian · · Score: 2

    If you have good quality people, especially a good leader, your code will be good.

    Even if the people are relatively inexperienced.

    At this point, just about everything in IT/CS is a research project, not innovation.

    So it's a matter of diligently doing the work based on past archetypes.

  27. Proprietary code - Poster Child by Anonymous Coward · · Score: 0

    Of course for the poster child of all code proprietary and closed, even secret, look at Microsoft. Their record of vulnerabilities upon vulnerabilities goes back well over a decade and there seems no end in sight for this circus.

    The fiasco with OpenSSL is due to everyone giving zero dollars, thanks for the freeware.

    1. Re:Proprietary code - Poster Child by techno-vampire · · Score: 1

      Well over a decade? It's more like well over thirty years. There were virus infections written for MS-DOS 3.X back in the 1980s.

      --
      Good, inexpensive web hosting
  28. In My experience ... by BrianPRabbit · · Score: 1

    Coverity is no the best "yardstick". Too many false negatives and too expensive.

  29. There is no comparision by Murdoch5 · · Score: 2

    Some open source projects will have better code then closed source projects and vice vesa, you can't just make a clean line.

    1. Re:There is no comparision by jones_supa · · Score: 1

      Hey, you're trying to find a reasonable and truthful middle ground. That prevents all the juicy flame wars. Someone call the guards!

    2. Re:There is no comparision by Anonymous Coward · · Score: 0

      Indeed, I have seen very nicely coded closed source things, but also code that utterly sucked.

      It depends what it is used for. If you need to deliver some product in a week and you know it is not intended for any application requiring real reliability the customer will be more happy with a program with some defects, but delivered on time than a perfect one delivered late (unless the defects make the customer lose so much time that they don't gain... :P)

      Same for opensource.

    3. Re:There is no comparision by nyctopterus · · Score: 1

      Yes how could ever compare to groups that might have a significant amount of overlap? It can't be done! There's no branch of mathematics that would allow us to do such a thing! It's impossible.

  30. good thought. This was spoken face-to-face by raymorris · · Score: 1

    That's an interesting thought. Had it been typed, it might be a typo. I was thinking of a guy who said that, out loud, face-to-face. That's not the only comment that made it clear he was claiming four times as much as he in fact knew.

    Of course, in a interview I give someone leeway - my mind went blank once in an interview when I was asked "what are the four pillars of object oriented programming?". At the time, I could have implemented objects in C using the preprocessor*, but interview stress caused a brainfart. This guy was obviously clueless and trying to BS his way through it, though. Perhaps hoping he'd only be interviewed by a manager who wasn't a programmer.

    * thanks to Perl for teaching me objects from the inside out. Understanding Perl's implementation of objects, I could see that language support for objects in 98% syntactic sugar, object.method() is the same thing as function(* object), where "object" is an associative array aka namespace aka lookup table, plus a list of class names it has.

    1. Re:good thought. This was spoken face-to-face by the+phantom · · Score: 1

      Yeah, but "plus" and "sharp" (or should that be "hashtag"?) are almost the same word. I mean, anyone could make that mistake!

  31. Re:Not a surprise, but no reflection of O/S vs Pro by gbjbaanb · · Score: 4, Insightful

    are you sure about that?

    unsafe
    {
    // srcPtr and destPtr are IntPtr's pointing to valid memory locations
    // size is the number of long (normally 4 bytes) to copy
        long* src = (long*)srcPtr;
        long* dest = (long*)destPtr;
        for (int i = 0; i < size / sizeof(long); i++)
        {
            dest[i] = src[i];
        }
    }

    that's valid C#, all you need to do is inject something like that into the codebase and let the JIT compile it (using all the lovely features they added to support dynamic code) and you're good to get all the memory you like.

    Now I know the CLR will not let you do this so easily, but there's always a security vulnerability lying around waiting to be discovered that will, or an unpatched system that already has such a bug found in any of the .NET framework, for example this one that exploits... a "buffer allocation vulnerability", and is present in Silverlight.

    The moral is ... don't think C programs are somehow insecure and managed languages are perfectly safe.

  32. @viperidaenz by Anonymous Coward · · Score: 0

    Remember that Linux itself is written in C.

    1. Re:@viperidaenz by Anonymous Coward · · Score: 0

      Remember that most programmers are far from half as good as the Linux coders, and thus should avoid writing in C as much as possible.

    2. Re:@viperidaenz by apotheon · · Score: 1

      Remember that most programmers are far from half as good as the Linux coders, and thus should avoid writing code as much as possible.

      FTFY

      --
      Unfetter your ideas. Copyfree your mind.
  33. @Desler by Anonymous Coward · · Score: 0

    So you can't use Linux any more, since it is just C.

  34. Re:Not a surprise, but no reflection of O/S vs Pro by Anonymous Coward · · Score: 1

    A managed language would not have protected against Heartbleed, because the program maintained it's own freelist to prevent memory from being unallocated. If it did not do this then being written in a managed language would have prevented Heartbleed - but then again, if it did not do this then the C code wouldn't have been vulnerable either.

  35. The JVM by Anonymous Coward · · Score: 1

    Guess which language the JVM is mostly written in? Dumbass.

    1. Re:The JVM by alexo · · Score: 1

      Guess which language the JVM is mostly written in? Dumbass.

      Dumbass? Is that a dialect of Brainfuck?

  36. The only problem by bucket_brigade · · Score: 1

    The only problem with this is, of course, that what they claim to be doing (automatically examining code for defects) is literally impossible.

  37. Put your suit on for a meeting or sweatpants at... by Assmasher · · Score: 1

    ...home?

    Most people will put more effort into something that will be public (both out of positive motivation and the negative motivation of shaming.)

    Open Source will always, in general, be better than closed source. Again - in general. There are people who will engineer things properly irrespective of whether or not someone will be browsing your github account or checking it out of the company's private server... Too bad there's not more of them ;).

    --
    Loading...
  38. Of Course Open Source is Better by zippy590 · · Score: 1

    One advantage Open Source has is that there are no deadlines and a good project leader can simply reject sub par code. For commercial code no company is going to pay a programmer big bucks and simply throw away his output because it sucks.

  39. silly without more information by Anonymous Coward · · Score: 0

    This is really silly without more insight on the data.
    Open Source code quality varies a lot, just like proprietary code.
    Some of the open source code gets much less scrutiny than (internally) peer-reviewed code in a proprietary setting.

    This idea that we can compare "Open Source vs proprietary" and say what the "best" is is childish.

  40. Like OpenSSL Heartbleed by Anonymous Coward · · Score: 0

    See subject above.

  41. Unsafe code by KingMotley · · Score: 2

    Yes, so your argument is that you can, with great difficulty cause a possible security issue in C#, but in order to do so, you have to basically say... I'm about to do something possibly bad, please don't check to make sure what I'm doing is bad. Then modify the compiler from default to allow said code to be compiled, then put it into a fully trusted assembly so it bypasses all security checks, and THEN you might have an issue.

    and this is comparision to where in C/C++ where you can write an exploit in 2 lines of code by accident, using nothing but defaults.

  42. Re:Not a surprise, but no reflection of O/S vs Pro by david_thornley · · Score: 1

    Another problem with the comparison is that the average closed-source project is four times as big as the average open-source project. I'd expect defect density to go up with size of codebase. (Of course, this may not be an issue with what Coverity detects, but if so that emphasized that Coverity doesn't find all the important defects.)

    --
    "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  43. Mod parent up by DanielOom · · Score: 1

    How can software that has any bugs be considered as good quality??? I guess that if guns are legal in your country, then buggy software may be too.

  44. Broken Metric by oldCoder · · Score: 1

    This is the same broken metric that Coverity has been mis-using year after year.
    "Defect density (defects per 1,000 lines of software code) is a commonly used measurement for software quality, and a defect density of 1.0 is considered the accepted industry standard for good quality software."

    In other words, if you double the size of the code base by adding no-op code, you increase your quality score.
    Also, if you leave the bugs in, but reduce code size, you are reducing your quality score.

    --

    I18N == Intergalacticization