Improving the coverage criteria of UML state machines using data flow analysis

  • Authors:
  • Lionel Briand;Y. Labiche;Q. Lin

  • Affiliations:
  • Simula Research Laboratory and University of Oslo, P.O. Box 134, Lysaker, Norway;Software Quality Engineering Laboratory, Systems and Computer Engineering, Carleton University, Ottawa, Ont., Canada;Software Quality Engineering Laboratory, Systems and Computer Engineering, Carleton University, Ottawa, Ont., Canada

  • Venue:
  • Software Testing, Verification & Reliability
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

A number of coverage criteria have been proposed for testing classes and class clusters modeled with state machines. Previous research has revealed their limitations in terms of their capability to detect faults. As these criteria can be considered to execute the control flow structure of the state machine, we are investigating how data flow information can be used to improve them in the context of UML state machines. More specifically, we investigate how such data flow analysis can be used to further refine the selection of a cost-effective test suite among alternative, adequate test suites for a given state machine criterion. This paper presents a comprehensive methodology to perform data flow analysis of UML state machines—with a specific focus on identifying the data flow from OCL guard conditions and operation contracts—and applies it to a widely referenced coverage criterion, the round-trip path (transition tree) criterion. It reports on two case studies whose results show that data flow information can be used to select the best transition tree, in terms of cost effectiveness, when more than one satisfies the transition tree criterion. The results also suggest that different trees are complementary in terms of the data flow that they exercise, thus, leading to the detection of intersecting but distinct subsets of faults. Copyright © 2009 John Wiley & Sons, Ltd. This paper investigates how data flow information can be defined on UML 2.0 state machines to help select a cost-effective test suite when several alternative test suites exist. The approach is formally defined using a metamodel and OCL rules, and evaluated on two case studies. Results show that indeed data flow information is helpful, and this leads to the definition of an improved test selection criterion for UML 2.0 state machines. Copyright © 2009 John Wiley & Sons, Ltd.