On composing and proving the correctness of reactive behavior

David Harel, Amir Kantor, Guy Katz, Assaf Marron, Lior Mizrahi, Gera Weiss

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

34 Scopus citations

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.

Original languageEnglish
Title of host publication2013 Proceedings of the International Conference on Embedded Software, EMSOFT 2013
PublisherInstitute of Electrical and Electronics Engineers
Pages13:1-13:10
ISBN (Print)9781479914432
DOIs
StatePublished - 1 Jan 2013
Event13th International Conference on Embedded Software, EMSOFT 2013 - Montreal, QC, Canada
Duration: 29 Sep 20134 Oct 2013

Publication series

Name2013 Proceedings of the International Conference on Embedded Software, EMSOFT 2013

Conference

Conference13th International Conference on Embedded Software, EMSOFT 2013
Country/TerritoryCanada
CityMontreal, QC
Period29/09/134/10/13

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'On composing and proving the correctness of reactive behavior'. Together they form a unique fingerprint.

Cite this