Forgot your password?
typodupeerror
Bug Linux Business IT

Linux Has Fewer Bugs Than Rivals 626

Posted by CmdrTaco
from the preaching-to-the-converted dept.
sushant_bhatia_progr writes "Wired has an article stating that according to a four-year analysis of the 5.7 million lines of Linux source code conducted by five Stanford University computer science researchers, the Linux kernel programming code is better and more secure than the programming code of most proprietary software. The report, set to be released on Tuesday, states that the 2.6 Linux production kernel, shipped with software from Red Hat, Novell and other major Linux software vendors, contains 985 bugs in 5.7 million lines of code, well below the industry average for commercial enterprise software. Windows XP, by comparison, contains about 40 million lines of code, with new bugs found on a frequent basis. Commercial software typically has 20 to 30 bugs for every 1,000 lines of code, according to Carnegie Mellon University's CyLab Sustainable Computing Consortium. This would be equivalent to 114,000 to 171,000 bugs in 5.7 million lines of code."
This discussion has been archived. No new comments can be posted.

Linux Has Fewer Bugs Than Rivals

Comments Filter:
  • by thrill12 (711899) *
    Proves it:

    better love (coding) your software, than making war selling it

    :)
    • by rd_syringe (793064) on Tuesday December 14, 2004 @11:46AM (#11082299) Journal
      Is anyone else bothered by the idea that an article entitled "Linux Has Fewer Bugs Than Rivals" is posted that compares 5 million lines of code that make up just a kernel to 40 million lines of code that make up a kernel, an operating system, a desktop, its integrated components, and its included applications? 40 million lines has more bugs than 5 million? Who'd have thunk it?

      Why does "Linux is just a kernel" suddenly not apply here? Is it because we're bashing Microsoft? This is kind of lame and makes the community look silly and vitriolic.
    • And yet (Score:3, Insightful)

      by Anonymous Coward
      And yet, Linux has more security advisories than Windows each month.

      I'd like to see a serious discussion of the methods and funding sources in this study. You know, the same kind of discussions that appear whenever a Microsoft study is posted. Mysteriously, that critical thinking is absent in articles like this.

      40 million lines of code != 5 million lines of code. If Microsoft attempted such a skewed study, I can already picture the kinds of posts people would be writing, asking about methods, funding,
  • Mistake (Score:3, Funny)

    by StevenHenderson (806391) <stevehendersonNO@SPAMgmail.com> on Tuesday December 14, 2004 @09:12AM (#11080796)
    Windows XP, by comparison, contains about 40 million lines of code

    I think they mean "40 million lines of bugs" :)

    • Re:Mistake (Score:5, Insightful)

      by chrish (4714) on Tuesday December 14, 2004 @09:16AM (#11080850) Homepage
      Somehow I doubt that the XP kernel is 40 million lines of code. I know it's not good "news" but they should really compare apples to apples in their study.

      This just in! "Hello world" has 0 bugs per three lines of code! Most stable and secure software ever devised!
      • Re:Mistake (Score:4, Insightful)

        by Allen Zadr (767458) * <Allen,Zadr&gmail,com> on Tuesday December 14, 2004 @09:29AM (#11080986) Journal
        I actually agree here. I'm a big Linux proponent, but the whole text seems fishy to me. And if they are certain there are exactly that number of bugs in the code, then they probably have been addressed. Yet, there are probably more bugs yet to be found.

        Then, when speaking of XP, they don't quantify the bugs, but merely say, "more are being found daily". Great... a pear.

      • Re:Mistake (Score:4, Funny)

        by Kjella (173770) on Tuesday December 14, 2004 @09:34AM (#11081029) Homepage
        This just in! "Hello world" has 0 bugs per three lines of code! Most stable and secure software ever devised!

        Actually, hello world has the highest ratio of bugs/program complexity I've seen. Depends on who is doing the implementation, I guess.

        Kjella
      • IEFBR14 (Score:4, Funny)

        by iBod (534920) on Tuesday December 14, 2004 @10:17AM (#11081424)
        When I walked with dinosaurs (ok, IBM mainframes) as a sysprog, there was a utility program named IEFBR14.

        The purpose of IEFBR14 was to do exactly nothing, and pass a zero return code to the caller after doing the 'nothing' (branching on the return address in register 14 - thus BR 14).

        This was actually more useful than it sounds and was used frequently in MVS JCL (Job Control Language) to make JCL do its thing without having to run a real program in a JCL 'step'.

        Thing is, this program that had to do precisely nothing, had no less than 3 patches issued from IBM. Mostly to do with not clearing R15 (the return code register) correctly.

        Go figure!
      • Re:Mistake (Score:5, Insightful)

        by dbacher (804594) <dave.bacher@earthlink.net> on Tuesday December 14, 2004 @11:09AM (#11081874) Homepage
        X.Org, Mesa and your choice of KDE/GNome and the tools necessary to have the same base application set as Windows has have over 5m lines of code, so it's safe to say Apache 2, Samba, etc. weren't included in this count, either, nor the GNU C compiler suite.

        There's no central Linux repository for reporting bugs in ancillary packages, while at Microsoft's site, all reported bugs go into a single database that can be queried. Each individual Linux distro and each individual Linux package maintains its own bug lists, which would have to be some how amalgamated.

        In order to do the stated comparison, you would need to state what distribution you were using, you would have to state which patches you were using, and you would have to document where the information on bug counts came from for both products.

        On top of all this, bugs per 1000 lines of code, while an industry metric, isn't a valid measurement of code quality, either, by the way.

        One good code metric is the number of control points per function. The more control points per function, the more likely that you have a bug. It's always possible to take a complicated function and break it up into smaller pieces, and with C/C++ (but not .NET or Java), it's possible to do so with no performance impact at all in all ISO compilers.

        Another good metric is the distribution of severity of the reported issues. Draw a bell curve of severity of issues, compare percentage to percentage. You're not concerned with 1000 bugs vs. 100 bugs, you're concerned about how many of those bugs compromise your system or cause a crash.

        Another good metric is delta bugs over time. There will always be bugs, everyone knows that there will be bugs. The question is the bug count going up or down.

        Another good metric is delta time between open and close. Again, there will always be bugs, but how fast they are getting closed is a measure of whether a product is good or bad.

        Another good metric is distribution of the number of days that bugs have been open and reported (by severity).

        The reason for this is that the number of lines to implement a given function using a given algorithm varies between programmers and programming styles. Some will use two lines or statements to do what can be done in one, to make code easier to read. The line number is something that a developer can manipulate easily.

        However, these other measurements are tied directly into the quality of the code. Nobody cares how big the Linux kernel is compared to the Windows kernel, or vice versa. What they care about is how well the Linux kernel works compared to the Windows kernel.

        Any count related to bugs, also, needs to take into account the fact that on Windows, you have billions of users any of whom could find and report a bug. On Linux, bugs are more likely to go undiscovered for a longer period of time, simply because there aren't as many people trying to hit them.

        The Windows and Linux kernel tend to be very similar in bug counts. The kernels of both OSes tend not to have bugs, because kernels tend to have simple code that's hard to mess up in any meaningful way.

        It's only when you start including all these ancillary subsystems, device drivers, etc. that you start to see significant percentages of the bug.

        And it is exceptionally hard to get an accurate count of those on Linux. On vMac, I documented approximately one bug in ten that I fixed, and I think that would be typical of other open source projects (although I can't swear to that).

        I think that on these other, valid measurements that aren't dependent on lines of code, that if you could collect the statistics on a package per package basis, and compare them, that Open Source would still come out ahead of Windows.

        It's just a matter of using a meaningless metric on widely divergent code bases to prove any point is irresponsible, and by reporting it, the media is doing a disservice to the Open Source community by perpetuating the image of the community as a bunch of college students who don't understand real development practices.
    • Re:Mistake (Score:2, Insightful)

      by jacksonj04 (800021)
      I disagree - some bits of Windows actually work as intended without glaring problems. In fact, the vast majority of Windows (especially in 2000 onwards) does what it's supposed to.

      Deleting half the DLLs in sys32 then trying to run applications does not constutute a bug, especially when Windows shouts at you that you really don't want to be deleting them. If the user being able to cause problems was a bug (some would say it is), then Linux is more buggy than anything else. Windows has the decency to complai
  • by kjones692 (805101) <the,cyborganizer&gmail,com> on Tuesday December 14, 2004 @09:12AM (#11080801)
    ...but while they were going through all those 5.7 million lines of code, would it really have killed them to debug them while they were at it??
    • by MadKeithV (102058) on Tuesday December 14, 2004 @09:15AM (#11080835)
      From TFA

      Seth Hallem, CEO of Coverity, a provider of source-code analysis, noted that the majority of the bugs documented in the study have already been fixed by members of the open-source development community.
    • I doubt they looked up all the code. They probably only made statistics to compare the amount of bugs based on what has been reported and archives.

      As a side note, at 20 bugs per 1000 lines, the 40 millions lines of Windows would contain 800000 bugs. I'm not a M$ fan, but this sounds a little excessive.

      • "I doubt they looked up all the code. They probably only made statistics to compare the amount of bugs based on what has been reported and archives."

        Exactly. The article is nearly useless. According to the CNet article covering the same issue:
        "Proprietary software, in general, has 1 to 7 flaws per thousand lines of code, according to an April report from the National Cybersecurity Partnership's Working Group on the Software Lifecycle, which cited an analysis of development methods by the Software Engine
    • Commercial software typically has 20 to 30 bugs for every 1,000 lines of code, according to Carnegie Mellon University's CyLab Sustainable Computing Consortium.
      I'm gonna call bullshit on this figure. This sounds like a number someone pulled out of their ass. A rate of 20-30 bugs per 1000 lines would render most programs unusable.
      • by Bachus9000 (765935) on Tuesday December 14, 2004 @09:38AM (#11081066)
        A rate of 20-30 bugs per 1000 lines would render most programs unusable.

        Sounds like Windows to me! :-)

        It's a joke, laugh. :)
      • by Iphtashu Fitz (263795) on Tuesday December 14, 2004 @10:07AM (#11081334)
        I'm gonna call bullshit on this figure.

        Keep in mind that you need to know the definition of a bug. It's not necessarially what you think it might be, but what the researchers defined. By their definition a condition that could never occur could be considered to be a bug. For example:

        int foo ()
        {
        if (0)
        return;

        do_something();

        return (0);
        }

        This overly-simple example could be considered to be a bug. If the condition is ever true the function will return an undefined value, but the condition will never be true so you couldn't possibly return an undefined value. It's not at all uncommon to find code with similar logic scattered throughout - improperly defined loops, conditionals, etc. could result in theoretical bugs that no path of execution can actually get to.

        Then there are the kinds of bugs that only occur in extremly specific situations. About 13 years ago I had to track down a bug that caused a report package to crash. It took me a while to figure it out but eventually I did. The program would crash only on specific days. It'd only crash on Wednesdays. It'd only crash on certian Wednesdays - Wednesdays in September. Even more specifically, usually only the 3rd or 4th Wednesday in September.

        The bug was that whoever wrote the code that printed a header on the reports was extremely anal about memory usage. He calculated exactly how many characters it would take for a buffer to hold the full date. The problem was he miscalculated by 1 character. With "Wednesday" being the longest day spelled out and "September" being the longest month, a 2 digit date (eg. Wednesday September 23) meant that the full date string would overflow the buffer by 1 character. This kind of bug wouldn't show up very often - only a few times a year - but it was a pretty nasty one when it did.
    • Something I've always wondered about this. How do they identify a "bug"? A bug can be anything from a typographical error (easy to detect, probably won't even _compile_) to accomplishing a slightly different problem than was intended (very difficult to detect, how do you know exactly what the software was intendd to do). So how are they qualitatively identifying "bugs"?

      Also, if they're so good at identifying them, is it much different to fix them?

      I'm an EE, not a CS, so I'm not familiar with hardcore
      • by chialea (8009) <chialea.gmail@com> on Tuesday December 14, 2004 @09:41AM (#11081104) Homepage
        I'm not a programmer-type either, but I'm familiar with some of this research. There are a few techniques that I've seen, but don't consider this to be complete, my research is in crypto, not code.

        1. code patterns -- if you see something that looks like a pattern, it is probably a bug... "if(x = 0)", for example. of course, you have to check that it actually IS a bug, but you can catch certain common things that way.

        2. type safety -- tools can go through your code (either statically or while it's running) and look for type violations. for example, you might write an int to an unsigned int, or mix up pointers and ints, which could be bad. you can catch a stunning number of bugs this way.

        3. pointer analysis -- another annoying bug can be in aliasing, where you have multiple pointers that may or may not be pointing at the same memory. are you really /trying/ to overwrite that data structure pointed to by another pointer? In general, this sort of analysis is hard (undecidable, off of the top of my head), but feasible in limited cases.

        I'm not sure what sorts of current tools are released by these researchers, but this is a very basic overview of the techniques I've heard about people using recently. (Repeat disclaimer: I'm a theorist.)

        Lea
      • by Khazunga (176423) *
        I've not RTFA, so this may not be true for this particular case. However, the bug figure is usually derived statistically. You assume bug finding follows an inverse exponential (picture a capacitor charging function). After some time, from the found bug data, you can deduct the function limit when time is infinite. That limit is the total bug count.
  • by UltimaGuy (745333) on Tuesday December 14, 2004 @09:12AM (#11080803) Homepage
    How can one be sure about closed source kernels like Windows XP. Even though I agree that it has to contain more bugs, without the actual source how can any one make any judgement in this matter?
    • by Deviate_X (578495)

      Actually "Windows XP" isn't a Kernel. The kernel of Windows XP is called the actually called the "NT Executive" - which is composed of the Hal (Hardware abstractiomn..), Microkernel and kernel services ( device drivers,.. ).

      Windows XP Architecture [senecac.on.ca]

    • by Burb (620144)
      Also, take a close look at the statement Windows XP, by comparison, contains about 40 million lines of code, with new bugs found on a frequent basis

      Well, the number of lines of code in the code base isn't strictly relevant, but comparing an unquantified rate of bug discovery against a quantified absolute number of bugs doesn't sound like sound practice to me.

      It also makes no statement about the relative severity of the bugs - 100 trivial bugs with simple workarounds would certainly be worth fixing, but

  • by BJZQ8 (644168) on Tuesday December 14, 2004 @09:12AM (#11080805) Homepage Journal
    The problem is that there is very often little vested interest in fixing bugs in closed software...if it can be covered up, then so be it. In open software, there's always a reason, even if it is just to keep people from pointing at your code and laughing.
    • If it can be covered up then it's not a very serious bug. Why spend money fixing bugs that aren't a big deal?
      • by akadruid (606405) <slashdot.thedruid@co@uk> on Tuesday December 14, 2004 @09:18AM (#11080876) Homepage
        If it can be covered up then it's not a very serious bug. Why spend money fixing bugs that aren't a big deal?

        See Also: Diebold [wikipedia.org]
      • Crap code can be made to pass some poor unit tests (it works, as long as the input is exactly what you expect it to be), and slide through poor Q&A (we tested the data the way we expect them to be, and the pieces work together).

        It can still make for a helluva mess if there is unexpected data (past a certain range, called by a different function with a wider range, while in a wrong state etc.) Perhaps it'll bring the program down in flames out on the users machine, but tracking it down might be hell. So
      • Perhaps it's not a serious bug at first examination...but someday an exploit is discovered, and it becomes a VERY serious issue. With open software, there is no burying. If it's there, it at least CAN be found, even if it isn't immediately. Closed software depends on the goodwill of the software manufacturer, where there often is none.
        • by Malc (1751)
          "Bug" is a very generic term. Some scaremongers like to use it in the worse sense of the word, but it could just be something simple like setting a screen area to the wrong colour or having a spelling mistake in a piece of text displayed to the user. A bug could just be the use of an inefficient algorithm leading to poor performance and making the user stare unnecessarily at a busy cursor.

          Why do people always look for the worst in things? Yes, you have to have a certain level of paranoia when coding as
  • by Ironsides (739422) on Tuesday December 14, 2004 @09:13AM (#11080818) Homepage Journal
    Not to be a downer but, how do we know they didn't miss anything? 5.7 million lines is a lot of code to go through and analyze. I'm also curious where they came up with the 20-30 bugs per thousand lines of code that proprietary software suffers from since they can't see the code.

    Of course, we must remember, "It's not a bug, it's a feature!"
  • Hopefully since those bugs in the Linux kernel have been identified, they can be fixed. While whatever bugs there are in Windows have not been identified since the source code is not availalble. For those we will have to wait for the next exploit to be announced.
  • "Windows XP, by comparison, contains about 40 million lines of code, with new bugs found on a frequent basis"

    which compares very well to a rate of "very frequently" on "less" lines of code. probably at least 2-3 times better - or "more".

    • Re:sigh... (Score:3, Interesting)

      by ceeam (39911)
      Note how the (/.) article does NOT state the number of bugs in WindowsXP code. It just states the number of lines in XP code (supposedly, courtesy Microsoft Corp.) and some _industry_average_ bugs per line numbers. I would call that "propaganda" if I weren't on their side ;)
  • Not being a computer scientist or coder by any means, I have a couple of questions.

    1. Are these the only bugs to be found in the Linux kernel?

    2. Now that these bugs have been identified, should these bugs be fixed would that mean that Linux itsself could truthfully be classified as "bug-free" or am I missing something?

  • Have they fixed the 985 bugs - if they have how many bugs are left ?
  • Apple != Orange (Score:5, Interesting)

    by kin_korn_karn (466864) on Tuesday December 14, 2004 @09:15AM (#11080845) Homepage
    Talk about misleading stats...

    The Windows XP code base includes all of the extraneous crap that gets bundled with and on top of the kernel.

    The "Linux" code base just includes the kernel.
    • We're talking about # bugs per # lines of code - it doesn't matter what the code does - it matters that the # bugs per LOC are relatively low.

    • Re:Apple != Orange (Score:5, Insightful)

      by abb3w (696381) on Tuesday December 14, 2004 @09:29AM (#11080979) Journal
      The Windows XP code base includes all of the extraneous crap that gets bundled with and on top of the kernel.

      This is what you get for integrating your web browser into your operating system. Legality aside, there was a low cunning to that business move when M$ did it. Now, however, that decision is coming back to bite them on the tender bits: the browser is part of the OS, ergo bugs in the browser count as bugs in the OS.

      • Re:Apple != Orange (Score:5, Insightful)

        by falsified (638041) on Tuesday December 14, 2004 @10:33AM (#11081571)
        Forgive me, O Moderators, for being blunt:

        Do you use only the Linux kernel? No. You run Slackware, or Fedora, or SuSE (my personal choice), or Gentoo, or something. A fresh copy of the latest version of a distribution is what should have been analyzed. All of the other stuff that's piled onto the kernel is what you use, such as the GUI, time-killing games, and all the other shit that a standard XP install disc contains. You don't click on line 11359 of the Linux kernel to open up Konqueror. You click on an icon, which starts a process that you use. The stuff piled onto the kernel is far more buggy than the kernel would be. I'd bet that a distribution of Linux is still far less buggy than Windows is, but it's certainly not 985 vs. 800,000. For example, when I minimize my windows on XP, there isn't hard drive activity for the next five minutes, as can happen with SuSE with not very much open. I'm sure something's misconfigured, but if a distribution, in 2004, is that poorly configured by default, then that's a bug.

    • Re:Apple != Orange (Score:3, Insightful)

      by hackstraw (262471) *
      The Windows XP code base includes all of the extraneous crap that gets bundled with and on top of the kernel.

      The "Linux" code base just includes the kernel.


      MS gets dinged all the time (at least by us UNIX guys) for what crud they put into the kernelspace, and much of that "extraneous crap" has caused a number of security and stability issues over the years.

      Windows and Linux are fundamentally different in design and purpose. And I do believe that most of the "extraneous crap" code should be included in
  • They're calling Windows XP a Linux "rival"?

    If you're really itching to do a Windows vs. Linux comparison, you should at least be looking at Windows 2000 or Windows 2003.
  • 985 bugs? That sounds like an exact number. Of course that is possible, it being open source, but I hope they don't believe that they found them all. Debugging is quite a profession on itself, and I don't think anyone has found the ultimate "solution" for it.

    Anyway, I sure hope they at least reported the bugs they found. Being the best is no reason not to want better. (And no, I did not imply that Linux is the best existing kernel.)

  • Finally! A study to document the entirely obvious.
  • by The-Bus (138060) on Tuesday December 14, 2004 @09:18AM (#11080874)
    First off, what does this statement mean?

    "[Linux has] 985 bugs in 5.7 million lines of code, well below the industry average for commercial enterprise software. Windows XP, by comparison, contains about 40 million lines of code, with new bugs found on a frequent basis."

    So Linux has 985 bugs. Windows has bugs that appear frequently. Ok that doesn't really tell me anything. I tried to dig a bit deeper [zdnet.co.uk] and came up with: "Coverity has not analysed the source code to Microsoft Windows because the company does not have access to the source code, Hallem said. Apple Computer's Mac OS X has a great deal of proprietary programming, but the core of the operating system is based on BSD, an open-source operating system similar to Linux."

    So everything is based on estimates. Now, you know and I know that the Linux kernel has less bugs... but this is a tentative (at best, shoddy at worst) way of presenting that idea.
    1. Linux Has Fewer Bugs Than Rivals
    2. Novell and other major Linux software vendors, contains 985 bugs
    Ergo: there are at least 987 operating systems in the world.
  • Since they didn't compare it to anything else, maybe their method just had low sensitivity? For example, I could analyze linux, find one bug and then be done. Linux has only one bug. Obviously my method is flawed. It only works appropriately when you actually apply the same protocol on a control, that is actual commercial buggy code. And to make the comparisons they want to windows, they should actually run windows code. (For all I know they could have done this, but the article seems to focus a lot o
  • by vasqzr (619165) <vasqzr@netsc[ ].net ['ape' in gap]> on Tuesday December 14, 2004 @09:19AM (#11080887)

    What about if you throw in KDE or GNOME, Mozilla, etc, everything that you'd have to add to really equal the features of Windows XP....

    • Crashing KDE won't kill your system. System services will keep on rolling just fine.

      Crashing the Windows shell will nuke the whole box, web servers, ftp servers, application servers and all.

      Obviously the distinction for a desktop user is minor, since your desktop is gone and your work with it, but if you are running servers the separation is VERY important. A KDE crash (unlike a hard lock from windows shell bringing down the system) doesnt lead to:

      Service unavailability for customers.
      Possible disk corrup
      • the windows shell is explorer.exe, microsoft's equivalent to kde. if explorer.exe crashes, web servers, ftp servers, database servers, and anything else running on the box, even user applications that are not tied in to the shell, will continue to run unhindered. so, to respond to your first statement, crashing explorer.exe wont kill your system (do it yourself on windows xp, go to task manager and kill the explorer process). system services will keep on rolling just fine. contrary to /. belief, the win
  • Maybe there's so many bugs in recent Microsoft OSes because the code base is starting to get so huge that it's harder and harder to modify a known API without breaking something by mistake.

    After all, maybe there's 10 times the bugs in Windows because there's 10 times the code. Earlier mistakes were mostly squashed out, but API or workflow defeciencies always come up late in development, no matter how you plan and when you have something as huge as Windows, it might be hard to reverse the direction they hav
  • Four Years? (Score:2, Insightful)

    according to a four-year analysis of ...
    ... the 2.6 Linux production kernel

    The 2.6 kernel isn't even a year old yet. How'd they do a 4 year analysis?

    No I didn't RTFA.

  • Statistics (Score:2, Informative)

    by amigoro (761348)
    • Typical Commercial Software: 20 to 30 bugs for every 1,000 lines of code (Kloc)
    • Linux kernel : 0.17 bugs per Kloc
    • Windows XP: 40-50 bugs per Kloc Source [neu.edu]

    Moderate this comment
    Negative: Offtopic [mithuro.com] Flamebait [mithuro.com] Troll [mithuro.com] Redundant [mithuro.com]

    Positive:Insightful [mithuro.com] Interesting [mithuro.com] Informative [mithuro.com] Funny [mithuro.com]

  • Uh, I'm not sure how this is a correct comparison. Since when is a bug (what they presumably looked at in Linux) a security flaw (what they presumably looked for in Windows, considering they didn't have hands on the code)? According to the article summary, they measured "bugs" in Windows by counting the number of identified security flaws, and compared it to the (estimated) number of lines of code.

    I'd assume each flaw in Windows would actually result from multiple bugs (incorrectly defined data structure
  • "[Windows xp has]40 million lines of code..." and if 5.7 million lines of code should have "114,000 to 171,000 bugs" that should be that windows has 800k - 1.2 million bugs!!!!

    Wow, from the standard of their bugs thre's got to be some _really_ good ones in the source somewhere:-]
  • Just to be sure, doesn't windows include a GUI and Web browser in their kernel/OS - addning several thousand lines of code to the count? (Also great places to find bugs.)
  • Sounds like it was a pretty dull thing to do, but reasonably interesting results. I would question though that the "bugs" they found would seem to be pure programming bugs, since they just analysed the source code. The majority of bugs found in systems are usually found by actually using the software and often come about as a result of either unexpected circumstances, unexpected input or compatability issues. Merely reporting the straight programming errors really isn't the same thing.

    Also "Windows XP, by
  • It's good to see that the Linux kernel is well designed and coded.

    What really matters is what you run on the thing, many security issues occur outside of the kernel.
  • 985 bugs is enough to give you a new bug every day for the next 3 years. How does that make it better than microsoft? How does that make this article seem any less biased towards linux? Seriously?

    Kill my karma all you want, but the jab at windows ruins any objectivity in the article. Its obvious that they didn't research the actual number of bugs in microsofts product, so really this is just a marketing pitch for open source instead of an actual reason to embrace it.
  • by fizban (58094) <fizban@umich.edu> on Tuesday December 14, 2004 @09:37AM (#11081061) Homepage
    Did they file bug reports on those 985 items?
  • by MoebiusStreet (709659) on Tuesday December 14, 2004 @09:38AM (#11081067)
    In proprietary closed code, it's impossible for an outside party to determine the number of bugs.

    The best you can hope to do is to count the number of *symptoms*, but that's not the same thing as bugs. It's possible, even likely, that a single bug in the code manifests itself as 100 apparently different external symptoms.

    So this comparison is apples to oranges and completely meaningless.
  • by eno2001 (527078) on Tuesday December 14, 2004 @09:38AM (#11081069) Homepage Journal
    ...have they found any SCO bugs? ;P I kid, I kid! Because I love!
  • Update (Score:4, Funny)

    by Tom (822) on Tuesday December 14, 2004 @09:40AM (#11081095) Homepage Journal
    Update: 18 hours after posting the study, the Linux kernel team had eliminated all the bugs documented in the study, forcing the researchers to correct the bug count down to 0 per 10,000 lines.
  • by gUmbi (95629) on Tuesday December 14, 2004 @09:44AM (#11081123)
    Commercial software typically has 20 to 30 bugs for every 1,000 lines of code, according to Carnegie Mellon University's CyLab Sustainable Computing Consortium

    I'm going to call bullshit on this. Maybe this number is based on some rule that every variable must be asserted, everything exception checked, etc. (even if these conditions rarely or never happen).

    If they're counting bugs like I count bugs - i.e., in a normal operating environment the software loses data, produces incorrect results or limits operability then there is no way that a commericially viable product can have this number of bugs.
  • smells like BS (Score:5, Insightful)

    by OldAndSlow (528779) on Tuesday December 14, 2004 @09:46AM (#11081142)
    This post pisses me off:

    How do you analyze 5.7 million lines of code except to run it through a static analyzer? Static analyzers can't detect most errors, which tend to be data dependent. So a company selling an uberlint donates their tool, 5 academics run it and write a paper. *Blech*

    Commercial software typically has 20 to 30 bugs for every 1,000 lines of code Bull. Software with 20-30 errors per KSLOC doesn't work. (I know, I just spent a year trying to save a project that had 10 errors per KSLOC. Even at that defect density (found and fixed) it was undeliverable. Notice that the link in TFA doesn't take you to anything that supports this assertion, just to the organization's home page. I could't find anything to support these numbers.

    Weasely non-comparisons: 2.6 Linux production kernel, ... contains 985 bugs in 5.7 million lines of code as opposed to Windows XP, by comparison, contains about 40 million lines of code, with new bugs found on a frequent basis.What, bug in Linux are found on an infrequent basis?

    This is all hot air.

  • OK (Score:3, Funny)

    by hackstraw (262471) * on Tuesday December 14, 2004 @09:46AM (#11081145)
    Linux software ... contains 985 bugs in 5.7 million lines of code

    I hope they submitted a patch :)
  • Bug This! (Score:3, Interesting)

    by mikers (137971) on Tuesday December 14, 2004 @09:53AM (#11081211)
    Karma to burn, karma to burn...

    The report, set to be released on Tuesday, states that the 2.6 Linux production kernel, shipped with software from Red Hat, Novell and other major Linux software vendors, contains 985 bugs in 5.7 million lines of code, well below the industry average for commercial enterprise software.

    Commercial software (at this point in time) has its priority on releasing new versions often. Because each release is a salable item. Linux on the other hand gets forked or changes version whenever "Linus feels its ready". BIG DIFFERENCE. Here's why.

    Commercial software decide how much value is on each bug, if the bugs are cheap (not show stoppers), but minor things they can't forsee as causing them to lose money... They will ship it. Acceptable known bugs. Project management decision.

    Open source has time on their hands. They can look over the code carefully, waste time on bugs that commercial outfits wouldn't even bother... But the problem (like with software project management) is that you can't tell which bugs will be the nasties when you choose to ignore them. Less bugs == more secure software, less nasties.

    If commerical software decided to play the careful release, minimize bug game... They would make less money initially, but in the end it would work out. Microsoft and ilk can certainly compete with linux, but they made a choice long ago not to. They made a choice to RELEASE FAST and MAKE MONEY FAST! (hey, that sounds like spam).

    m

  • Flawed comparison (Score:3, Insightful)

    by willgott (765108) on Tuesday December 14, 2004 @10:09AM (#11081355) Homepage
    The article claims that "...the Linux kernel programming code is better and more secure than the programming code of most proprietary software..."

    Of course it is.

    Most proprietary software are user-level apps where a bug here or a bug there isn't critical. The economic loss that can be atributed to a bug in MS Word's bullet-point-algorithm isn't as great as a datacenter going down due a Oops in the linux-box running the SQL-database. To put it simply: there are different requirements for different tasks. A comparison between the quality of WinXP's GUI and GNOME for example would have been much more interesting.

    I don't understand how this story could make slashdot's frontpage.
    • by Ignignot (782335)
      With apologies to Douglas Adams:

      You don't understand how the story could possibly make the frontpage. To those that know how slashdot really works, it was inevitable that once this story was written, it would reach the front page.

      oh man I messed that up bad.
  • by ClosedSource (238333) on Tuesday December 14, 2004 @10:52AM (#11081721)
    For most proprietary software, the source is not available. So when contemplating this study the authors should have realized that it couldn't possibly be valid and decided to go do something else. The fact that they went ahead anyway, is a strong indication of their lack of dedication to scientific principles.
  • by MavEtJu (241979) <slashdot@mave t j u . org> on Tuesday December 14, 2004 @04:34PM (#11085782) Homepage
    That's only compared to WindowsXP.

    How about comparing it with MacOS/X, FreeBSD and others?

Chairman of the Bored.

Working...