Prev: Subject: finding the $n$-th largest $d$-fold products
Next: A Feasible Optimal Solution to the P Versus NP Problem:
From: Patricia Shanahan on 4 May 2010 08:31 Srinu wrote: > You are correct. I was looking for little answers something like > below: > > In case of sequential programming, We define > > Partial correctness as: > "If the program terminates, it is guarenteed to produce correct > result." > > and define > > Total correctness as: > "The program is guarenteed to terminate and it is guarenteed to > produce correct result." > > But in concurrent programming we find two kinds of programs. > 1. those which terminates. > 2. those which never terminates. > > What are the definitions for partial correctness and total correctness > for these two veriety of programs? Whether the program is expected to terminate is much more significant than whether it is concurrent or not. I have written concurrent programs that are expected to terminate, and to be totally correct. On the other hand, I have also written sequential programs that are not expected to terminate, and go on running until killed externally. One could apply the total/partial correctness idea to transactions in a transaction processing program. If the non-terminating program does not have transaction-like units of work that do terminate, it is hard to see how to extend total and partial correctness to it. Patricia |