You can't really use engineering methodologies to guarantee public safety from software. Engineering wants to model behavior and add margin on the worst case scenario to make failure unlikely.
Provably correct software development is too slow and specialized to be economically feasible. Even formal correctness is not enough, you also need to defend against unpredictable hardware faults. No traditional engineering discipline needs to do this.
Provably correct software development is too slow and specialized to be economically feasible. Even formal correctness is not enough, you also need to defend against unpredictable hardware faults. No traditional engineering discipline needs to do this.