Browse by Query / News: Recent posts

BBQ enhanced with tighter UI integration

The Browse by Query query language now includes the "selection" keyword that allows you to reference items selected in the result list in the plugin or standalone UI in new queries. This makes iteratively finding a set of object to work with much easier.

The Eclipse plugin has also been enhanced to allow copying of query results to the clipboard as text. A fix to the Eclipse plugin makes it possible to jump to inner classes in the result list by clicking on them.... read more

Posted by Michael MacDonald 2011-04-22

Browse-by-Query used for Science!

Browse-by-Query was used to gather metrics on other open-source projects for a paper delivered at the Empirical Software Engineering and Measurement 2010 conference.

Posted by Michael MacDonald 2011-04-22

Language manual updated

The Browse-by-Query language manual has been updated to reflect the new features added to the language since version 0.6.3.

Posted by Michael MacDonald 2010-05-15

News on BBQ Home Page works again!

The news script for the project home page has been updated for the SourceForge site changes so clicking the links will again take you to the full news item.

Posted by Michael MacDonald 2010-05-12

New javagen version required to build source

The language enhancements in BBQ 0.7.10 mean that the generated parsers are larger-- in some cases resulting in functions too big for Java to compile. I've updated the javagen parser generator and the script to allow for these larger parsers. If you are building BBQ from source, please get the latest javagen source release (JG20100510 at\) and make the updated javagen.

Posted by Michael MacDonald 2010-05-12

BBQ 0.7.10 fixes bugs, enhances language

Add "each" value expression (value expression equivalent of "same"); also value expression when necessary. (not in manual yet)

Fix cause of database corruption where object index free list was sometimes not written to the database correctly. Updated the database version number; this will force databases to be rebuilt so the problem does not hang around unnoticed.

Add "array of" value expression to return a type that represents an array of a type. (not in manual yet)

Posted by Michael MacDonald 2010-05-10

0.7.8 fixes startup bug in Java standalone

Starting with 0.7.5, the Java standalone BBQ application had a critical bug that caused it to crash on startup if the user had never run BBQ before and did not specify a database directory on the command line. This version fixes this crash; in this circumstance, the user is asked to select an initial database directory.

Posted by Michael MacDonald 2010-02-22

0.7.7 Brings Plug-in Enhancements, Bug Fixes

Browse-by-Query 0.7.7 includes enhancements to the Eclipse plug-in (thanks to Dirk Faulhaber) that let you add items within your project to the BBQ database interactively, as an alternative to adding the whole project via the "Include in Browse-by-Query" menu item.

Bug fixes allow BBQ to successfully process classes that include parameter annotations, and fix the "all packages" set expression.

Posted by Michael MacDonald 2010-02-01

Browse by Query development moves to git

Since there've been additional developers contributing to Browse-by-Query and there were problems with the existing CVS repository (it wasn't an exact match for the required build environment) the project has switched to the git version control system. BBQ for Java 0.7.5 marks the transition, and is the last BBQ release that will be based on the CVS repository.

From now on the BBQ CVS repository is retired. Future changes will show up in, and future releases will be based off the git repository.... read more

Posted by Michael MacDonald 2010-02-01

javagen JG20091220 adds standard builds

If you wanted to work with the Browse-by-Query source, it was difficult because the javagen parser generator was itself hard to build from source. I've addressed this; the new source archive for javagen now builds with the standard ./configure; make; make install -- and so does the buildparse library ( on whiich javagen depends

Posted by Michael MacDonald 2009-12-23

BBQ for Java adds support for annotations and more

BBQ for Java 0.7.3 captures and lets you query information about exception catches, resource bundles included in analyzed jars, and annotations. All this new
functionality is experimental and not yet documented in the language manual.

The new version also includes what has proven to be the very convenient "any class" operator. The set expression

any class "classname"

will return all the classes with that name regardless of the namespace they are in. This is generally much more convenient than typing in the complete class name or keeping your import list set properly.

Posted by Michael MacDonald 2009-08-20

Performance improvements in BBQ 0.6.2

For Browse-by-Query/Java 0.6.2 the persistent data store has been refactored so maintaining the database is quicker and uses less memory (particularly valuable with the Eclipse plug-in).

Posted by Michael MacDonald 2008-11-12

Browse by Query now integrates with Visual Studio 2005

Now you can use Browse by Query for code navigation within Visual Studion 2005. The Browse-by-Query Visual Studio Add-In is now available, and it lets you compose and execute queries for BBQ C#/CIL and navigate to the results with a click within the Visual Studio IDE.

The Visual Studio Add-In is a client of and depends on the new version 0.1.5 of the BBQ for C#/CIL standalone Java application. This version also fixes several bugs in the initial version released in November. Please refer to the release notes for both these packages on the download page (
for more information.... read more

Posted by Michael MacDonald 2008-02-11

BBQ now available for C#/other CLR languages

The first publicly available version of Browse-by-Query that works with C# and other languages that use Mono or the .NET runtime has been released. BBQ for C#/CIL will analyze your assemblies and gives you the same ability to query your code as BBQ for Java.

For more information about the powerful BBQ for C#/CIL query language, see the manual: read more

Posted by Michael MacDonald 2007-11-30

bbq0.5.9 adds regular expression matching, other features

I'm pleased to announce the release of Browse-by-Query for Java version 0.5.9.

Highlights of this release include the addition of regular expression matching to the query language, and a new view in the Eclipse version that lists your custom saved expressions.

The manual has been enhanced with new examples; more usage examples for the language elements will be coming.

Looking at the manual will show that Browse-by-Query for the Common Intermediate Language is on its way. This will bring the capabilities of Browse-by-Query to C# and other languages supported by Mono and .Net. Look for more news on the initial release of BBQ-IL soon.... read more

Posted by Michael MacDonald 2007-11-26

Live Web Demo now available

Browse-by-Query is a unique concept for code navigation, reverse engineering and metrics. You can now see what it can do with a web-based demo (
Try your own query or choose one of the sample queries, and run it on a sample database with more than 200,000 methods in 24,000 classes--the Eclipse 3.1 and Browse-by-Query code base analyzed and indexed.

Posted by Michael MacDonald 2007-08-10

bbq0.5.4 New language features, tutorial in manual

Browse-by-Query 0.5.4 has been released, with improvements to the query language.

Relational operators have been added to the language, allowing you to compare counts and values in your queries.

The language also now provides a filter for finding "static" methods and fields (a long-missing feature).

A tutorial chapter has been added to the language manual, which should help give a better idea of what you can use the language for.... read more

Posted by Michael MacDonald 2007-07-11

BBQ Language manual improved

The Browse-by-Query Language manual now has cross references between each object type and the operators relevant to that object, making it far more usable:

I've also cleaned up some errors in the documentation.

The language manual is also now available as one big HTML page, which might make searching more convenient: read more

Posted by Michael MacDonald 2007-04-01

0.5.2 Release adds new objects and new capabilities

Version 0.5.2 of Browse-By-Query has been released, providing many new capabilities, plus bug-fixes and improved performance and reliability.

In addition to the objects it already tracked, Browse-by-Query tracks and lets you construct queries based on method arguments, the types of arguments, methods and fields, packages, and class containment/inner classes.

The query engine has been completely refactored, allowing a new type of query primitive, the value expression. This will allow you to make queries of your code base more easily and more expressively than before. For complete details, see the updated manual at read more

Posted by Michael MacDonald 2007-03-25

Query Language Improvements in bbq0.4.2

The new release of Browse-by-Query features improvements in the query language. It's now possible to use the set command to create a shorthand name for a transform as well as a set expression; there is a general recursive transform operator and some smaller syntax tweaks. The language manual ( has been updated to reflect these changes and has other improvements, as well.

Posted by Michael MacDonald 2006-04-29

"Quick Start" Manual Posted

To support those folks who have been downloading, I've posted basic instructions for using Browse-by-Query in each of its incarnations in a (brief) Quick Start Guide:

Posted by Michael MacDonald 2006-03-11

Browse-by-Query available as Eclipse plugin

Release 0.3.13 includes an Eclipse plugin; enter as a new update site in Eclipse to get Browse-by-Query as an Eclipse plugin. The plugin creates a new view for entering queries and integrates the query results with the search results. There's no help yet and the user interface is "rough." The Eclipse plugin will be the baseline platform for futher development of Browse-by-Query for Java. ... read more

Posted by Michael MacDonald 2006-02-25

Release with built jars

Changes to the JBuilder and standalone code to make them more forgiving of unfamiliar users; still no manual (except the language manual, though).

First release with pre-built jars, good for those who don't want to mess with the parser generator

Posted by Michael MacDonald 2005-07-21

BBQ Language Manual Available

A guide and reference manual to the BBQ language used to query Java systems is now available.

Posted by Michael MacDonald 2005-07-19