As the number and significance of concurrent software systems continue to increase, the need for reliable methods to ensure that these systems behave as intended becomes more pressing. A number of very different analysis techniques have been proposed by researchers, but experience with these techniques is limited chiefly to simple academic programs and little is known about which techniques and tools are most appropriate for particular problems, or how to use the techniques effectively in practice. This project involves carrying out a series of experiments to gain information on the applicability of these techniques to real concurrent programs. These experiments include the analysis of several real programs as well as controlled experiments with special programs designed to isolate particular features identified in the analysis of real programs as having significant impact on the utility of one or more of the analysis tools. The results of those experiments will provide guidance to software developers, feedback to researchers developing analysis techniques, and a set of benchmark programs and properties that can be used in the development and evaluation of additional analysis techniques.