Insider Features

The Insider tool is a binary code analyzer. It disassembles and analyzes all the code in your module and displays statistical information about the code in tabular form. The information extracted for each routine includes the size of the code, the amount of constant data in the routine, the amount of local data allocated by the routine, and the number of instructions in the routine.

Insider also identifies various code patterns to aid in identifying routines that may be candidates for optimization or other types of refactoring. In addition, Quality Suite Insider creates static cross-references for the code.

Insider Routines by Source/Module grid

Routines Page

Quality Suite Insider displays the information gathered during analysis in the Main View, which, by default, is docked to the main window. The Main View consists of three report views: the primary Routines view at the top, and two smaller report views below it. The smaller view on the left shows references to the current routine. The smaller view on the right shows references from the current routine. The current routine is the routine currently selected in the main view.

The Main View can be displayed in a number of different layouts. Choose the desired layout from the combo box on the toolbar or from the context menus Current View sub-menu. The following table identifies the available built-in layouts:
 

Layout

 Result

Routines (Standard)

 Displays basic information, like code size, number instructions, amount of local data, and so on, for each routine.

Routine (Advanced)

 Displays the more specialized metrics for each routine.

Routines with Source (Standard)

 Same as Routines (Standard), but only shows routine for which line number information is available.

Routine with Source (Advanced)

 Same as Routines (Advanced), but only shows routine for which line number information is available.

Routines by Module/Scope (Standard)

 Same as Routines (Standard), but categorized on source module and scope name.

Routine by Module/Scope (Advanced)

 Same as Routines (Advanced), but categorized on source module and scope name.

Routines by Module/Scope with Source (Standard)

 Same as Routines with Source (Standard), but categorized on source module and scope name.

Routine by Module/Scope with Source (Advanced)

 Same as Routines with Source (Advanced), but categorized on source module and scope name.

Inline Candidates

 Displays the proper routines that are 6 bytes or less. The code for these routines can potentially be expanded inline at the call site.

Inline Candidates by Module/Scope

 Same as Inline Candidates but categorized on source module and scope name.

Optimization Candidates

 Displays the routines that are likely candidates for performance optimizations. Specifically, only routines that contain loops are included. In addition, a routine must contain at least one of either, word overrides, legacy instructions, stack value copying, or indirect global variable references, or either more than 32 direct calls, more than 16 indirect calls, more than 4 references to local stack data, or more than 4 references to stack- based parameters.

Optimization Candidates by Module/Scope

 Same as Optimization Candidates but categorized on source module and scope name.

Stack Metrics

 Displays all stack related metrics for each routine.

Stack Metrics by Module/Scope

 Same as Stack Metrics but categorized on source module and scope name.

 

As with all views in Quality Suite, you can define your own additional layouts using the layout designer. 

 

Common Tool Features Page

Click the link above to see the common features across all tools.

Home | Products | Nexus Quality Suite