An Efficient Algorithm for Computing MHP Information for Concurrent Java Programs

  • Authors:
  • G. Naumovich;G. Avrunin;L. Clarke

  • Affiliations:
  • -;-;-

  • Venue:
  • An Efficient Algorithm for Computing MHP Information for Concurrent Java Programs
  • Year:
  • 1998

Quantified Score

Hi-index 0.00

Visualization

Abstract

Information about which statements in a concurrent program may happen in parallel (MHP) has a number of important applications. It can be used in program optimization, debugging, program understanding tools, improving the accuracy of data flow approaches, and detecting synchronization anomalies, such as data races. In this paper we propose a data flow algorithm for computing a conservative estimate of the MHP information for Java programs with a worst-case time bound that is cubic in the size of the program. To evaluate the practical precision of our algorithm, we have carried out a preliminary experimental comparison of our algorithm and a reachability analysis that determines the ideal MHP information for concurrent Java programs. This initial experiment indicates that our algorithm precisely computed the ideal MHP information in the vast majority of cases we examined. In the two out of 29 cases where our algorithm turned out to be less than ideally precise, the number of spurious pairs was small compared to the total number of ideal MHP pairs.