Maintain clean code. Improve Performance, Maintainability, and Quality.

Add a clean-up Job in a CI/CD Workflow

Visual Expert automatically detects dead code/unused objects, duplicate code, and deprecated features based on code inspection rules

  • Unused function parameters should be removed
  • Unused labels should be removed
  • Unused global variables/constants should be removed
  • Unused local variables should be removed
  • Code elements must not be unused
  • Unused event parameters should be removed
  • And more...

Explore code defects from Visual Expert Interface

And find any item impacted by code refactoring

Include Code Inspection in a CI/CD pipeline

Visual Expert can inspect code from various sources:

  • Files located somewhere in your network
  • Source controls like GIT, SVN or TFS
  • Database, for Oracle PL/SQL and SQL Server Transact-SQL code

Many options are available to run a code inspection. For instance:

  • Manually, from the Visual Expert UI, anytime you need.
  • Automatically, on a scheduled basis
  • Anytime a build is released, using Jenkins, GitLab, AzureDevops, AWS Code Commit, etc.
inspection continue du code

What type of issues are detected?

Visual Expert implements a large number of rules, to check your code under various angles and improve its security, stability, and maintainability.

Bug Flaw or mistake - other than syntax errors - that can break the application anytime. Fixing it is of highest priority.
Maintainability This quality-related issue is not a bug. It is not technically incorrect and does not prevent the application from functioning. But it makes changes way more expensive and increases the probability of introducing new bugs.
Vulnerability A flaw or weakness in code that could result in a security breach.
Security warning A piece of code that may create a security breach, but must be manually examined to determine it.
Metric Objective measurements of certain code properties or entities. Traditionally used for cost estimation, quality assurance, debugging, performance optimization, and task assignments.
Syntax error Grammatical mistake in the syntax of a phrase that can prevent the code from compiling or executing. Fixing it is of the highest priority.

Issue Severity

Not all issues are critical. Each issue is assigned a severity level to prioritize improvements.

Critical Bug that will probably alter the proper functioning of the application and must be fixed as soon as possible.
Major Security vulnerability, or bug that could possibly alter the proper functioning of the application. To be addressed as quickly as possible.
Minor Quality defect that can significantly affect the developer's productivity.
Low Quality defect that may slightly affect the developer's productivity.
Information Metric or information about the code.
 

Why Use Visual Expert Code Inspection

High-quality analysis

In-depth analysis of your PowerBuilder code based on 20+ years of experience.

Early Correction

Discover issues at an early stage to reduce the risks and the remediation costs.

Rapid Remediation

Immediately identify the code to be changed thanks to Visual Expert tools.

Continous Integration

Visual Expert integrates with Jenkins to enable continuous integration.

 

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 it works?

Visual Expert Working

Read more

Visual Expert Pricing & Editions

Feedback from our clients