Isolating a program from complex systems for testing is a lot of effort. Often solved with dependency injection of mocks, or exterior composition (to mocks). Mocks can drift and DI introduces codepath complexity.
So: Build mock env from specs
Distributing software libraries for multiple languages is extremely costly for a software company (such as bluesky). Quality drifts between languages, maintenance burden is huge.
So: Build _ API in our teams' lang from specs
This one might be too extravagant so we'll see, but...
Writing software for each platform (native ios, native android, web, etc) is extremely costly and requires middleware ecosystems like react native
So: Build app for target platform from specs
UB in C is not "anything you *didn't* explicitly specify to work the same way [may vary]". Almost all behavior is defined in C, with a (mostly) well-defined list of exceptions. This is very different from everything being undefined unless you explicitly nail it down