]> pere.pagekite.me Git - homepage.git/blob - blog/archive/2009/05/index.html
Generated.
[homepage.git] / blog / archive / 2009 / 05 / index.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html>
4 <head>
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">
8 </head>
9 <body>
10 <!-- XML FEED -->
11
12 <div class="title">
13 <h1>
14 <a href="../../../">Petter Reinholdtsen</a>
15
16 </h1>
17
18 </div>
19
20 <p>Entries from May 2009.</p>
21
22
23 <div class="entry">
24 <div class="title">
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>
26 </div>
27 <div class="date">
28 2009-05-02 15:00
29 </div>
30
31 <div class="body">
32
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>
36
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.
48
49 <p>The second one is
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>
64
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>
69
70 </div>
71 <div class="tags">
72
73
74
75 Tags: <a href="../../../tags/debian">debian</a>, <a href="../../../tags/english">english</a>.
76
77 </div>
78 </div>
79 <div class="padding"></div>
80
81 <p style="text-align: right;"><a href="05.rss"><img src="../../../xml.gif" alt="RSS Feed" width="36" height="14"></a></p>
82
83
84
85 <div id="sidebar">
86
87 <h2>Archive</h2>
88 <ul>
89
90 <li>2009
91 <ul>
92
93 <li><a href="../../../archive/2009/01/">January (8)</a></li>
94
95 <li><a href="../../../archive/2009/02/">February (8)</a></li>
96
97 <li><a href="../../../archive/2009/03/">March (12)</a></li>
98
99 <li><a href="../../../archive/2009/04/">April (10)</a></li>
100
101 <li><a href="../../../archive/2009/05/">May (1)</a></li>
102
103 </ul></li>
104
105 <li>2008
106 <ul>
107
108 <li><a href="../../../archive/2008/11/">November (5)</a></li>
109
110 <li><a href="../../../archive/2008/12/">December (7)</a></li>
111
112 </ul></li>
113
114 </ul>
115
116
117
118 <h2>Tags</h2>
119 <ul>
120
121 <li><a href="../../../tags/3d-printer">3d-printer (10)</a></li>
122
123 <li><a href="../../../tags/amiga">amiga (1)</a></li>
124
125 <li><a href="../../../tags/aros">aros (1)</a></li>
126
127 <li><a href="../../../tags/debian">debian (8)</a></li>
128
129 <li><a href="../../../tags/debian edu">debian edu (6)</a></li>
130
131 <li><a href="../../../tags/english">english (12)</a></li>
132
133 <li><a href="../../../tags/fiksgatami">fiksgatami (1)</a></li>
134
135 <li><a href="../../../tags/fildeling">fildeling (2)</a></li>
136
137 <li><a href="../../../tags/ltsp">ltsp (1)</a></li>
138
139 <li><a href="../../../tags/multimedia">multimedia (2)</a></li>
140
141 <li><a href="../../../tags/norsk">norsk (39)</a></li>
142
143 <li><a href="../../../tags/nuug">nuug (39)</a></li>
144
145 <li><a href="../../../tags/opphavsrett">opphavsrett (3)</a></li>
146
147 <li><a href="../../../tags/personvern">personvern (5)</a></li>
148
149 <li><a href="../../../tags/reprap">reprap (10)</a></li>
150
151 <li><a href="../../../tags/rss">rss (1)</a></li>
152
153 <li><a href="../../../tags/standard">standard (3)</a></li>
154
155 <li><a href="../../../tags/stavekontroll">stavekontroll (1)</a></li>
156
157 <li><a href="../../../tags/video">video (6)</a></li>
158
159 <li><a href="../../../tags/vitenskap">vitenskap (1)</a></li>
160
161 <li><a href="../../../tags/web">web (4)</a></li>
162
163 </ul>
164
165 </div>
166 </body>
167 </html>