|
|
|
|
|
by AstralStorm
3065 days ago
|
|
1.b. Not debugger, but a tool like valgrind or options like address and thread sanitizer. 2. And 3. Does not help when you miss the edge cases. 4. It's called code review. And my own: run the logic through an automated theorem prover, for example Isabelle. They will instantly tell you if any invariant causes a contradiction (mistake, corner case) or it cannot deduce behaviour given prerequisites. (missing specification, probably corner case) Since it makes you write and read the code twice and forces you to think of it as necessary conditions and invariants, that alone might help. |
|