Re:B-threads: programming in a way that allows for easier ch...
by Twisol on Monday July 29, 2019 @04:59PM
(#20559380)
While true, this still restricts you to learning one trace per input. With symbolic representations of a program, you can perform symbolic execution (whether in your head or using a formal tool) to understand whole classes of traces in one go.
Determinism is important, but it’s also not enough. You want some analogue of continuity / smoothness to be able to generalize observations based on one input to others that you haven’t tried.
The example with the ATM makes this clearer: by designing the system so that a trace has one clear path for a given input.
Which might not be workable for larger systems of course, but holds for certain categories of systems (like ATMs and industrial control systems).