OverviewChecklipse is a tool designed to help Eclipse developers find some common error patterns in their code before the code is deployed. Checklipse uses lightweight static analysis of Java sources to detect potential errors. The errors are then presented to the user for review. The goal of Checklipse is to help core Eclipse developers as well as plugin authors find serious errors in their code. We are currently seeking feedback from Eclipse developers on whether the tool is useful and how many errors it pinponts are actually serious. A beta version of Checklipse is available for download and we would be happy to hear about your experience with it. DocumentationFor more information about Checklipse and the bugs we have found with it, please refer to a short paper we have written on this subject. Error Patterns
The following types of errors are currently detected by Checklipse:
super.In many cases, Eclipse APIs mandate calling super.m(..) when implementing method m in a subclass.
When subclassing Eclipse components such as ViewPart, etc. programmers
often forget to call super.m(...) on all execution paths through
m. This can lead to errors later in program execution.
dispose.Method dispose defined in many classes in Eclipse code is commonly
used to releases whatever resources the current object may be referring to. Doing
so allows the garbage collector For more on SWT resource management, refer to
"SWT: The Standard Widget Toolkit. PART 2: Managing Operating System Resources" and
"User interface resources".
Failing to remove listeners. We are looking for more common error patterns to check for in Eclipse code; please feel free to make suggestions. Using the Tool
Extend super viewer
The first column lists methods that fail to call ![]() Dispose viewer
For each class implementing method ![]() Lapsed listener viewer
The lapsed listener viewer shows calls related to listener registration and un-registration.
Matched calls to ![]() DownloadA beta version of Checklipse is available for download. It is compatible with Eclipse version 3.1. Checklipse sources are available from SourceForge. ContactWe are looking for ideas on how to make Checklipse better. Please feel free to ask questions and make suggestions about the tool. Contact Benjamin Livshits via email. |