Update checking in FindBugs
When FindBugs is run, it now checks for updated versions of FindBugs or plugins. As a side effect of this, our server sees a request for whether there are any updated version of FindBugs available. Third party plugins can independently receive this same information. We are recording information about the operating system, Java version, locale, and Findbugs entry point (ant, command line, GUI, etc), in order to better understand our users.
For example, here is an example of the information that would be sent to the server:
<?xml version="1.0" encoding="UTF-8"?> <findbugs-invocation version="2.0.0-rc1" app-name="UpdateChecker" app-version="" entry-point="UpdateChecker" os="Mac OS X" java-version="1.6" language="en" country="US" uuid="-4bcf8f48ba2842d2"> <plugin id="edu.umd.cs.findbugs.plugins.core" name="Core FindBugs plugin" version="2.0.0-rc1"/> <plugin id="edu.umd.cs.findbugs.plugins.appengine" name="FindBugs Cloud Plugin" version=""/> <plugin id="edu.umd.cs.findbugs.plugins.poweruser" name="Power user commnand line tools" version=""/> </findbugs-invocation>
You can run the main method of edu.umd.cs.findbugs.updates.UpdateChecker to see what would be reported for you, and whether update checking is disabled and/or redirected (e.g., run
java -classpath ~/findbugs/lib/findbugs.jar edu.umd.cs.findbugs.updates.UpdateChecker
There is one element of the information sent that needs explanation: the uuid. Since we don't report anything like username, when we receive a bunch of update checks from a particular ip address, we don't know if that is one person running FindBugs many times on a single machine, or many users running FindBugs on many different machines So we generate a random 64 bit integer, store it in the Java user preferences, and report that on each use.
Disabling or redirecting update checks
Some organizations or individuals may have policies or preferences to not let us know any information about their running of FindBugs. Note that we do not collect any information about the code being analuzed. Even so, we understand that is very important for a few of our users, and provide several ways for you to disable or redirect FindBugs update checks.