The aerospace and medical fields have done quite a bit to increase the rigor in building software, however there doesn't seem to be any push from them to codify their processes and establish some sort of push for the industry as a whole. The establishment of a true Software Engineering discipline would require some consensus on the use of formal methods in specification design, and then program verification.
The other hurdle is that you need the same rigor from your hardware designers. Just as structural engineers must rely on the rigor of steel manufacturers, we are held hostage by hardware manufacturers. Frankly the entire industry needs a wake up call.
As for formal verification, it is the mathematical proof (in the pure sense) that a program behaves exactly as speced -- the specification must also be formally verified for consistency. Currently this is only possible on relatively small programs, with the largest being several compiler back-ends being verified.
Here's a paper on what it took to formally verify the seL4 micro-kernel: http://www.sigops.org/sosp/sosp09/papers/klein-sosp09.pdf