about
-
What is "Busy Waiting"?
"...a form of synchronization in which a process repeatedly checks a condition until it becomes true..."
G. R. Andrews. Concurrent Programming, Principles & Practice, Benjamin/Cummings, Redwood City, California, 1991
"Busy waiting results in a waste of system resources. Programs, that actively wait for an event, may cause a severe overhead in a multi-tasking environment and can cause system failure due to race conditions."
Johann Blieberger, Bernd Burgstaller, Bernhard Scholz, Busy Wait Analysis, Ada-Europe'2003, Toulouse, France, 2003
-
Busy Wait Analyser - BWA
"However, it is hard to detect busy waiting in existent code and therefore it is of great importance to have a static analysis tool that targets the detection of busy waiting."
Johann Blieberger, Bernd Burgstaller, Bernhard Scholz, Busy Wait Analysis, Ada-Europe'2003, Toulouse, France, 2003
This is where our project Busy Wait Analyser - BWA comes in. It takes ordinary class files as input, uses the Soot Framework to extract control flow information, and then runs the analysis described in the paper by Blieberger et al.
So it basically is a command line tool which outputs class name, method name, the source line number of the busy wait loop and the busy wait variable (In order to output line number and variable name, it is required that debug information was generated during compilation.).
There are planned to be two releases: One for compilation with javac (or similar), which will be (hopefully) platform independent and easy to use with an existing Soot installation, and one for compilation with gcj where the needed Soot sources are already integrated. The latter one should run somewhat faster...
-
Project Details & License
For Project Details see our sourceforge.net project page.
BWA is licensed under the GNU General Public License.
-
Authors & Contact
Raul Fechete
Georg Kienesberger
Peter MinarikThe links above take you to our e-mail adresses, however, if you have a general question you dare to ask in public please use our forum.
-
Acknowledgments
We would like to thank Johann Blieberger from the Technical University of Vienna for his advice and guidance throughout this project.