Simulating software behavior based on UML activity diagram

  • Authors:
  • Lei Yu;Xiucun Tang;Linzhang Wang;Xuandong Li

  • Affiliations:
  • Nanjing University, Nanjing, P.R. China;Jiangnan Institute of Computing Technology, Wuxi, P.R. China;Nanjing University, Nanjing, P.R. China;Nanjing University, Nanjing, P.R. China

  • Venue:
  • Proceedings of the 5th Asia-Pacific Symposium on Internetware
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

It is encouraged to develop practical approaches to ensure that the software artifacts are created as expected or defect-free as early as possible. In the industry, software analysis and testing techniques are widely used solutions for codes and executables, respectively. However, software design artifacts can only be verified by manual peer review in design phase. In this paper, we propose an approach to automatically simulate the expected software behavior depicted in UML activity diagrams. First, UML activity diagrams are parsed and initialized semantically with a concrete execution. Second, the model is symbolically executed, to collect paths, input variables, and their path conditions. Then, the path conditions are passed to a constraint solver to generate a set of concrete value of possible input variables. Final, the generated concrete input variables are semantically executed on the model to identify the defects as well as to collect the execution path. The model simulation approach reuses the design models, automates the simulation process by using model-based concolic execution, and has the advantage of visibility and observability on model simulation. In addition, we found that the solvable paths represent behavioral scenarios. While simulating the model, input values corresponding to execution paths in the model are generated automatically. They can also be used as test suites to find the inconsistency between the design and implementation. We have also developed a prototype tool to support the above process, and have conducted a trivial case study to demonstrate the applicability of our approach.