Forging a silver bullet from the essence of software
IBM Systems Journal
Failure and Fault Analysis for Software Debugging
COMPSAC '97 Proceedings of the 21st International Computer Software and Applications Conference
Prose + Test Cases = Specifications
TOOLS '00 Proceedings of the Technology of Object-Oriented Languages and Systems (TOOLS 34'00)
A Domain Coverage Metric for the Validation of Behavioral VHDL Descriptions
ITC '00 Proceedings of the 2000 IEEE International Test Conference
The Specification-Based Testing of a Trusted Kernel: MK++
ICFEM '97 Proceedings of the 1st International Conference on Formal Engineering Methods
QSIC '04 Proceedings of the Quality Software, Fourth International Conference
Using formal specifications to support testing
ACM Computing Surveys (CSUR)
Software testing research and practice
ASM'03 Proceedings of the abstract state machines 10th international conference on Advances in theory and practice
IPDPS'06 Proceedings of the 20th international conference on Parallel and distributed processing
Hi-index | 0.01 |
The partition analysis method compares a procedure's implementation to its specification, both to verify consistency between the two and to derive test data. Unlike most verification methods, partition analysis is applicable to a number of different types of specification languages, including both procedural and nonprocedural languages. It is thus applicable to high-level descriptions as well as to low-level designs. Partition analysis also improves upon existing testing criteria. These criteria usually consider only the implementation, but partition analysis selects test data that exercise both a procedure's intended behavior (as described in the specifications) and the structure of its implementation. To accomplish these goals, partition analysis divides or partitions a procedure's domain into subdomains in which all elements of each subdomain are treated uniformly by the specification and processed uniformly by the implementation. This partition divides the procedure domain into more manageable units. Information related to each subdomain is used to guide in the selection of test data and to verify consistency between the specification and the implementation. Moreover, the testing and verification processes are designed to enhance each other. Initial experimentation has shown that through the integration of testing and verification, as well as through the use of information derived from both the implementation and the specification, the partition analysis method is effective for evaluating program reliability. This paper describes the partition analysis method and reports the results obtained from an evaluation of its effectiveness.