On composing and proving the correctness of reactive behavior

  • Authors:
  • David Harel;Amir Kantor;Guy Katz;Assaf Marron;Lior Mizrahi;Gera Weiss

  • Affiliations:
  • Weizmann Institute of Science, Rehovot, Israel;Weizmann Institute of Science, Rehovot, Israel;Weizmann Institute of Science, Rehovot, Israel;Weizmann Institute of Science, Rehovot, Israel;Ben-Gurion University, Beer-Sheva, Israel;Ben-Gurion University, Beer-Sheva, Israel

  • Venue:
  • Proceedings of the Eleventh ACM International Conference on Embedded Software
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a method and a tool for composing a reactive system and for accompanying the development and documentation process with a proof of its correctness. The approach is based on behavioral programming (BP) and the Z3 SMT solver. We show how program verification can be automated and streamlined by combining properties of individual modules, specified and verified separately, with application-independent specifications both of the BP semantics and of general theories. The method may yield an exponential acceleration of the verification process when compared with model-checking the composite application. We show that formalization of properties of independent modules in preparation for the correctness proofs can be useful as documentation for future development. We view this work as a further step towards making formal correctness proofs standard practice in the development of reactive systems, and carried out by programmers at large.