By describing several industrial-scale applications of formal methods, we demonstrate that formal methods for software development and safety analysis are being increasingly adopted in the safety-critical systems sector. The benefits and limitations of formal methods are described, and the problems in developing software for safety-critical systems are analyzed.