Analyzing Regression Test Selection Techniques
IEEE Transactions on Software Engineering
On Communicating Finite-State Machines
Journal of the ACM (JACM)
An Overview of Rewrite Rule Laboratory (RRL)
RTA '89 Proceedings of the 3rd International Conference on Rewriting Techniques and Applications
Model Based Regression Test Reduction Using Dependence Analysis
ICSM '02 Proceedings of the International Conference on Software Maintenance (ICSM'02)
Simplify: a theorem prover for program checking
Journal of the ACM (JACM)
Regression test suite reduction using extended dependence analysis
Fourth international workshop on Software quality assurance: in conjunction with the 6th ESEC/FSE joint meeting
SETER: Towards Architecture-Model Based Security Engineering
International Journal of Secure Software Engineering
Hi-index | 0.00 |
This paper describes an automatic approach for selecting tests from a test suite to validate the changes made to an extended finite state machine (EFSM). EFSMs supporting variables over commonly used data types including booleans, numbers, arrays, queues, and records, and communicating with the environment using parameterized messages are considered. Changes to the EFSM add/delete/replace one or more transitions. Tests are described using a sequence of input and output messages with parameter values. We introduce a class of fully-observable tests. The description of a fully-observable test contains all the information to accurately determine the transitions executed by the test. Interaction among the EFSM transitions captured in terms of a compatibility relation is used along with a given test description to automatically identify fully-observable tests. A procedure is described for selecting a test for a given change based on accurately predicting if the test executes the change transition. We then describe how several tests can be simultaneously selected by grouping them based on overlap of their descriptions. The proposed approach has been implemented using a theorem prover and applied to several examples including protocols and web services with encouraging results.