Testing for concurrency in UML diagrams

  • Authors:
  • Mahesh Shirole;Rajeev Kumar

  • Affiliations:
  • Indian Institute of Technology Kharagpur, Kharagpur, India;Indian Institute of Technology Kharagpur, Kharagpur, India

  • Venue:
  • ACM SIGSOFT Software Engineering Notes
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Concurrent programming is increasingly being used in many applications with the advent of multi-cores. The necessary support for execution of multi-threading is getting richer. Notwithstanding, a concurrent program may behave nondeterministically, it may result in different outputs with the same input in different runs. The aim of this study is to generate test sequences for concurrency from unified modelling language (UML) behavioral models such as sequence and activity diagrams. Generating exhaustive test cases for all concurrent interleaving sequences is exponential in size. Therefore, it is necessary to find adequate test cases in presence of concurrency to uncover errors due to, e.g., data race, synchronization and deadlocks. In order to generate adequate test cases a novel search algorithm, which we call concurrent queue search (CQS) is proposed. The CQS handles random nature of concurrent tasks. To generate test scenarios, a sequence diagram is converted into an activity diagram. An activity diagram encapsulates sequential, conditional, iterative and concurrent ows of the control. By the experimental results, it was observed that test sequences generated by CQS algorithm are superior as compared to DFS and BFS search algorithms.