A Logical Framework for Software Testing

Wei Li · 2008

Summary form only given. In software testing, when testing samples contradict the specification of a software system, the best way to locate the error-making commands is logical reasoning; therefore a formal logical reasoning system might be developed for making revision of software systems. In this paper, a formal system, called R-calculus, is introduced in first order languages. It is used to spot those error-making commands which cause the contradiction to the testing example. Therefore, R-calculus helps a great deal to revise the software system. The basic form of R-calculus is a pair in which the first part is a consistent set of formulas specifying the results of the testing samples, while the second part is a specification that contradicts the first part. R-calculus consists of a set of R-rules and each R-rule is designed for one logical connective symbol or one quantifier symbol occurring in the specification. Some examples are given to demonstrate how to use the R-calculus. It is proved that R-calculus is sound and complete. A testing theorem is further proved. The theorem says that R-calculus can deduce formally all possible revisions for a specification that contradicts testing samples. It further says that some software tools can be designed and implemented on computers to revise software systems interactively with the testing engineers.

Read the paper · More papers on PaperTik