1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
5 <title>Petter Reinholdtsen: entries from May
2009</title>
6 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"../../../style.css">
7 <link rel=
"alternate" title=
"RSS Feed" href=
"05.rss" type=
"application/rss+xml">
14 <a href=
"../../../">Petter Reinholdtsen
</a>
20 <p>Entries from May
2009.
</p>
25 <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>
33 <p>There are two software projects that have had huge influence on the
34 quality of free software, and I wanted to mention both in case someone
35 do not yet know them.
</p>
37 <p>The first one is
<a href=
"http://valgrind.org/">valgrind
</a>, a
38 tool to detect and expose errors in the memory handling of programs.
39 It is easy to use, all one need to do is to run 'valgrind program',
40 and it will report any problems on stdout. It is even better if the
41 program include debug information. With debug information, it is able
42 to report the source file name and line number where the problem
43 occurs. It can report things like 'reading past memory block in file
44 X line N, the memory block was allocated in file Y, line M', and
45 'using uninitialised value in control logic'. This tool has made it
46 trivial to investigate reproducible crash bugs in programs, and have
47 reduced the number of this kind of bugs in free software a lot.
50 <a href=
"http://en.wikipedia.org/wiki/Coverity">Coverity
</a> which is
51 a source code checker. It is able to process the source of a program
52 and find problems in the logic without running the program. It
53 started out as the Stanford Checker and became well known when it was
54 used to find bugs in the Linux kernel. It is now a commercial tool
55 and the company behind it is running
56 <a href=
"http://www.scan.coverity.com/">a community service
</a> for the
57 free software community, where a lot of free software projects get
58 their source checked for free. Several thousand defects have been
59 found and fixed so far. It can find errors like 'lock L taken in file
60 X line N is never released if exiting in line M', or 'the code in file
61 Y lines O to P can never be executed'. The projects included in the
62 community service project have managed to get rid of a lot of
63 reliability problems thanks to Coverity.
</p>
65 <p>I believe tools like this, that are able to automatically find
66 errors in the source, are vital to improve the quality of software and
67 make sure we can get rid of the crashing and failing software we are
68 surrounded by today.
</p>
75 Tags:
<a href=
"../../../tags/debian">debian
</a>,
<a href=
"../../../tags/english">english
</a>.
79 <div class=
"padding"></div>
81 <p style=
"text-align: right;"><a href=
"05.rss"><img src=
"../../../xml.gif" alt=
"RSS Feed" width=
"36" height=
"14"></a></p>
93 <li><a href=
"../../../archive/2009/01/">January (
8)
</a></li>
95 <li><a href=
"../../../archive/2009/02/">February (
8)
</a></li>
97 <li><a href=
"../../../archive/2009/03/">March (
12)
</a></li>
99 <li><a href=
"../../../archive/2009/04/">April (
10)
</a></li>
101 <li><a href=
"../../../archive/2009/05/">May (
1)
</a></li>
108 <li><a href=
"../../../archive/2008/11/">November (
5)
</a></li>
110 <li><a href=
"../../../archive/2008/12/">December (
7)
</a></li>
121 <li><a href=
"../../../tags/3d-printer">3d-printer (
10)
</a></li>
123 <li><a href=
"../../../tags/amiga">amiga (
1)
</a></li>
125 <li><a href=
"../../../tags/aros">aros (
1)
</a></li>
127 <li><a href=
"../../../tags/debian">debian (
8)
</a></li>
129 <li><a href=
"../../../tags/debian edu">debian edu (
6)
</a></li>
131 <li><a href=
"../../../tags/english">english (
12)
</a></li>
133 <li><a href=
"../../../tags/fiksgatami">fiksgatami (
1)
</a></li>
135 <li><a href=
"../../../tags/fildeling">fildeling (
2)
</a></li>
137 <li><a href=
"../../../tags/ltsp">ltsp (
1)
</a></li>
139 <li><a href=
"../../../tags/multimedia">multimedia (
2)
</a></li>
141 <li><a href=
"../../../tags/norsk">norsk (
39)
</a></li>
143 <li><a href=
"../../../tags/nuug">nuug (
39)
</a></li>
145 <li><a href=
"../../../tags/opphavsrett">opphavsrett (
3)
</a></li>
147 <li><a href=
"../../../tags/personvern">personvern (
5)
</a></li>
149 <li><a href=
"../../../tags/reprap">reprap (
10)
</a></li>
151 <li><a href=
"../../../tags/rss">rss (
1)
</a></li>
153 <li><a href=
"../../../tags/standard">standard (
3)
</a></li>
155 <li><a href=
"../../../tags/stavekontroll">stavekontroll (
1)
</a></li>
157 <li><a href=
"../../../tags/video">video (
6)
</a></li>
159 <li><a href=
"../../../tags/vitenskap">vitenskap (
1)
</a></li>
161 <li><a href=
"../../../tags/web">web (
4)
</a></li>