Using Spark contracts to specify and verify low level requirements should be a huge time saver.
I too don't understand why everybody seems to use C/C++ nowadays. I guess commercial Ada is just too expensive.
Here's a 1/2 hour webcast on the interaction of programming language and software lifecycle costs. Not too old. https://www.vdcresearch.com/_documents/briefs/IoT/18-Control...
Here's extensive research results based on function point analysis. http://www.ifpug.org/wp-content/uploads/2017/04/IYSM.-Thirty...
Whole lotta' mything going on!
There is a group trying to bring contracts to C++, and Spark is something they have looked at for guidance. I'm not sure of the progress, last I checked there were conflicts on how to use them. That is the compiler guys wanted to use the contract to optimize farther, while the safety guys said that is insane: you don't know if the contract is proved.
And these days, using Spark, even more bugs could be detected before compilation even succeeds. But no one wanted to use it at any of my jobs, and that knowledge has mostly atrophied from disuse.