In einem Blog Artikel beschreibt Joshua Bloch einen Bug in der binary-search Implementierung der Java Klassenbibliothek und schliesst die Ausührung mit der Bemerkung:
Lesebefehl für jeden Entwickler: wird sind manchmal einfach zu arrogant und unkritisch mit unserem Code. Es geht jetzt weniger um den speziellen Fehler (ich hatte den Fehler in der Zeile vermutet aber eher bei der Rundung als beim Überlauf, und das obwohl ich normalerweise versuche solche Additionen zu vermeiden)
sondern mehr um die Tatsache dass so ein trivialer Quelltext einen Fehler enthalten kann der fast 9 Jahre unbemerkt ist (und dabei Millionen von Anwendern hat, sogar in mehreren Lehrbüchern zu finden ist).
Danke an Peter Luschny (de.comp.lang.java) für den Link. Dort hält man das ganze übrigens für einen PR Gag für sein neues Buch, das jetzt auch schon auf meiner Wunschliste steht.
The binary-search bug applies equally to mergesort, and to other divide-and-conquer algorithms. If you have any code that implements one of these algorithms, fix it now before it blows up. The general lesson that I take away from this bug is humility: It is hard to write even the smallest piece of code correctly, and our whole world runs on big, complex pieces of code.
We programmers need all the help we can get, and we should never assume otherwise. Careful design is great. Testing is great. Formal methods are great. Code reviews are great. Static analysis is great. But none of these things alone are sufficient to eliminate bugs: They will always be with us. A bug can exist for half a century despite our best efforts to exterminate it. We must program carefully, defensively, and remain ever vigilant.
Lesebefehl für jeden Entwickler: wird sind manchmal einfach zu arrogant und unkritisch mit unserem Code. Es geht jetzt weniger um den speziellen Fehler (ich hatte den Fehler in der Zeile vermutet aber eher bei der Rundung als beim Überlauf, und das obwohl ich normalerweise versuche solche Additionen zu vermeiden)
sondern mehr um die Tatsache dass so ein trivialer Quelltext einen Fehler enthalten kann der fast 9 Jahre unbemerkt ist (und dabei Millionen von Anwendern hat, sogar in mehreren Lehrbüchern zu finden ist).
Danke an Peter Luschny (de.comp.lang.java) für den Link. Dort hält man das ganze übrigens für einen PR Gag für sein neues Buch, das jetzt auch schon auf meiner Wunschliste steht.
Layout by Ricky Wilson | Serendipity Template by Carl Galloway | Login
Impressum
Bernd Eckenfels
Mörscher Str. 8
76185 Karlsruhe
bernd-2012@eckenfels.net
Read More
Suche
Kategorien
Verlinkung
- beschreibt [661]
- de.comp.lang.java [680]
- Buch [878]
- Wunschliste [617]
- www.eckes.org [1]
Kommentare
2012-02-08 08:01
Bernd zu Passwortsicherheit
2012-02-04 17:28
123 zu Passwortsicherheit
2012-02-04 14:43
bl123 zu Passwortsicherheit
2012-02-04 14:25
Edith - die Zauberkünstlerin zu Passwortsicherheit
2012-02-04 13:00
Bernd zu Passwortsicherheit
2012-02-04 10:59
Oliver// zu Passwortsicherheit
2012-02-04 10:34
Christian zu Passwortsicherheit
2012-02-03 14:53

Gerade hatten wir es ja noch von Wertebereichen: hier das Verhalten von Firefox mit windows Vista (beim Download nicht im Betrieb). Negative GrößeAch ja, wer sich wundert warum ich den Firefox 1.5 für den Download benutze: der MS (Akami) Download Manag
Aufgenommen: Jun 09, 05:05