Media Summary: Debugging is a dirty job, but you've gotta do it. Here are some tips. Textbook: Representation invariants can be implemented and used to "Bugs" are not the best term for thinking about errors in programs. "Faults" and "failures" are better. Textbook: ...
Bisect Ocaml Programming Chapter 6 - Detailed Analysis & Overview
Debugging is a dirty job, but you've gotta do it. Here are some tips. Textbook: Representation invariants can be implemented and used to "Bugs" are not the best term for thinking about errors in programs. "Faults" and "failures" are better. Textbook: ... The goal of testing is to expose the existence of faults. Automated unit and regression testing are especially important. Textbook: ... Developing an implementation of a data abstraction, as an ongoing example of the documentation that implementers need ... What information should documentation provide vs reveal? Good specifications abstract by hiding information about ...
Abstraction functions are...abstract. So how could you implement them? Conversion to strings is an example. Textbook: ... Structural induction can be used to prove the correctness of functions on lists Textbook: Validation is about building confidence in the correct behavior of a Equational reasoning provides a basic proof format for correctness proofs about functional programs Textbook: ... The correctness of a data-abstraction operation can be understood using abstraction functions, representation invariants, and ... QCheck is an automated tool for randomized property-based testing of
Glass-box testing methodologies: statement, condition, and path coverage Textbook: I will live code a path tracer based on Peter Shirley's fantastic book series "Ray Tracing in a Weekend" in the