Just pushed out The Debugging Book 1.3. This release adds a new chapter on “Learning from Failures”:
https://www.debuggingbook.org/html/Alhazen.html
To update your code, run
$ pip install —upgrade debuggingbook
In Python >=3.12, you may also need to update the `showast` module:
$ pip install 'showast@git+https://github.com/andreas-zeller/show_ast.git@andreas'
Full release notes: https://www.debuggingbook.org/html/ReleaseNotes.html
Learning from Failures - The Debugging Book
Given the many executions we can generate, it is only natural that these executions would also be subject to machine learning in order to learn which features of the input (or the execution) would be associated with failures.In this chapter, we study the Alhazen approach, one of the first of this kind.Alhazen by Kampmann et al. \cite{Kampmann2020} automatically learns the associations between the failure of a program and features of the input data, say "The error occurs whenever the `<expr>` element is negative"This chapter is based on an Alhazen implementation contributed by Martin Eberlein of TU Berlin. Thanks a lot, Martin!Prerequisites This chapter extends the ideas from the chapter on Generalizing Failure Circumstances.