Dynamic inference of polymorphic lock types
Title | Dynamic inference of polymorphic lock types |
Publication Type | Journal Articles |
Year of Publication | 2005 |
Authors | Rose J, Swamy N, Hicks MW |
Journal | Science of Computer Programming |
Volume | 58 |
Issue | 3 |
Pagination | 366 - 383 |
Date Published | 2005/12// |
ISBN Number | 0167-6423 |
Keywords | Data races, Dynamic analysis, java, Multithreading, Type inference |
Abstract | We present FindLocks, an approach for automatically proving the absence of data races in multi-threaded Java programs, using a combination of dynamic and static analysis. The program in question is instrumented so that when executed it will gather information about locking relationships. This information is then used to automatically generate annotations needed to type check the program using the Race-Free Java type system. Programs that type check are sure to be free from races. We call this technique dynamic annotation inference. We describe the design and implementation of our approach, and our experience applying the tool to a variety of Java programs. We have found that when using a reasonably comprehensive test suite, which is easy for small programs but harder for larger ones, the approach generates useful annotations. |
URL | http://www.sciencedirect.com/science/article/pii/S0167642305000705 |
DOI | 10.1016/j.scico.2005.03.003 |