Media Summary: A notion of "behavioral equality" is at the heart of reasoning about the correctness of functional programs 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

A notion of "behavioral equality" is at the heart of reasoning about the correctness of functional programs 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: ... Debugging is a dirty job, but you've gotta do it. Here are some tips. Textbook: The goal of testing is to expose the existence of faults. Automated unit and regression testing are especially important. Textbook: ... Formal verification is a technique for establishing assurance in programs using logical reasoning. It's especially appropriate for ...

Abstraction functions are...abstract. So how could you implement them? Conversion to strings is an example. Textbook: ... Glass-box testing methodologies: statement, condition, and path coverage Textbook: Equational reasoning provides a basic proof format for correctness proofs about functional programs Textbook: ... What information should documentation provide vs reveal? Good specifications abstract by hiding information about ... QCheck is an automated tool for randomized property-based testing of Developing an implementation of a data abstraction, as an ongoing example of the documentation that implementers need ...

Photo Gallery

Bisect | OCaml Programming | Chapter 6 Video 18
Equality of Expressions | OCaml Programming | Chapter 6 Video 22
Implementing Representation Invariants | OCaml Programming | Chapter 6 Video 10
Bugs | OCaml Programming | Chapter 6 Video 13
Debugging | OCaml Programming | Chapter 6 Video 20
Approaches to Testing | OCaml Programming | Chapter 6 Video 14
Formal Verification | OCaml Programming | Chapter 6 Video 21
Implementing Abstraction Functions | OCaml Programming | Chapter 6 Video 8
Glass Box Testing | OCaml Programming | Chapter 6 Video 17
Equational Reasoning | OCaml Programming | Chapter 6 Video 23
Abstraction and Specification | OCaml Programming | Chapter 6 Video 1
Randomized Testing and QCheck | OCaml Programming | Chapter 6 Video 19
View Detailed Profile
Bisect | OCaml Programming | Chapter 6 Video 18

Bisect | OCaml Programming | Chapter 6 Video 18

Bisect

Equality of Expressions | OCaml Programming | Chapter 6 Video 22

Equality of Expressions | OCaml Programming | Chapter 6 Video 22

A notion of "behavioral equality" is at the heart of reasoning about the correctness of functional programs Textbook: ...

Implementing Representation Invariants | OCaml Programming | Chapter 6 Video 10

Implementing Representation Invariants | OCaml Programming | Chapter 6 Video 10

Representation invariants can be implemented and used to

Bugs | OCaml Programming | Chapter 6 Video 13

Bugs | OCaml Programming | Chapter 6 Video 13

"Bugs" are not the best term for thinking about errors in programs. "Faults" and "failures" are better. Textbook: ...

Debugging | OCaml Programming | Chapter 6 Video 20

Debugging | OCaml Programming | Chapter 6 Video 20

Debugging is a dirty job, but you've gotta do it. Here are some tips. Textbook: https://cs3110.github.io/textbook.

Approaches to Testing | OCaml Programming | Chapter 6 Video 14

Approaches to Testing | OCaml Programming | Chapter 6 Video 14

The goal of testing is to expose the existence of faults. Automated unit and regression testing are especially important. Textbook: ...

Formal Verification | OCaml Programming | Chapter 6 Video 21

Formal Verification | OCaml Programming | Chapter 6 Video 21

Formal verification is a technique for establishing assurance in programs using logical reasoning. It's especially appropriate for ...

Implementing Abstraction Functions | OCaml Programming | Chapter 6 Video 8

Implementing Abstraction Functions | OCaml Programming | Chapter 6 Video 8

Abstraction functions are...abstract. So how could you implement them? Conversion to strings is an example. Textbook: ...

Glass Box Testing | OCaml Programming | Chapter 6 Video 17

Glass Box Testing | OCaml Programming | Chapter 6 Video 17

Glass-box testing methodologies: statement, condition, and path coverage Textbook: https://cs3110.github.io/textbook.

Equational Reasoning | OCaml Programming | Chapter 6 Video 23

Equational Reasoning | OCaml Programming | Chapter 6 Video 23

Equational reasoning provides a basic proof format for correctness proofs about functional programs Textbook: ...

Abstraction and Specification | OCaml Programming | Chapter 6 Video 1

Abstraction and Specification | OCaml Programming | Chapter 6 Video 1

What information should documentation provide vs reveal? Good specifications abstract by hiding information about ...

Randomized Testing and QCheck | OCaml Programming | Chapter 6 Video 19

Randomized Testing and QCheck | OCaml Programming | Chapter 6 Video 19

QCheck is an automated tool for randomized property-based testing of

Implementing Sets as Lists | OCaml Programming | Chapter 6 Video 5

Implementing Sets as Lists | OCaml Programming | Chapter 6 Video 5

Developing an implementation of a data abstraction, as an ongoing example of the documentation that implementers need ...