Improving symbolic execution for statechart formalisms

  • Authors:
  • Daniel Balasubramanian;Corina Păsăreanu;Michael W. Whalen;Gábor Karasi;Michael Lowry

  • Affiliations:
  • Vanderbilt University, Nashville, TN;NASA Ames Research Center, Mountain View, CA;University of Minnesota, Minneapolis, MN;Vanderbilt University, Nashville, TN;NASA Ames Research Center, Mountain View, CA

  • Venue:
  • Proceedings of the Workshop on Model-Driven Engineering, Verification and Validation
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Symbolic execution is a program analysis technique that attempts to explore all possible paths through a program by using symbolic values rather than actual data values as inputs. When applied to Statecharts, a model-based formalism for reactive systems, symbolic execution can determine all feasible paths through a model up to a specified bound and generate input sequences exercising these paths. The main drawback of this method is its computational expense. This paper describes two efforts to improve the performance of symbolic execution within our previously developed framework for Statechart analysis. One method is a multithreaded symbolic execution engine targeted directly at our framework. A second, orthogonal, method is program specialization with respect to a particular model and Statechart semantics, which uses symbolic execution to rewrite the original code into an equivalent form that has fewer instructions and is easier to analyze.