We study the verification of compositions of Web Service peers which interact asynchronously by exchanging messages. Each peer has access to a local database and reacts to user input and incoming messages by performing various actions and sending messages. The reaction is described by queries over the database, internal state, user input and received messages. We consider two formalisms for specification of correctness properties of compositions, namely Linear Temporal First-Order Logic and Conversation Protocols. For both formalisms, we map the boundaries of verification decidability, showing that they include expressive classes of compositions and properties. We also address modular verification, in which the correctness of a composition is predicated on the properties of its environment.
We present wave, a verifier for interactive, database-driven Web applications specified using high-level modeling tools such as WebML. wave is complete for a broad class of applications and temporal properties. For other applications, wave can be used as an incomplete verifier, as commonly done in software verification. Our experiments on four representative data-driven applications and a battery of common properties yielded surprisingly good verification times, on the order of seconds. This suggests that interactive applications controlled by database queries may be unusually well suited to automatic verification. They also show that the coupling of model checking with database optimization techniques used in the implementation of wave can be extremely effective. This is significant both to the database area and to automatic verification in general.
In recent research, we have proposed a framework for highlevel specification of interactive, data-driven Web applications and established theoretical foundations for their verification [4], as well as implemented a verifier called wave [3]. We propose to demonstrate a system which centers on wave and consists of various modules dealing with aspects ranging from specification of Web applications to explanation of verification results. Our demonstration will focus on features of the specification language and the verification input, output and performance.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.