<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Software bugs &#187; For coders</title>
	<atom:link href="http://buglinks.puzzling.org/archives/category/for-coders/feed/" rel="self" type="application/rss+xml" />
	<link>http://buglinks.puzzling.org</link>
	<description>Links to bug reporting techniques, tips and tools</description>
	<lastBuildDate>Sun, 29 Jun 2008 00:28:13 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Code quality: WTFs per minute</title>
		<link>http://buglinks.puzzling.org/archives/2008/06/code-quality-wtfs-per-minute/</link>
		<comments>http://buglinks.puzzling.org/archives/2008/06/code-quality-wtfs-per-minute/#comments</comments>
		<pubDate>Wed, 04 Jun 2008 04:10:58 +0000</pubDate>
		<dc:creator>Mary</dc:creator>
				<category><![CDATA[Avoiding bugs]]></category>

		<guid isPermaLink="false">http://buglinks.puzzling.org/?p=82</guid>
		<description><![CDATA[Jonathan Lange reminds us via Focus Shift that the only measure of code quality is WTFs per minute:
Actually, this reminds me of something I heard a preacher say, “before I give a sermon, I go through it, find everything clever, and take it out” (I paraphrase, not having a reference on hand).
In as much as [...]]]></description>
			<content:encoded><![CDATA[<p>Jonathan Lange reminds us via <a href="http://www.osnews.com/images/comics/wtfm.jpg">Focus Shift</a> that the only measure of code quality is <a href="http://mumak.net/2008/04/21/what-i-meant/">WTFs per minute</a>:</p>
<blockquote><p>Actually, this reminds me of something I heard a preacher say, “before I give a sermon, I go through it, find everything clever, and take it out” (I paraphrase, not having a reference on hand).</p>
<p>In as much as sermons and code should both be ego-free communications of ideas, I think this is sound advice for hackers.</p></blockquote>
<img src="http://buglinks.puzzling.org/?ak_action=api_record_view&id=82&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://buglinks.puzzling.org/archives/2008/06/code-quality-wtfs-per-minute/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debian SSL vulnerability: distribution patch issues</title>
		<link>http://buglinks.puzzling.org/archives/2008/06/debian-ssl-vulnerability-distribution-patch-issues/</link>
		<comments>http://buglinks.puzzling.org/archives/2008/06/debian-ssl-vulnerability-distribution-patch-issues/#comments</comments>
		<pubDate>Tue, 03 Jun 2008 02:10:21 +0000</pubDate>
		<dc:creator>Mary</dc:creator>
				<category><![CDATA[Bug anatomies]]></category>

		<guid isPermaLink="false">http://buglinks.puzzling.org/?p=81</guid>
		<description><![CDATA[The 2008 random number weakness in Debian (Ubuntu etc) versions of OpenSSL resulted in an article by Jake Edge for LWN: Debian, OpenSSL, and a lack of cooperation, covering the responsibilities of upstream and packagers:
It is in the best interests of everyone, distributions, projects, and users, for changes made downstream to make their way back [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://lwn.net/Articles/281436/">2008 random number weakness</a> in Debian (Ubuntu etc) versions of OpenSSL resulted in an article by Jake Edge for LWN: <a href="http://lwn.net/Articles/281434/">Debian, OpenSSL, and a lack of cooperation</a>, covering the responsibilities of upstream and packagers:</p>
<blockquote><p>It is in the best interests of everyone, distributions, projects, and users, for changes made downstream to make their way back upstream. In order for that to work, there must be a commitment by downstream entities—typically distributions, but sometimes users—to push their changes upstream. By the same token, projects must actively encourage that kind of activity by helping patch proposals and proposers along. First and foremost, of course, it must be absolutely clear where such communications should take place. </p></blockquote>
<img src="http://buglinks.puzzling.org/?ak_action=api_record_view&id=81&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://buglinks.puzzling.org/archives/2008/06/debian-ssl-vulnerability-distribution-patch-issues/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenQA: open source Quality Assurance tools</title>
		<link>http://buglinks.puzzling.org/archives/2007/07/openqa-open-source-quality-assurance-tools/</link>
		<comments>http://buglinks.puzzling.org/archives/2007/07/openqa-open-source-quality-assurance-tools/#comments</comments>
		<pubDate>Thu, 05 Jul 2007 08:52:38 +0000</pubDate>
		<dc:creator>Mary</dc:creator>
				<category><![CDATA[Avoiding bugs]]></category>
		<category><![CDATA[For QA people]]></category>

		<guid isPermaLink="false">http://buglinks.org/archives/2007/07/openqa-open-source-quality-assurance-tools/</guid>
		<description><![CDATA[OpenQA is the home of several open source testing tools, notably Selenium, for automated testing of web applications in a number of browsers, including the major ones.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.openqa.org/">OpenQA</a> is the home of several open source testing tools, notably <a href="http://www.openqa.org/selenium/">Selenium</a>, for automated testing of web applications in a number of browsers, including the major ones.</p>
<img src="http://buglinks.puzzling.org/?ak_action=api_record_view&id=78&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://buglinks.puzzling.org/archives/2007/07/openqa-open-source-quality-assurance-tools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sebastian Kuegler on using bug lists for release management</title>
		<link>http://buglinks.puzzling.org/archives/2007/07/sebastian-kuegler-on-using-bug-lists-for-release-management/</link>
		<comments>http://buglinks.puzzling.org/archives/2007/07/sebastian-kuegler-on-using-bug-lists-for-release-management/#comments</comments>
		<pubDate>Thu, 05 Jul 2007 08:49:46 +0000</pubDate>
		<dc:creator>Mary</dc:creator>
				<category><![CDATA[Bug management]]></category>

		<guid isPermaLink="false">http://buglinks.org/archives/2007/07/sebastian-kuegler-on-using-bug-lists-for-release-management/</guid>
		<description><![CDATA[Sebastian Kuegler has a post on releasing KDE 4, and mentions briefly how the bug tracking tool could be used to clarify the release process:
What we can do to make it easier for vendors to ship the next version of our software is making it clear what needs to be done before a release. That [...]]]></description>
			<content:encoded><![CDATA[<p>Sebastian Kuegler has <a href="http://vizzzion.org/?blogentry=719">a post</a> on releasing KDE 4, and mentions briefly how the bug tracking tool could be used to clarify the release process:</p>
<blockquote><p>What we can do to make it easier for vendors to ship the next version of our software is making it clear what needs to be done before a release. That would mean: &#8220;Here&#8217;s a list with what the next release will look like, if you want to make it happen earlier, help us hacking&#8221; This could be as easy as recording this in bugzilla, marking it as &#8220;showstopper&#8221; or &#8220;required for x.y.z&#8221; and then make the query showing those entries easily accessible through, for example, a direct link.</p></blockquote>
<img src="http://buglinks.puzzling.org/?ak_action=api_record_view&id=77&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://buglinks.puzzling.org/archives/2007/07/sebastian-kuegler-on-using-bug-lists-for-release-management/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nine Steps to Delivering Defect-Free Software</title>
		<link>http://buglinks.puzzling.org/archives/2007/06/nine-steps-to-delivering-defect-free-software/</link>
		<comments>http://buglinks.puzzling.org/archives/2007/06/nine-steps-to-delivering-defect-free-software/#comments</comments>
		<pubDate>Sat, 16 Jun 2007 09:33:18 +0000</pubDate>
		<dc:creator>Mary</dc:creator>
				<category><![CDATA[Avoiding bugs]]></category>

		<guid isPermaLink="false">http://buglinks.org/archives/2007/06/nine-steps-to-delivering-defect-free-software/</guid>
		<description><![CDATA[Terence M. Colligan writes:
Although I thought I understood the importance of quality, and took pride in the quality of the software we produced, I never believed that delivering defect-free software was possible. After all, everyone knows that all software has lots of bugs, right?
Well, no, not necessarily! Certainly, most experiences with today&#8217;s software quality are [...]]]></description>
			<content:encoded><![CDATA[<p>Terence M. Colligan <a href="http://www.tenberry.com/nodefect/steps.htm">writes</a>:</p>
<blockquote><p>Although I thought I understood the importance of quality, and took pride in the quality of the software we produced, I never believed that delivering defect-free software was possible. After all, everyone knows that all software has lots of bugs, right?</p>
<p>Well, no, not necessarily! Certainly, most experiences with today&#8217;s software quality are not encouraging. Although few people can name even one piece of software which they use that has no bugs, defect-free software is possible to create. We know it is possible, because we&#8217;re doing it.</p>
<p>It started with a single engineer. This engineer was consistently producing work with a defect rate more than one hundred times smaller than our other engineers. She has done so for us for over three years now. During the same time, she has produced three to five times as much code as any other engineer.</p>
<p>I found this so exciting that I determined to find out how she did it, and to see if we could teach our other engineers to achieve the same quality results.</p>
</blockquote>
<p>Via James Gregory, <a href="http://codelore.com/2007/05/defectfree_code.html">Defect-free code</a>.</p>
<img src="http://buglinks.puzzling.org/?ak_action=api_record_view&id=73&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://buglinks.puzzling.org/archives/2007/06/nine-steps-to-delivering-defect-free-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Checking for resource pressure bugs in advance</title>
		<link>http://buglinks.puzzling.org/archives/2007/06/checking-for-resource-pressure-bugs-in-advance/</link>
		<comments>http://buglinks.puzzling.org/archives/2007/06/checking-for-resource-pressure-bugs-in-advance/#comments</comments>
		<pubDate>Sat, 16 Jun 2007 09:30:05 +0000</pubDate>
		<dc:creator>Mary</dc:creator>
				<category><![CDATA[Avoiding bugs]]></category>

		<guid isPermaLink="false">http://buglinks.org/archives/2007/06/checking-for-resource-pressure-bugs-in-advance/</guid>
		<description><![CDATA[James Gregory reviews how to check for resource pressure bugs.
A quick one for today, sparked by recent events at work. It can pretty much be summed up in this even quicker question: do you know what your program does when it&#8217;s out of resources? Out of RAM, out of disk-space, out of address-space, out of [...]]]></description>
			<content:encoded><![CDATA[<p>James Gregory <a href="http://codelore.com/2007/06/on_resource_pressure.html">reviews</a> how to check for resource pressure bugs.</p>
<blockquote><p>A quick one for today, sparked by recent events at work. It can pretty much be summed up in this even quicker question: do you know what your program does when it&#8217;s out of resources? Out of RAM, out of disk-space, out of address-space, out of time? Computers are indeed powerful beasts these days, and there&#8217;s a bunch of people who would like you to believe that they are effectively infinitely powerful, but observing your code working with limited resources, even if those limitations are artificially imposed, can tell you a lot of things you mightn&#8217;t have known previously.</p></blockquote>
<img src="http://buglinks.puzzling.org/?ak_action=api_record_view&id=72&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://buglinks.puzzling.org/archives/2007/06/checking-for-resource-pressure-bugs-in-advance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The politics of bug fixing</title>
		<link>http://buglinks.puzzling.org/archives/2007/06/the-politics-of-bug-fixing/</link>
		<comments>http://buglinks.puzzling.org/archives/2007/06/the-politics-of-bug-fixing/#comments</comments>
		<pubDate>Sat, 16 Jun 2007 09:25:21 +0000</pubDate>
		<dc:creator>Mary</dc:creator>
				<category><![CDATA[Bug management]]></category>

		<guid isPermaLink="false">http://buglinks.org/archives/2007/06/the-politics-of-bug-fixing/</guid>
		<description><![CDATA[Scott Berkun&#8217;s Project Manager clinic discussion group had a look at the politics of bug fixing in September 2005:

I quickly realized that my team wasn&#8217;t prioritizing for itself &#8211; but was prioritizing bugs around management and other perceptions of how other people in the organization would *force* us to prioritize bugs. So in essence my [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.scottberkun.com/">Scott Berkun</a>&#8217;s <a href="http://www.scottberkun.com/forums/pmclinic/">Project Manager clinic</a> discussion group had a look at <a href="http://www.scottberkun.com/forums/pmclinic/week29.htm">the politics of bug fixing</a> in September 2005:</p>
<blockquote>
<p>I quickly realized that my team wasn&#8217;t prioritizing for itself &#8211; but was prioritizing bugs around management and other perceptions of how other people in the organization would *force* us to prioritize bugs. So in essence my development team wanted to make pre-emptive political choices when it came to bug fixing. Any advice for making this process less frustrating? </p></blockquote>
<p>Responses review the standard way to prioritise bug fixes.</p>
<img src="http://buglinks.puzzling.org/?ak_action=api_record_view&id=71&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://buglinks.puzzling.org/archives/2007/06/the-politics-of-bug-fixing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Choosing which bugs to fix</title>
		<link>http://buglinks.puzzling.org/archives/2006/01/choosing-which-bugs-to-fix/</link>
		<comments>http://buglinks.puzzling.org/archives/2006/01/choosing-which-bugs-to-fix/#comments</comments>
		<pubDate>Sat, 21 Jan 2006 00:21:25 +0000</pubDate>
		<dc:creator>Mary</dc:creator>
				<category><![CDATA[Bug management]]></category>

		<guid isPermaLink="false">http://buglinks.org/archives/2006/01/choosing-which-bugs-to-fix/</guid>
		<description><![CDATA[Scott Berkun, author of The Art of Project Management, has a series of articles on deciding which bugs to fix:

How to Decide What Bugs to Fix When, Part 1; and
How to Decide What Bugs to Fix When, Part 2.

He argues that:
Here is the golden rule of organizing bugs: fix bugs in the order most likely [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Scott Berkun's home page" href="http://www.scottberkun.com/">Scott Berkun</a>, author of <a title="O'Reilly's catalogue page for The Art of Project Management" href="http://www.oreilly.com/catalog/artprojectmgmt/">The Art of Project Management</a>, has a series of articles on deciding which bugs to fix:</p>
<ol>
<li><a href="http://www.oreillynet.com/pub/a/onlamp/2005/08/11/fixingbugs.html">How to Decide What Bugs to Fix When, Part 1</a>; and</li>
<li><a href="http://www.oreillynet.com/pub/a/onlamp/2005/08/11/fixingbugs2.html">How to Decide What Bugs to Fix When, Part 2</a>.</li>
</ol>
<p>He argues that:</p>
<blockquote><p>Here is the golden rule of organizing bugs: fix bugs in the order most likely to result in success. Sounds obvious, right? Wrong. I&#8217;d bet that more than half of the buggy and unreliable software you&#8217;ve ever used was that way not because the developers didn&#8217;t have time to make it better; they simply fixed the wrong bugs. Wanting to fix the right bugs and knowing how to do it are two different things.</p></blockquote>
<p>He describes four approaches to bug prioritising:</p>
<ol>
<li>triage: sorting bugs into Must Fix, Might Fix and Won&#8217;t Fix;</li>
<li>triage with severity: adding severities of data loss, functionality difficult, or annoyance;</li>
<li>setting exit criteria: defining the minimum set of &#8220;must do&#8221; goals; and</li>
<li>early planning based on previous experience.</li>
</ol>
<img src="http://buglinks.puzzling.org/?ak_action=api_record_view&id=68&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://buglinks.puzzling.org/archives/2006/01/choosing-which-bugs-to-fix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Handling security bugs as an upstream</title>
		<link>http://buglinks.puzzling.org/archives/2005/10/handling-security-bugs-as-an-upstream/</link>
		<comments>http://buglinks.puzzling.org/archives/2005/10/handling-security-bugs-as-an-upstream/#comments</comments>
		<pubDate>Fri, 28 Oct 2005 01:01:08 +0000</pubDate>
		<dc:creator>Mary</dc:creator>
				<category><![CDATA[Security bug fixes]]></category>

		<guid isPermaLink="false">http://buglinks.org/archives/2005/10/handling-security-bugs-as-an-upstream/</guid>
		<description><![CDATA[There&#8217;s quite a lot of guidelines out there on how to report a security vulnerability in a responsible way as a third party, but not so many on how to report and publicise a fix if you are a software author. (And recall, many software authors are part-time hobbyists, not corporations bankrolling a security team.)
Karl [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s quite a lot of guidelines out there on how to report a security vulnerability in a responsible way as a third party, but not so many on how to report and publicise a fix if you are a software author. (And recall, many software authors are part-time hobbyists, not corporations bankrolling a security team.)</p>
<p>Karl Fogel&#8217;s <a href="http://producingoss.com/">Producing Open Source Software: How to Run a Successful Free Software Project</a> book has some <a href="http://producingoss.com/html-chunk/publicity.html#security">guidelines</a>:</p>
<blockquote><p>Most open source projects have settled on approximately the same set of steps to handle this conflict between openness and secrecy, based on the these basic guidelines:
<ol>
<li>Don&#8217;t talk about the bug publicly until a fix is available; then supply the fix at exactly the same moment you announce the bug.</li>
<li>Come up with that fix as fast as you can—especially if someone outside the project reported the bug, because then you know there&#8217;s at least one person outside the project who is able to exploit the vulnerability.</li>
</ol>
</blockquote>
<p>He goes on to detail the process of being assigned a CAN/CVE number, notifying important or particularly vulernable vendors or customers, and making a public announcement.</p>
<img src="http://buglinks.puzzling.org/?ak_action=api_record_view&id=67&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://buglinks.puzzling.org/archives/2005/10/handling-security-bugs-as-an-upstream/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mozilla security policy makes it hard for distros</title>
		<link>http://buglinks.puzzling.org/archives/2005/07/mozilla-security-policy-makes-it-hard-for-distros/</link>
		<comments>http://buglinks.puzzling.org/archives/2005/07/mozilla-security-policy-makes-it-hard-for-distros/#comments</comments>
		<pubDate>Sun, 31 Jul 2005 00:46:02 +0000</pubDate>
		<dc:creator>Mary</dc:creator>
				<category><![CDATA[Security bug fixes]]></category>

		<guid isPermaLink="false">http://buglinks.org/archives/2005/07/mozilla-security-policy-makes-it-hard-for-distros/</guid>
		<description><![CDATA[Joey Hess describes the trouble for distros trying to provide security updates for Mozilla:

That&#8217;s right, this bug, which is for a security hole that was fixed two weeks ago, is not being dislosed until apparently, August 1st. Same is true for several others of the holes fixed in recent versions. That&#8217;s two weeks for distibutions [...]]]></description>
			<content:encoded><![CDATA[<p>Joey Hess <a href="http://kitenet.net/~joey/blog/entry/bug_hiding_systems-2005-07-30-06-25.html">describes</a> the trouble for distros trying to provide security updates for Mozilla:</p>
<blockquote><p>
That&#8217;s right, this bug, which is for a security hole that was fixed two weeks ago, is not being dislosed until apparently, August 1st. Same is true for several others of the holes fixed in recent versions. That&#8217;s two weeks for distibutions that have to backport these fixes to race against black hats to see who can track down the hole in all the other changes in the new mozilla release, and respectively fix and exploit it.</p>
<p>And so Ubuntu has <a href="http://www.ubuntulinux.org/support/documentation/usn/usn-155-1">decided</a> to backport the new mozilla versions into their releases instead of backporting fixes, while Debian stable has decided to <a href="http://www.infodrom.org/~joey/log/?200507300606">bow out of the race</a>. Both understandable decisions in their own contexts.
</p></blockquote>
<img src="http://buglinks.puzzling.org/?ak_action=api_record_view&id=65&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://buglinks.puzzling.org/archives/2005/07/mozilla-security-policy-makes-it-hard-for-distros/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
