Wong, Tse et al. entscheiden sich für die „didaktische Herangehensweise“ eines Literatur-Reviews – das Lehrbuch versucht also, die in akademischen Papers zusammengefassten Kenntnisse kompakt zu präsentieren. Das „erste“ Kapitel ist einem Überblick aller Techniken gewidmet, die das Autorenkollektiv im Laufe der nächsten Kapitel vorstellen wird.
Im zweiten Kapitel findet sich dann eine kurze Besprechung „klassischer“ Debugging-Methoden wie Breakpoints oder Logging. Dies fiel dem Rezensenten deshalb positiv auf, weil hier eine Liste von Tabellen mit „kommerziellen oder semikommerziellen“ Frameworks vorkommt, die sich „direkt“ in den praktischen Fehler-Suchprozess einbinden lassen.
„In die Wissenschaft“
Ab dem dritten Kapitel wendet sich das Buch „neuartigen“ Methoden der Fehlersuche zu. Bei der Slicing-basierten Fehlersuche handelt es sich um Verfahren, die unter Nutzung von Unittests oder sonstigen Testfällen versuchen, festzustellen, welche Teile eines (sehr komplexen) Systems wahrscheinlich für die Verursachung der vorliegenden Fehler verantwortlich sind. Diese auf den ersten Blick „verwirrend“ erscheinende Praxis ist nach Ansicht des Rezensenten ein Verfahren, das in der Praxis eingesetzt werden kann. „Ähnliches“ gilt auch für die darauf folgenden Themen der spektrumbasierten Verfahren – im Prinzip ein „ähnliches“ System, das die zurückgelieferten Werte aber etwas anders auswertet.
In beiden Kapiteln gilt dabei, dass das Autorenkollektiv nicht auf sofort umsetzbare schrittweise Anleitungen fokussiert. Stattdessen werden die verschiedenen Metriken und Paper im Detail diskutiert, in manchen Fällen finden sich Hinweise auf kommerzielle oder semikommerzielle Implementierungen, die der Leser dann aber in Eigenregie umsetzen muss.
Fehlersuche mit Machine Learning
Abseits aller von ChatGPT und Co. hervorgerufenen Panik gilt, dass Methoden der KI auch bei der Fehlersuche in Computerprogrammen hilfreich sein können. Neben auf neuronalen Netzwerken basierenden Verfahren präsentiert das Buch unter dem Schlagwort „Information Retrieval Based Techniques” Methoden, die zur Lokalisierung potenziell fehlerträchtiger Bereiche in Fehlerberichten dienen. Die präsentierten Verfahren sind durch die Bank sehr akademisch, zeigen aber, „wohin“ die Reise im Bereich Software-Debugging langfristig gehen wird.
Als Nächstes wendet sich das Buch Methoden der Fehlersuche in Tabellenkalkulationen zu. Das ist in der Praxis von immenser Bedeutung, „falsch“ parametrierte Spread-Sheets oder die in ihnen lebenden Modelle haben in der Vergangenheit Fehler verursacht, die Unternehmen mitunter mehrere Millionen US-Dollar gekostet haben.
Die letzten Kapitel wenden sich dann Generalisierungen zu, um – beispielsweise – mit den besprochenen Verfahren nach Programmen zu suchen, die mehrere Fehler aufweisen. Außerdem gibt es ein Kapitel, das sich mit „brandaktuellen“ Themen auseinandersetzt.
Das Buch ist eine „Sammlung von Meta-Papers“ verschiedener Autoren – Wong und Tse dienten lediglich als Herausgeber. Dem Lektorat ist hoch anzurechnen, dass sich das Lehrbuch trotzdem „wie aus einem Guss“ liest. Angemerkt sei allerdings, dass die besprochenen Themen aufseiten des Lesers Mithilfe und Mitdenk-Willigkeit voraussetzen. Wer „Angst“ vor Mathematik hat, wird an dem Buch nur wenig Freude haben.
Fazit
Wong und Tse präsentieren einen Überblick von allem, was im Bereich der Software-Fehlersuche das Interesse der Forscher weckt. Wer sich schon immer für „Technische Informatik“ interessiert hat und keine Mathematik-Phobie aufweist, wird den Kauf wahrscheinlich nicht bereuen. Sucht man allerdings „nur“ nach Tricks und Hacks zur Lokalisierung des Fehlers in der Handcomputer-App, so ist man hier auf dem falschen Dampfer. ||
W. Eric Wong und T. H. Tse (Hrsg.) Handbook of Software Fault Localization: Foundation and Advances Seiten: 608 Verlag: Wiley-IEEE Computer Society Pr, 2023 ISBN Print: 978-1-119-29180-0 Sprache: Englisch