+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+ <head>
+ <title>Petter Reinholdtsen: entries from May 2009</title>
+ <link rel="stylesheet" type="text/css" media="screen" href="../../../style.css">
+ <link rel="alternate" title="RSS Feed" href="05.rss" type="application/rss+xml">
+ </head>
+ <body>
+<!-- XML FEED -->
+
+ <div class="title">
+ <h1>
+ <a href="../../../">Petter Reinholdtsen</a>
+
+ </h1>
+
+ </div>
+
+ <p>Entries from May 2009.</p>
+
+
+<div class="entry">
+ <div class="title">
+ <a href="../../../Two_projects_that_have_improved_the_quality_of_free_software_a_lot.html">Two projects that have improved the quality of free software a lot</a>
+ </div>
+ <div class="date">
+ 2009-05-02 15:00
+ </div>
+
+ <div class="body">
+
+<p>There are two software projects that have had huge influence on the
+quality of free software, and I wanted to mention both in case someone
+do not yet know them.</p>
+
+<p>The first one is <a href="http://valgrind.org/">valgrind</a>, a
+tool to detect and expose errors in the memory handling of programs.
+It is easy to use, all one need to do is to run 'valgrind program',
+and it will report any problems on stdout. It is even better if the
+program include debug information. With debug information, it is able
+to report the source file name and line number where the problem
+occurs. It can report things like 'reading past memory block in file
+X line N, the memory block was allocated in file Y, line M', and
+'using uninitialised value in control logic'. This tool has made it
+trivial to investigate reproducible crash bugs in programs, and have
+reduced the number of this kind of bugs in free software a lot.
+
+<p>The second one is
+<a href="http://en.wikipedia.org/wiki/Coverity">Coverity</a> which is
+a source code checker. It is able to process the source of a program
+and find problems in the logic without running the program. It
+started out as the Stanford Checker and became well known when it was
+used to find bugs in the Linux kernel. It is now a commercial tool
+and the company behind it is running
+<a href="http://www.scan.coverity.com/">a community service</a> for the
+free software community, where a lot of free software projects get
+their source checked for free. Several thousand defects have been
+found and fixed so far. It can find errors like 'lock L taken in file
+X line N is never released if exiting in line M', or 'the code in file
+Y lines O to P can never be executed'. The projects included in the
+community service project have managed to get rid of a lot of
+reliability problems thanks to Coverity.</p>
+
+<p>I believe tools like this, that are able to automatically find
+errors in the source, are vital to improve the quality of software and
+make sure we can get rid of the crashing and failing software we are
+surrounded by today.</p>
+
+ </div>
+ <div class="tags">
+
+
+
+ Tags: <a href="../../../tags/debian">debian</a>, <a href="../../../tags/english">english</a>.
+
+ </div>
+</div>
+ <div class="padding"></div>
+
+ <p style="text-align: right;"><a href="05.rss"><img src="../../../xml.gif" alt="RSS Feed" width="36" height="14"></a></p>
+
+
+
+<div id="sidebar">
+
+<h2>Archive</h2>
+<ul>
+
+<li>2009
+<ul>
+
+<li><a href="../../../archive/2009/01/">January (8)</a></li>
+
+<li><a href="../../../archive/2009/02/">February (8)</a></li>
+
+<li><a href="../../../archive/2009/03/">March (12)</a></li>
+
+<li><a href="../../../archive/2009/04/">April (10)</a></li>
+
+<li><a href="../../../archive/2009/05/">May (1)</a></li>
+
+</ul></li>
+
+<li>2008
+<ul>
+
+<li><a href="../../../archive/2008/11/">November (5)</a></li>
+
+<li><a href="../../../archive/2008/12/">December (7)</a></li>
+
+</ul></li>
+
+</ul>
+
+
+
+<h2>Tags</h2>
+<ul>
+
+ <li><a href="../../../tags/3d-printer">3d-printer (10)</a></li>
+
+ <li><a href="../../../tags/amiga">amiga (1)</a></li>
+
+ <li><a href="../../../tags/aros">aros (1)</a></li>
+
+ <li><a href="../../../tags/debian">debian (8)</a></li>
+
+ <li><a href="../../../tags/debian edu">debian edu (6)</a></li>
+
+ <li><a href="../../../tags/english">english (12)</a></li>
+
+ <li><a href="../../../tags/fiksgatami">fiksgatami (1)</a></li>
+
+ <li><a href="../../../tags/fildeling">fildeling (2)</a></li>
+
+ <li><a href="../../../tags/ltsp">ltsp (1)</a></li>
+
+ <li><a href="../../../tags/multimedia">multimedia (2)</a></li>
+
+ <li><a href="../../../tags/norsk">norsk (39)</a></li>
+
+ <li><a href="../../../tags/nuug">nuug (39)</a></li>
+
+ <li><a href="../../../tags/opphavsrett">opphavsrett (3)</a></li>
+
+ <li><a href="../../../tags/personvern">personvern (5)</a></li>
+
+ <li><a href="../../../tags/reprap">reprap (10)</a></li>
+
+ <li><a href="../../../tags/rss">rss (1)</a></li>
+
+ <li><a href="../../../tags/standard">standard (3)</a></li>
+
+ <li><a href="../../../tags/stavekontroll">stavekontroll (1)</a></li>
+
+ <li><a href="../../../tags/video">video (6)</a></li>
+
+ <li><a href="../../../tags/vitenskap">vitenskap (1)</a></li>
+
+ <li><a href="../../../tags/web">web (4)</a></li>
+
+</ul>
+
+</div>
+</body>
+</html>