 | Lexient's main product is a code analyzer called
Surveyor.
Surveyor helps reduce the costs associated
with development activities by instantly providing developers
with the information they need to rapidly understand
their source code. It fosters collaboration
between team members, and provides facilities for instantly
answering development questions that used to take weeks. Surveyor's
thorough code analysis mechanisms lead to a
reduction in integration, maintenance, and conversion project
timelines of 20-50%, and an ROI of less than 30 days.
Some of Surveyor's features include:
 |
 |
Support for several popular
languages, include C/C++, Java, VB/VB.NET |
 |
 |
|
 |
 |
Multiple code analysis modes,
including: |
 |
 |
 |
 |
Browse - click on project or code
entities like files, classes, functions, or variables
to see how entities are related to others in the project
- whatever you click on becomes the focal point of
all of Surveyor's views, including metrics, use, flow
chart, code editor, and other windows |
Example |
 |
 |
Structure - a means of completely
configuring the information displayed in the graphical
map, which enables you to better understand a chain
of execution, the impact of code changes, how well
test cases exercised your code, and so on. |
Example |
 |
 |
UML - shows navigable UML diagrams
for the current project, either by classes or files.
These help to understand the interfaces, collaborations,
and relationships of your existing code, and include
information about inheritance/generalization, aggregation,
as well as associations. |
Example |
 |
 |
Control Flow - shows the sequence
and conditionality of function calls and variable
usage in code |
Example |
|
 |
 |
Multiple display windows,
including: |
 |
 |
 |
 |
Graph Window - pictorially represents
specific symbols and how they relate to each other.
Enables you to visualize the structure and dependencies
inherent in your code. |
Example |
 |
 |
List Window - describes various
characteristics, (such as physical location, metrics,
or scope) about entities present in your code. |
Example |
 |
 |
File Browser - provides navigation
capabilities, and also shows relationships, metrics,
and members for that particular file. |
Example |
 |
 |
Class Browser - provides navigation
capabilities, and also shows relationships, metrics,
and members for that particular class. |
Example |
 |
 |
File Editor - provides a variety
of features to help you efficiently read, navigate,
and edit your software, or your current editor can
be integrated with Surveyor. |
Example |
 |
 |
Use Browser - helps you understand
where and how a particular symbol is used. The source
code for all the uses of a particular symbol can be
displayed, and usage types can be filtered out. |
Example |
 |
 |
Grep Tool - enables you to locate
text strings in your source code, and allows you to
scope your search, see the results in context, and
quickly and easily navigate to the source files containing
the strings. |
 |
 |
Flow Chart - provides control
flow/program logic diagrams, and is tightly linked
with your designated file editor to enhance navigation. |
Example |
 |
 |
Metrics Tool - provides sortable
quantitative measurements of your code, at the file,
class, function, or variable level. |
Example |
 |
 |
Reports - several reports are
available, showing for example an overview and inventory
of files or classes in a project. |
Example |
 |
 |
Information Overlay - this provides
additional, detailed information about a particular
symbol, including the type, scope, file location,
and associated metrics. |
Example |
|
 |
 |
A variety of querying
facilities |
 |
 |
 |
 |
Select - identifying symbols that
meet certain criteria, thereby controlling what is
highlighted in the various display windows |
 |
 |
Find - enables you to search for
symbols based on the symbols' attributes. Attributes
range from fundamental descriptions of the symbol,
such as the name and type, to less essential characteristics,
such as the symbol's file location and when that file
was last changed. |
 |
 |
Traverse functions - enables you
to automate the process of tracing relationships between
symbols. For example, intersections between two functions
would show the ancestors or descendants that the selected
symbols have in common. |
 |
 |
Grouping functions - enables you
to simplify a complex code model by condensing symbols
together. For example, to see the relationships between
two applications, condense all of the functions of
one applications into a single group, and see the
call relationships between it and the other. |
 |
 |
Filter functions - enables you
to simplify a complex code model by hiding symbols
from the display. For example, all local variables,
or library functions could be hidden by adjusting
the filter. |
 |
 |
AutoQuery - for help in learning
how to perform queries, or to perform common queries
with a few keystrokes. |
Example |
|
 |
 |
Automatically create comprehensive documentation |
 |
 |
 |
 |
Documentation includes overviews,
extracted comments, use, navigable cross reference
diagrams, dependencies, metrics, flow charts, and
archived versions of code present in the project. |
Sample
Documentation |
 |
 |
Files, classes, functions, library
functions, macros, variables, types, and predefined
types are included in the documentation. |
 |
 |
File formats include HTML, RTF,
ASCII |
|
 |
 |
Surveyor will build an extensive metadatabase
which contains information to help you analyze your source
code |
 |
 |
 |
 |
Symbols supported include directories,
files, classes, functions, macros, variables, and
data types. |
|
 |
 |
Relationships supported include
aggregates, base classes, calls, contains, declares,
depends on, has friend, has type, includes, links
to, overridden by, read and sets. |
More
Info |
 |
 |
Attributes are specific to the
type of symbol they describe, but always include the
type, scope, and line number of the code where the
symbol is defined or declared. In addition, dozens
of metrics are calculated to better understand and
improve the quality of your code. |
More
Info |
|
For more information on how Surveyor, the
automated code analyzer can help you solve your development
issues, click on one of the links above or to the left.
|