Aspect-Oriented Race Detection in Java

Free registration required

Executive Summary

In the past, researchers have developed specialized programs to aid programmers in detecting concurrent programming errors such as deadlocks, live-locks, starvation, and data races. In this paper, the authors propose a language extension to the aspect-oriented programming language AspectJ, in the form of three new point-cuts, lock (), unlock (), and maybeShared (). These point-cuts allow programmers to monitor program events where locks are granted or handed back, and where values are accessed that may be shared among multiple Java threads. They decide thread locality using a static thread-local-objects analysis developed by others. Using the three new primitive point-cuts, researchers can directly implement efficient monitoring algorithms to detect concurrent-programming errors online.

  • Format: PDF
  • Size: 2538.3 KB