The category-partition method for specifying and generating fuctional tests
Communications of the ACM
Automatic generation of test scripts from formal test specifications
TAV3 Proceedings of the ACM SIGSOFT '89 third symposium on Software testing, analysis, and verification
Communications of the ACM
Abstract interpretation and application to logic programs
Journal of Logic Programming
A general framework for semantics-based bottom-up abstract interpretation of logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Implementation-based analysis and testing of Prolog programs
ISSTA '93 Proceedings of the 1993 ACM SIGSOFT international symposium on Software testing and analysis
Precise and efficient groundness analysis for logic programs
ACM Letters on Programming Languages and Systems (LOPLAS)
Bottom-up abstract interpretation of logic programs
Theoretical Computer Science
Observable behaviors and equivalences of logic programs
Information and Computation
A Framework for Specification-Based Testing
IEEE Transactions on Software Engineering
Goal independency and call patterns in the analysis of logic programs
SAC '94 Proceedings of the 1994 ACM symposium on Applied computing
A first-order language for expressing sharing and type properties of logic programs
Science of Computer Programming - Special issue n static program analysis (SAS'98)
Software Testing
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
Fixpoint Semantics for Partial Computed Answer Substitutions and Call Patterns
Proceedings of the Third International Conference on Algebraic and Logic Programming
A Choice Relation Framework for Supporting Category-Partition Test Case Generation
IEEE Transactions on Software Engineering
Efficient groundness analysis in Prolog
Theory and Practice of Logic Programming
Goal-independent Semantics for Path Dependent Analysis of Prolog Programs
TASE '07 Proceedings of the First Joint IEEE/IFIP Symposium on Theoretical Aspects of Software Engineering
Designing prolog semantics for a class of observables
PRICAI'06 Proceedings of the 9th Pacific Rim international conference on Artificial intelligence
A novel test case generation method for prolog programs based on call patterns semantics
APLAS'07 Proceedings of the 5th Asian conference on Programming languages and systems
On the new application of call patterns to CPM testing of prolog programs
AI'06 Proceedings of the 19th Australian joint conference on Artificial Intelligence: advances in Artificial Intelligence
Integrating Software Testing and Run-Time Checking in an Assertion Verification Framework
ICLP '09 Proceedings of the 25th International Conference on Logic Programming
Hi-index | 0.00 |
Category Partition Method (CPM) is a general approach to specification-based program testing, where test frame reduction and refinement are two important issues. Test frame reduction is necessary since too many test frames may be produced, and test frame refinement is important since during CPM testing new information about test frame generation may be achieved and considered incrementally. Besides the information provided by testers or users, implementation related knowledge offers alternative information for reducing and refining CPM test frames. This paper explores the idea by proposing a call patterns semantics based test frame updating method for Prolog programs, in which a call patterns analysis is used to collect information about the way in which procedures are used in a program. The updated test frames will be represented as constraints. The effect of our test frame updating is two-fold. On one hand, it removes "uncared" data from the original set of test frames; on the other hand, it refines the test frames to which we should pay more attention. The first effect makes the input domain on which a procedure must be tested a subset of the procedure's input domain, and the latter makes testers stand more chance to find out the faults that are more likely to show their presence in the use of the program under consideration. Our test frame updating method preserves the effectiveness of CPM testing with respect to the detection of faults we care. The test case generation from the updated set of test frames is also discussed. In order to show the applicability of our method an approximation call patterns semantics is proposed, and the test frame updating on the semantics is illustrated by an example.