]> pere.pagekite.me Git - homepage.git/blob - blog/Two_projects_that_have_improved_the_quality_of_free_software_a_lot.html
Generated.
[homepage.git] / blog / Two_projects_that_have_improved_the_quality_of_free_software_a_lot.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 xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
4 <head>
5 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
6 <title>Petter Reinholdtsen: Two projects that have improved the quality of free software a lot</title>
7 <link rel="stylesheet" type="text/css" media="screen" href="http://people.skolelinux.org/pere/blog/style.css" />
8 <link rel="stylesheet" type="text/css" media="screen" href="http://people.skolelinux.org/pere/blog/vim.css" />
9
10
11 </head>
12 <body>
13 <div class="title">
14 <h1>
15 <a href="http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen</a>
16
17 </h1>
18
19 </div>
20
21
22 <div class="entry">
23 <div class="title">Two projects that have improved the quality of free software a lot</div>
24 <div class="date"> 2nd May 2009</div>
25 <div class="body"><p>There are two software projects that have had huge influence on the
26 quality of free software, and I wanted to mention both in case someone
27 do not yet know them.</p>
28
29 <p>The first one is <a href="http://valgrind.org/">valgrind</a>, a
30 tool to detect and expose errors in the memory handling of programs.
31 It is easy to use, all one need to do is to run 'valgrind program',
32 and it will report any problems on stdout. It is even better if the
33 program include debug information. With debug information, it is able
34 to report the source file name and line number where the problem
35 occurs. It can report things like 'reading past memory block in file
36 X line N, the memory block was allocated in file Y, line M', and
37 'using uninitialised value in control logic'. This tool has made it
38 trivial to investigate reproducible crash bugs in programs, and have
39 reduced the number of this kind of bugs in free software a lot.
40
41 <p>The second one is
42 <a href="http://en.wikipedia.org/wiki/Coverity">Coverity</a> which is
43 a source code checker. It is able to process the source of a program
44 and find problems in the logic without running the program. It
45 started out as the Stanford Checker and became well known when it was
46 used to find bugs in the Linux kernel. It is now a commercial tool
47 and the company behind it is running
48 <a href="http://www.scan.coverity.com/">a community service</a> for the
49 free software community, where a lot of free software projects get
50 their source checked for free. Several thousand defects have been
51 found and fixed so far. It can find errors like 'lock L taken in file
52 X line N is never released if exiting in line M', or 'the code in file
53 Y lines O to P can never be executed'. The projects included in the
54 community service project have managed to get rid of a lot of
55 reliability problems thanks to Coverity.</p>
56
57 <p>I believe tools like this, that are able to automatically find
58 errors in the source, are vital to improve the quality of software and
59 make sure we can get rid of the crashing and failing software we are
60 surrounded by today.</p>
61 </div>
62
63 <div class="tags">Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.</div>
64
65
66 </div>
67
68
69
70
71 <div id="sidebar">
72
73
74
75 <h2>Archive</h2>
76 <ul>
77
78 <li>2016
79 <ul>
80
81 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/01/">January (3)</a></li>
82
83 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/02/">February (2)</a></li>
84
85 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/03/">March (3)</a></li>
86
87 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/04/">April (8)</a></li>
88
89 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/05/">May (8)</a></li>
90
91 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/06/">June (2)</a></li>
92
93 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/07/">July (2)</a></li>
94
95 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/08/">August (5)</a></li>
96
97 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/09/">September (2)</a></li>
98
99 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/10/">October (3)</a></li>
100
101 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/11/">November (3)</a></li>
102
103 </ul></li>
104
105 <li>2015
106 <ul>
107
108 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/01/">January (7)</a></li>
109
110 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/02/">February (6)</a></li>
111
112 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/03/">March (1)</a></li>
113
114 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/04/">April (4)</a></li>
115
116 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/05/">May (3)</a></li>
117
118 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/06/">June (4)</a></li>
119
120 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/07/">July (6)</a></li>
121
122 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/08/">August (2)</a></li>
123
124 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/09/">September (2)</a></li>
125
126 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/10/">October (9)</a></li>
127
128 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/11/">November (6)</a></li>
129
130 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/12/">December (3)</a></li>
131
132 </ul></li>
133
134 <li>2014
135 <ul>
136
137 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/01/">January (2)</a></li>
138
139 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/02/">February (3)</a></li>
140
141 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/03/">March (8)</a></li>
142
143 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/04/">April (7)</a></li>
144
145 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/05/">May (1)</a></li>
146
147 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/06/">June (2)</a></li>
148
149 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/07/">July (2)</a></li>
150
151 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/08/">August (2)</a></li>
152
153 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/09/">September (5)</a></li>
154
155 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/10/">October (6)</a></li>
156
157 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/11/">November (3)</a></li>
158
159 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/12/">December (5)</a></li>
160
161 </ul></li>
162
163 <li>2013
164 <ul>
165
166 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/01/">January (11)</a></li>
167
168 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/02/">February (9)</a></li>
169
170 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/03/">March (9)</a></li>
171
172 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/04/">April (6)</a></li>
173
174 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/05/">May (9)</a></li>
175
176 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/06/">June (10)</a></li>
177
178 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/07/">July (7)</a></li>
179
180 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/08/">August (3)</a></li>
181
182 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/09/">September (5)</a></li>
183
184 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/10/">October (7)</a></li>
185
186 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/11/">November (9)</a></li>
187
188 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/12/">December (3)</a></li>
189
190 </ul></li>
191
192 <li>2012
193 <ul>
194
195 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/01/">January (7)</a></li>
196
197 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/02/">February (10)</a></li>
198
199 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/03/">March (17)</a></li>
200
201 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/04/">April (12)</a></li>
202
203 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/05/">May (12)</a></li>
204
205 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/06/">June (20)</a></li>
206
207 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/07/">July (17)</a></li>
208
209 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/08/">August (6)</a></li>
210
211 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/09/">September (9)</a></li>
212
213 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/10/">October (17)</a></li>
214
215 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/11/">November (10)</a></li>
216
217 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/12/">December (7)</a></li>
218
219 </ul></li>
220
221 <li>2011
222 <ul>
223
224 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/01/">January (16)</a></li>
225
226 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/02/">February (6)</a></li>
227
228 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/03/">March (6)</a></li>
229
230 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/04/">April (7)</a></li>
231
232 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/05/">May (3)</a></li>
233
234 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/06/">June (2)</a></li>
235
236 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/07/">July (7)</a></li>
237
238 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/08/">August (6)</a></li>
239
240 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/09/">September (4)</a></li>
241
242 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/10/">October (2)</a></li>
243
244 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/11/">November (3)</a></li>
245
246 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/12/">December (1)</a></li>
247
248 </ul></li>
249
250 <li>2010
251 <ul>
252
253 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/01/">January (2)</a></li>
254
255 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/02/">February (1)</a></li>
256
257 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/03/">March (3)</a></li>
258
259 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/04/">April (3)</a></li>
260
261 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/05/">May (9)</a></li>
262
263 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/06/">June (14)</a></li>
264
265 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/07/">July (12)</a></li>
266
267 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/08/">August (13)</a></li>
268
269 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/09/">September (7)</a></li>
270
271 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/10/">October (9)</a></li>
272
273 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/11/">November (13)</a></li>
274
275 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/12/">December (12)</a></li>
276
277 </ul></li>
278
279 <li>2009
280 <ul>
281
282 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/01/">January (8)</a></li>
283
284 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/02/">February (8)</a></li>
285
286 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/03/">March (12)</a></li>
287
288 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
289
290 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
291
292 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</a></li>
293
294 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/07/">July (4)</a></li>
295
296 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/08/">August (3)</a></li>
297
298 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/09/">September (1)</a></li>
299
300 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/10/">October (2)</a></li>
301
302 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/11/">November (3)</a></li>
303
304 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/12/">December (3)</a></li>
305
306 </ul></li>
307
308 <li>2008
309 <ul>
310
311 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/11/">November (5)</a></li>
312
313 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/12/">December (7)</a></li>
314
315 </ul></li>
316
317 </ul>
318
319
320
321 <h2>Tags</h2>
322 <ul>
323
324 <li><a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (13)</a></li>
325
326 <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga">amiga (1)</a></li>
327
328 <li><a href="http://people.skolelinux.org/pere/blog/tags/aros">aros (1)</a></li>
329
330 <li><a href="http://people.skolelinux.org/pere/blog/tags/bankid">bankid (4)</a></li>
331
332 <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (9)</a></li>
333
334 <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (16)</a></li>
335
336 <li><a href="http://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
337
338 <li><a href="http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (2)</a></li>
339
340 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (138)</a></li>
341
342 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (157)</a></li>
343
344 <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan (10)</a></li>
345
346 <li><a href="http://people.skolelinux.org/pere/blog/tags/dld">dld (16)</a></li>
347
348 <li><a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook (23)</a></li>
349
350 <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
351
352 <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (331)</a></li>
353
354 <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (23)</a></li>
355
356 <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (12)</a></li>
357
358 <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (28)</a></li>
359
360 <li><a href="http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (9)</a></li>
361
362 <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (18)</a></li>
363
364 <li><a href="http://people.skolelinux.org/pere/blog/tags/h264">h264 (20)</a></li>
365
366 <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju (42)</a></li>
367
368 <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (13)</a></li>
369
370 <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (19)</a></li>
371
372 <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (9)</a></li>
373
374 <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (8)</a></li>
375
376 <li><a href="http://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (2)</a></li>
377
378 <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
379
380 <li><a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (8)</a></li>
381
382 <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (39)</a></li>
383
384 <li><a href="http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (8)</a></li>
385
386 <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (280)</a></li>
387
388 <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (182)</a></li>
389
390 <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (26)</a></li>
391
392 <li><a href="http://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
393
394 <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (61)</a></li>
395
396 <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (95)</a></li>
397
398 <li><a href="http://people.skolelinux.org/pere/blog/tags/raid">raid (1)</a></li>
399
400 <li><a href="http://people.skolelinux.org/pere/blog/tags/reactos">reactos (1)</a></li>
401
402 <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap (11)</a></li>
403
404 <li><a href="http://people.skolelinux.org/pere/blog/tags/rfid">rfid (3)</a></li>
405
406 <li><a href="http://people.skolelinux.org/pere/blog/tags/robot">robot (10)</a></li>
407
408 <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
409
410 <li><a href="http://people.skolelinux.org/pere/blog/tags/ruter">ruter (4)</a></li>
411
412 <li><a href="http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
413
414 <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (52)</a></li>
415
416 <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (4)</a></li>
417
418 <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (5)</a></li>
419
420 <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (49)</a></li>
421
422 <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (4)</a></li>
423
424 <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (10)</a></li>
425
426 <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (43)</a></li>
427
428 <li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (2)</a></li>
429
430 <li><a href="http://people.skolelinux.org/pere/blog/tags/usenix">usenix (2)</a></li>
431
432 <li><a href="http://people.skolelinux.org/pere/blog/tags/valg">valg (8)</a></li>
433
434 <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (59)</a></li>
435
436 <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (4)</a></li>
437
438 <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (38)</a></li>
439
440 </ul>
441
442
443 </div>
444 <p style="text-align: right">
445 Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.6</a>
446 </p>
447
448 </body>
449 </html>