Powerful analysis capabilities:
SourceGlider gathers plenty of dataflow
information about pointers, arrays, threads, exceptions, instance objects,
statements, methods, types, packages and many other Java Elements.
Comprehensive UI:
SourceGlider can display the computed dataflow information in several ways: as an all-in-one
context report, an on-demand query tree or a metrics table.
Advanced code browsing techniques:
SourceGlider supports the innovative way of code browsing - the so-called
Query Tree. Made like the standard Type or Call Hierarchy, it supports arbitrary queries. You can navigate
between any Java Elements along your preferred dataflow paths. There's no need to open plenty of confusing views and Java editors - everything is
displayed in a single view. You can provide your own complicated queries, combined of several basic queries. Totally there are 145 predefined queries.
Performance and quality metrics:
SourceGlider includes the powerful Metrics feature, which allows to compare Java Elements by different properties, measure its metrics
and find the elements with minimum/maximum values, which mean the probable lacks of quality and performance. You can use any of 95 available metrics.
We show what variables actually refer to:
Have you ever wondered what are the actual values of string, integer and other variables? What are the actual class instances of the references?
Using the Points-to Analysis, one of the essential features of SourceGlider, this information is now available for you!
We show what values are stored in arrays:
Using our Array Analysis, based on Points-to Analysis, you can look into arrays: inspect its actual elements and their types. In fact it is more than
arrays analysis. All Java Collections are also covered by this analysis, it means that you can look into, for example, lists, vectors and maps!
This mechanism is extensible: you can provide your own collections to handle by SourceGlider.
Tracking of code changes:
Once the analysis is computed,
SourceGlider keeps track of source code changes and updates the analysis to make
it consistent with the current version of source code.
Easy code navigation:
You can navigate from
almost each Java Element in each Eclipse view and editor to its dataflow information, and vice versa.
Calculaton of all possible dataflow paths:
If your source
code depends on another part of code, you may include that part in the analysis.
For example, if you need to treat correctly the calls to the library functions,
you may include the latter in the analysis directly from their jar packages,
provided that they have an attached source code.
Analysis of non-compilable classes:
Even if source files are
incomplete or contain compilation errors, it is still possible to analyze them.
Analysis time estimations:
Before starting the analysis, SourceGlider provides the estimated analysis running time and memory being
spent. While the analysis is being computed, SourceGlider displays the profound information about the
analysis progress, memory and time.
High customization:
It is possible to fine-tune
the analysis to make it comply with the subtle user needs. SourceGlider supports several levels of analysis
configuration: you can provide the set of Compilation Units needed to
analyze, choose which types of analyses to perform, set up the options for
each analysis, configure Analysis Filters, customize SourceGlider UI.
Full Java 1.5 language coverage:
SourceGlider supports most
of the new Java 1.5 language constructions, such as generics, boxed values, enums, etc.