Chapter

NASA Formal Methods

Volume 7226 of the series Lecture Notes in Computer Science pp 295-309

Efficient Symbolic Execution of Value-Based Data Structures for Critical Systems

  • Jason BeltAffiliated withKansas State University
  • , RobbyAffiliated withKansas State University
  • , Patrice ChalinAffiliated withKansas State University
  • , John HatcliffAffiliated withKansas State University
  • , Xianghua DengAffiliated withGoogle Inc.

* Final gross prices may vary according to local VAT.

Get Access

Abstract

Symbolic execution shows promise for increasing the automation of verification tasks in certified safety/security-critical systems, where use of statically allocated value-based data structures is mandated. In fact Spark/Ada, a subset of Ada designed for verification and used for building critical systems, only permits data structures that are statically allocated. This paper describes a novel and efficient graph-based representation for programs making use of value-based data structures and procedure contracts. We show that our graph-based representation offers performance superior to a logic-based representation that is used in many approaches that delegate array reasoning to a decision procedure.