A formal method for proving programs correct

A formal method using a formal specification, called TUG (Tree Unified with Grammar) is introduced to develop software. A formal specification is written and then systematically mapped into a structured design and successively into a structured program. The mapping process is performed in terms of the patterns of Sequence, Selection, and Iteration in the specification with a set of mapping rules. The patterns build a linkage between specification, design, code, and proofs. Whenever there is a change of user requirements, the impact and changes are located and traced in the specification, design and code in terms of the patterns.