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-08(a)eckenfels.net
Read More
Suche
Verlinkung
- beschreibt[520]
- de.comp.lang.java[541]
- Buch[485]
- Wunschliste[496]
Umfrage
Inhouse Coding?
Archive
Archive
Kommentare
Bernd Eckenfels zu DSL und der gefürchtete Parser
2008-08-12 16:59
Hmm Fowler lobt die einfachen DSLs
und sagt man soll dafür einen Parse
r bauen.
Wenn man das aber jetz
t nicht m [...]
2008-08-12 16:59
Bernd Eckenfels zu Arbeitsplatz Schönheit bei der AxelSpringer AG
2008-08-12 10:35
Leider keine Antworten, aber immerh
in hab ich grade nen Artikel gefund
en der oberflächlich beschreibt, wi
e sich Ma [...]
2008-08-12 10:35
Markus Kohler zu DSL und der gefürchtete Parser
2008-08-12 09:04
Hallo Bernd,
IMHO drückt sich Fow
ler davor eine DSL Workbench zu ben
utzen weil das der schwache Punkt v
on "exter [...]
2008-08-12 09:04
Bernd Eckenfels zu Null returns in Java
2008-08-12 03:23
More discussion:
http://andyp-tw
.blogspot.com/2008/08/returning-nul
l-considered-dishonest.html
2008-08-12 03:23
Bernd Eckenfels zu Terminkonflikt
2008-07-21 20:44
Hallo Beate,
ich war leider nich
t dort. Und mich ärgert es auch, da
ss so ein Verein es nicht auf die R
eihe beko [...]
2008-07-21 20:44
Beate zu Terminkonflikt
2008-07-18 21:17
Warst du bei der Vereinsgründung? W
ie wars? Ich finde aber auch nirgen
ds was drüber. Und angeschrieben ha
tte ich a [...]
2008-07-18 21:17
wolfgang bernsdorf zu Arbeitsplatz Schönheit bei der AxelSpringer AG
2008-07-15 19:00
Umstellung auf apple pc. So schöne
pc`s
kann es nicht geben, um gerne
bei Springer zu arbeiten (Spandau)
.
2008-07-15 19:00
Bernd Eckenfels zu Review: Team Beam
2008-07-01 04:35
Es gibt ein kleines Java Programm m
it dem man auf seinen Amazon S3 Acc
ount hochladen kann. Das tool kann
auch time [...]
2008-07-01 04:35
Christian Geisert zu Nostalgie in Sachen DatenFernÜbertragung
2008-06-12 14:47
grummel Registrierung grummel l
ahme Website grummel Download sch
lecht implementiert (falscher Datei
name, kei [...]
2008-06-12 14:47
Bernd Eckenfels zu Kündigungswellen trotz Rekordumsätze
2008-05-30 00:44
Fixed :) Danke Jennifer. Ich hatte
das Archiv gesehen aber da waren ir
gendwie nicht alle Artikel zu sehen
?
2008-05-30 00:44
Blog abonnieren
Blogsphere
Letzten Monat...
Mi, 16.07.2008Software Übersetzungen
Mi, 16.07.2008Terminkonflikt
Di, 15.07.2008Visual Virtualization
Do, 10.07.2008Google Lively
Mi, 09.07.2008Optimierungen beim Java Threading
Mi, 16.07.2008Terminkonflikt
Di, 15.07.2008Visual Virtualization
Do, 10.07.2008Google Lively
Mi, 09.07.2008Optimierungen beim Java Threading
Top Referers
www.google.de (26)
www.google.at (3)
209.85.135.104 (2)
extrabot.com (2)
www.google.ch (2)
search.live.com (1)
www.eckes.org (1)
www.google.hr (1)
www.keywordspy.com (1)
www.michaelreichart.de (1)
www.google.at (3)
209.85.135.104 (2)
extrabot.com (2)
www.google.ch (2)
search.live.com (1)
www.eckes.org (1)
www.google.hr (1)
www.keywordspy.com (1)
www.michaelreichart.de (1)

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