About Code Bubbles

Code Bubbles is a full-features integrated development environment designed to simplify programming by making it easy for the programmer to define and use working sets. Working sets here consist of the group of functions, documentation, notes, and other information that a programmer needs to accomplish a particular programming task such as adding a feature or fixing a bug. 

Code Bubbles accomplishes this by providing compact function-based views of the code (all backed by the underlying files) that are displayed in bubbles and that are easily moved around and manipulated on the screen. The bubbles are fully editable. A large bubble area lets the programmer set up different working sets simultaneously and easily move between them. 

Code Bubbles includes traditional facilties for writing code, debugging, testing, and version management. It includes experimental features for visualization, collaboration, live programming, and security checking.  New features are always under development.  The environment currently sits on top of Eclipse and is completely compatible with existing Eclipse projects.

The current version of Code Bubbles requires at least Java 10 (it works with newer versions as well), and a version of Eclipse that 


  • An experimental debugging assistant is available to help suggest bug repairs on a fault. It is available as the ROSE plugin.
  • Dark background with light text is now available.  Overview bar and top bar can now be set to be windo-shaded to provide additional space for editing.
  • Live programming, security checking, and UML editing are now available as plugin extensions rather than built into the system.
  • Code Bubbles has now been extensively tested and adapted to the Mac environment. It is also widely tested on Linux. Running the system on Windows has been tested, but not extensively.
  • Code Bubbles can work in a cloud environment, with the server running on a host machine and the client running on a separate machine.  For example, I can run Code Bubbles at home using the files and environment at Brown.  This requires a bit of setup, but works without VPN.


The original idea for Code Bubbles was developed by Andrew Bragdon when he was a Ph.D. student at Brown, working with Andy van Dam and Steven Reiss.  Andrew, along with a number of other students and staff at Brown, developed an initial prototype implementation that was used to demonstrate the feasibility and benefits of the approach.  Based on this prototype, Steven Reiss, again with the help of several undergraduates, developed a practical environment that could scale to handle larger systems.  The environment (currently about 400KLOC)  is currently being used for its own development and the development of a variety of research projects at Brown.  Much of the development of Code Bubbles was supported by the National Science Foundation. 

Since its inception, Code Bubbles has serverd as the basis for experimenting with new ideas and approaches to development tools.  Early work included a variety of collaboration tools (most not particularly well tested at this point), and a number of different visualization tools.  More recent work has looked at code search for function definition, a programmer's note book, automatic corretion of syntax errors, interactive fault localization, live programmings (called continuous execution within the environment), and security checking as the user types.  

The concepts from Code Bubbles were used to implement the Debugger Canvas extension to Visual Studios.  

The current version of Code Bubbles is maintained by Steven Reiss.  It is available as a self-installing binary distribution (downloading and running the .jar file does the installation the first time it is run), and an  open-source package on GitHub.  We are open to any suggestions for new features and to any collaborative development.       

Code Bubbles

Copyright © 2021 · All Rights Reserved · Steven Reiss