Pruning interference and ready dependence for slicing concurrent Java programs

21Citations
Citations of this article
9Readers
Mendeley users who have this article in their library.

This article is free to access.

Abstract

In this paper, we show how previous work on escape analysis can be adapted and extended to yield a static analysis that is efficient yet effective for reducing the number of interference dependence edges considered while slicing concurrent Java programs. The key idea is to statically detect situations where run-time heap objects are reachable from a single thread and use it to prune spurious interference dependence edges. We also show how this analysis can be extended to reduce the number of ready dependence edges - dependences that capture indefinite delay due to Java synchronization constructs. The analysis we describe has been implemented in the Bandera[9] slicer which is being applied to reduce the size of software models for modelchecking. Using this implementation, we give experimental results that demonstrate the effectiveness of our approach. We believe leveraging escape information in the manner we describe is a crucial element in scaling slicing techniques to larger concurrent object-oriented programs. © Springer-Verlag : 2004.

Cite

CITATION STYLE

APA

Ranganath, V. P., & Hatcliff, J. (2004). Pruning interference and ready dependence for slicing concurrent Java programs. Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2985, 39–56. https://doi.org/10.1007/978-3-540-24723-4_4

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free