Data flow analysis for checking properties of concurrent Java programs
Proceedings of the 21st international conference on Software engineering
An efficient algorithm for computing MHP information for concurrent Java programs
ESEC/FSE-7 Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering
Context-sensitive synchronization-sensitive analysis is undecidable
ACM Transactions on Programming Languages and Systems (TOPLAS)
Hi-index | 0.00 |
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.