BeepBeep is a lightweight runtime monitor for AJAX web applications and Java programs. It transparently checks in real time whether messages and events received and sent by an application satisfy a predefined interface specification. This specification can impose constraints on the ordering of messages, on the data values inside one or multiple messages, or a combination of both. Using BeepBeep prevents an application from sending erroneous messages or method calls, saving bandwidth, server processing time and a few bugs along the way.

How does it work?

How big is BeepBeep?

BeepBeep is composed of two files, a Javascript include (7 kb) and a .jar applet (43 kb). The Javascript can be minified, which means that the total added volume is less than 50 kb.

To execute the applet, the client requires a plain JRE; no other classes or dependencies are required by BeepBeep.

Our experiments show that for typical properties, BeepBeep adds an overhead in the range of 10 milliseconds to process and monitor each message on the client. This, in turn, might save valuable CPU time on the servers accessed by the client by preventing invalid messages from reaching them.

Main menu Logo