Formal Approaches to SQA
In the previous sections, we have argued which software quality is everyone's job and in which it can be achieved by competent analysis or design or coding or and testing as well as by the application of formal technical reviews a multi tiered testing strategy better control of software documentation and the changes will be made to it and the application of accepted software development standards. In addition, quality can be described in terms of a broad array of measured and quality factors indirectly using a variety of metrics and indices.
Over the past 2 decades a small but vocal part of the software engineering community has argued which is a more formal approach to software quality assurance is needed. It can be argued in which a computer program is a mathematical object. The rigorous syntax and semantics can be described for every programming language and a same rigorous approach to the specification of software needs is also available. At once the needed model specification has been represented in a rigorous manner the mathematic Profs of correctness can be applied to demonstrate which program conforms actually to it specification.
Extensive information on review checklists can be found at the FTR Archive on the wall wide web.
Attempts to prove programs correct are not new Linger and Dijkstra [DIJ76] et al. [LIN79], between others advocated proofs of program correctness and tied these to the use of structured programming concepts. Presently, a number of various approaches to formal proof of correctness have been proposed.