Straight-line code is imperative code that does not involve
The notion is well-known to researchers, in particular in program synthesis, but it is hard to find a concrete definition somewhere. One could say that straight-line code means "no recursion, no looping", but I am not certain this is precise. Another definition is that straight-line code is code that does not cause non-local control flow - but that doesn't seem precise either.