Object Dependencies

Identify all objects and their dependencies
in PowerBuilder, Oracle and SQL Server Code

Understand Code

Understand the Code

No Matter How Complex

Impact Analysis

Evaluate the impact of a change

Don't break your app after a change!

Download Visual Expert

Object Dependencies Features

Impact Analysis

Cross References

Avoid Regressions

  • Find calls to a certain item
  • Locate each reference at instruction level
PowerBuilder
Oracle SQL Server
CRUD MATRIX

CRUD Matrix

Review CRUD Operations

  • Assess the Impact of a DB change
  • Find objects accessing certain tables
PowerBuilder
Oracle    SQL Server
Call Graph

Call Graphs

Explore Chains of Calls

  • View chains of calls.
  • Review a business feature.
     
PowerBuilder
Oracle    SQL Server
Object Dependency Matrix

E/R Diagrams

Model your code

  • Understand the inner workings of your application.
  • Call Graphs, Impact Analysis, PBL dependencies, Data Model
PowerBuilder   Oracle   SQL Server
Calls to Web Services in PB Code

Calls to Web Services

Track PowerBuilder calls

  • From an entire PB app,
  • a selection of PBLs,
  • a selection of PB objects.
PowerBuilder
PBL Dependenccy

PBL Dependencies

Explore Dependencies at PBL Level

  • Visualize calls across PBLs.
  • Separate application modules.
     
PowerBuilder
Object Dependency Matrix

Object Dependency

Generate an ODM

  • Review references between Oracle, SQL Server & PB objects
PowerBuilder
Oracle   SQL Server
Reverse Call Graphs

Reverse Call Graphs

Recursive Impact Analysis

  • Visualize calling relationships at multiple levels
PowerBuilder
Oracle     SQL Server
Dll Dependency

Dll Dependencies

Find DLL functions called from a PB App

  • Deploy the required DLLs
  • Replace 32 bit by 64 bit DLLs
PowerBuilder

Visual Expert Features

200+ features to analyze and improve your PowerBuilder, Oracle and SQL Server code

Impact Analysis

Assess the impact of a change in your code

Estimate what you should modify to accomplish a change.
Don't break your application after a change!

  • If I change this variable, what is the effect on my code?
  • If I add a parameter to a function, what else is affected?
  • If a table or column is changed, which code should I update?

Scan for Security Vulnerabilities

Identify and fix Security issues in your code:

  • Hard coded user id & passwords 
  • Hard coded IP addresses.
  • Vulnerabilities to Injections attacks
  • Fields access/protection issues
  • Improper/unsecured use of encryption
  • and more...

Check rules for Code Security

Review CRUD Operations in Your code
(Create, Read, Update, Delete)

Generate a CRUD matrix showing which programs access your data.

For instance, which DW or Procedures Create/Read/Update/Delete which Tables.

  • Review dependencies between database and PB applications.
  • Analyze the impact of changing your database Schema, for example changing a table definition or adding an index.
  • Estimate software complexity and development efforts.
  • Find out which table is never updated, deleted from multiple places, etc.
  • Make sure every process has at least one input (R) and one output (CUD).

Generate Diagrams from your Code 

  • Visualize objects and dependencies.
  • Diagrams and source code are synchronized.
  • Select objects to generate a diagram

Visual Expert generates:

  • Data Model Diagram to document graphically database entities and their relationships. 
  • Impact Analysis Diagrams to find all references to a table, column, object, method, variable...
  • Call graphs to visualize chains of calls (multiple levels of references).
  • PBL dependency diagrams to visualize dependencies between PBLs


Visualize your code with diagrams

Explore Complex Chains of Calls

Display Call Trees: callers and callees for Functions and events.

Explore all possible execution paths.
Drill down in the code, click on referenced methods or variables to see their definitions.

Call trees help evaluate the effects of modifications to your code.

Visual Expert Call Trees

Document your Code

Create reference manuals in HTML

Update your documentation on a regular basis (scheduled job).
Document the references in your code and navigate between these using hyperlinks.
Share knowledge with teammates.

 

Improve Code Quality

Cleanup the code. Streamline maintenance efforts. Avoid unexpected behavior.

  • Identify unused objects and remove some dead code.
  • Find empty methods, duplicated objects, oversized or uncommented scripts.
  • Calculate code metrics: lines of code, number of objects, methods, variables…
  • Check naming conventions.
  • Find objects that do not inherit from an ancestor etc.
  • You can check your code against hundreds of rules

Improve Code Performance

Find slow pieces of code. Remove Bottlenecks

  • Find the slowest procedures, functions, triggers
  • Reduce the time to access a given table
  • Break down the execution time of a large object into sub-queries or instructions.
  • Decompose the performance of a chain of calls
Identify Performance Issues in your DB Code

Code Comparison

Compare 2 versions of your DB or application:

  • View differences in a container hierarchy.
  • Drill down to find relevant changes.
  • Filter changes for a given object, or object type: Userobject, Table, Procedure...
  • Filter changes in a given PBL.
  • Save “snapshots” of your code on a regular basis, and compare them anytime.
  • And more...

Understand Complex Code

Explore the application structure. Understand its inner working.

When maintaining complex Applications, you may need to learn more about the code.
In such cases, Visual Expert is the perfect companion for PowerBuilder.

Navigate in your code via hyperlinks: each reference comes with a link to the referenced item.
Tooltips provide useful information about objects, methods and variables.
Explore inheritance dependencies between PB objects.
Lots of advanced feature will screen your code under various angles.

Catch a glimpse of Visual Expert

How does it work?

  1. Code Parsers analyze your code, and store the Analysis in a Repository.
  2. You can then query this repository to learn more about your code
  3. Standalone configurations (Professional Edition) run all components on a single PC.
    Recommended for small/medium volumes of code.
  4. In Client/Server configurations (Team System), Code Analyzers and Repository reside on a server. Developers run a VE client on their PC and access the shared Repository.
  5. Code Analysis and Documentation are automatically generated with Scheduled Jobs.

Visual Expert Professional

When analyzing small volumes of code ortrying Visual Expert, you can run it locally on a developer PC.

Visual Expert Standalone License

Standalone Configuration
The Developer run all Visual Expert components on his PC.

Visual Expert Team System

For large volumes of code, and for sharing analyses between team members, Visual Expert will run on a server.

Visual Expert Team System

Client/Server Configuration
The Server automatically analyses the code on a scheduled basis.
Developers run a Visual Expert client, query the Server and leverage up-to-date code analyses.

Visual Expert Pricing

Standalone License

Yearly Subscription • User

Standalone License

Perpetual • User

Floating License

Concurrent User Licenses
  • Contact us
  • Installation on a server with Floating Licenses
  • No named user license constraint
  • Unlimited install of Visual Expert clients
  • Collaborative Features included
  • Get a quote

Feedback from our clients