What if sensor malfunctions?, how should software act?, will it crash the plane?
If yes, then raise problem and refuse to implement / avoid killing people.
Then you have QA which should have the same questions and test plan to make sure corner cases are covered. QA is also responsible.
Then you have management which is supposed to make sure there are people skilled enough doing the above and the initial systems parts and encourage this environment.
Then you have business people to ensure sufficient resources to hire competent people above.
So what is happening is a massive problem everywhere...