The category-partition method for specifying and generating fuctional tests
Communications of the ACM
Communications of the ACM
Abstract interpretation and application to logic programs
Journal of Logic Programming
Implementation-based analysis and testing of Prolog programs
ISSTA '93 Proceedings of the 1993 ACM SIGSOFT international symposium on Software testing and analysis
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Comparing the Galois Connection and Widening/Narrowing Approaches to Abstract Interpretation
PLILP '92 Proceedings of the 4th International Symposium on Programming Language Implementation and Logic Programming
Logic Program Testing Based on Abstract Interpretation
Proceedings of the International Conference on Formal Methods in Programming and Their Applications
Abstract Debugging of Logic Program
LOPSTR '94/META '94 Proceedings of the 4th International Workshops on Logic Programming Synthesis and Transformation - Meta-Programming in Logic
A Choice Relation Framework for Supporting Category-Partition Test Case Generation
IEEE Transactions on Software Engineering
Science of Computer Programming - Special issue: Static analysis symposium (SAS 2003)
Test frame updating in CPM testing of Prolog programs
Software Quality Control
Hi-index | 0.00 |
A natural way to generate test cases for a Prolog program is to view the call patterns of the procedures in the program as an implicit representation of the control flow graph (CFG) of the program. This paper explores the idea by proposing a call patterns-based test case generation method, where a set of call patterns or computed answers is used to describe the paths in a CFG. With a constraint-based call patterns semantics, this method is formalized. Through the use of a proper constraints solver, we can generate test cases automatically from the sets of constraints. This method can be based on any approximation of the call patterns semantics. So compared with traditional CFG-based test case generation, the method is more flexible and can be easily adapted to meet the requirements of a tester expressed by the approximation of the call patterns semantics we use.