The construction of concurrent software is supported by engineering coordination abstractions that capture common patterns of communication, synchronization and process inter-connectivity. This work focuses on development of abstractions that satisfy the needs of a class of real-world problems, specifically scientific computing problems. The effectiveness of these abstractions is evaluated by applying them to the solution of real-world problems. Measurement of development costs for solutions developed using abstractions and alternative concurrent programming technologies will form the basis of empirical evaluation to characterize the relative merits of coordination abstractions.
The validation of specifications of correctness properties of concurrent software is investigated using a program flow analysis called FLAVERS. This work focuses on incorporation of abstractions in FLAVERS to increase both the speed of analysis and the accuracy of analysis results. Evaluation of the effectiveness of FLAVERS is assessed by applying it to the verification of common classes of correctness properties and to real-world concurrent applications, such as those built with coordination abstractions.