Windows 7, 32 bit and 64 bit, Windows XP (limited testing)

No, CodeReport operates without the need of a tester environment, simulator, or other ATE-specific requirements.  All you need is your test program.

CodeReport opens binary versions (.xls, .xslx, .xlsm) and ASCII-Util versions of Teradyne J750, Teradyne Integraflex, and Teradyne Ultraflex test programs as well as Advantest 93K test programs.

CodeReport generates detailed reports in Excel 2007 (*.xlsx) and Excel ’97 (*.xls).

Yes, a license is required to run CodeReport.  You can download, install, and run CodeReport without a license but all analysis capability is disabled.  Demo mode does allow you to create Custom Rules and the ability to save Session files is enabled but all analysis is disabled.

The MAC address of your computer’s network adapter is needed to generate a unique license file for running CodeReport.  To get the MAC address of your computer, do the following:

  1. Under the Start menu, select Accessories
  2. Click Command Prompt
  3. In the Command Prompt window, type ‘ipconfig /all’
  4. Look through the resulting output and find the physical address line for either your WIFI adapter or LAN adapter
  5. Record/Send this address when requesting a Node-locked license
Find MAC Address

Once you receive your license file, save it somewhere accessible on your computer. Next, download and install the latest version of CodeReport.  Once the install is complete, run CodeReport.  You should get a popup error saying your license file is not found or out of date.  Hit OK then in the main window, under the Edit Menu, select ‘License Manager’.   Select your type of license (Node Locked or Floating). For ‘Node Locked’, browse to the license file and hit OK.  For floating licenses, enter the license server host name and port, then select OK.  Use the ‘Server Status’ button to ensure the license manager can communicate with you license server.  Once the license file has been validated CodeReport should be operational.


To open your test program, first choose the type of test program to open using the ‘Select Tester/Program Type’ drop-down menu on the Setup page.  Next, choose the correct project type by selecting either the ‘XLSX Project’ or ‘ASCII Utils’ tab.  Use the ‘XLSX Project’ if your test program is a binary Excel program (.xls, .xlsx, or .xlsm).  If your program is saved as an ASCII Util project, use the ‘ASCII Utils’ tab.  On either tab, use the ‘Browse’ button to navigate to your test program.  Once selected, the program will load and the contents of your test program will be visible in the main Setup window.

Select Tester and Type

A Session is collection of settings and configurations for setting up CodeReport.  Once you open a test program, select the rules you want to run, create custom rules, configure your report selections, etc. then save your setup to a Session.  You can then open your Session file later and restore all of the settings, custom rules, etc.

Session files can be used for other test programs using the Overlay functionality.  Say you’ve developed a Session that has several Custom Rules and settings.  You can open a different test program (see the ‘How do I open my test program?’ FAQ above), then use the ‘Overlay Session’ functionality to apply your previous settings to the new test program.

Session Overlay

Yes, you can overlay as many Sessions as you like. If you have several different Custom Rules in different Session files and you’d like to use them all on a single program, you can Overlay each Session file and the Custom Rules will accumulate in the current setup.  You can then save a new Session that contains all the Custom Rules.  Other setup and configuration items (display and report settings, for example) will also apply but the last Session loaded will likely override most.

Once a program has loaded and the analysis has run, simply go to the Report tab and click the ‘Save Report’ button.  Alternatively, use the ‘Save Report’ menu item under the File menu.  Select the Excel file type and name for the report file and click ‘Save’.

Save Report

Master Flow files are top-level flow files.  These may contain default settings, subroutine calls, flag initialization, and binning.  Due to the possibility of unique settings in these types of flow files, CodeReport provides the Master Flow distinction.  Mark high-level flow files as a Master Flow allows for specific rule checking in these types of files.

Master Flow Files

Standard rules can be disabled by going to the Search tab and unselecting the checkbox next to the rule.  This will prevent the rule from running during the analysis.  This rule will appear in your final reports as “DISABLED” if ‘Show Disabled Rules’ parameter is set in the report settings.  You can also completely hide a rule by opening the rule (click on the rule name in the Search tab), then click the ‘Hide’ checkbox.  This will completely remove the rule from the analysis and reports.  The rule can be unhidden by opening the rule and unchecking the ‘Hide’ checkbox.

To create a Custom Rule, go to the Search tab and click the “Add Custom Rule” button near the top of the page.  Provide a name for the new rule, set the classification (Critical, Moderate, Best Practice) and enter the remaining parameters for your rule.

To add a Rule Element, click the light-blue plus button in the Rule Element window.  This will bring up the Rule Equation Builder which allows you to enter the search string, type of search (Wildcard or Perl regular expression), case sensitivity, and context.

To remove a Rule element, click the red minus button.  The associated Rule Element or operator will be deleted.

Add Remove Rule Elements

Complex Custom rules can be created by chaining together multiple Rule Elements.  Each Rule Element can be combined with other Rule Elements in AND/OR statements.  Additionally, grouping can be done with Rule Elements to create complex, multi-step verification rules.  As an example, a rule can be created that checks a test is defined in an Instance Sheet AND is used in the Flow File.

Complex Rule

The ‘Evaluate’ checkboxes tell CodeReport where to make a decision about whether or not a rule passes or fails.  The available options are: ‘each Program’, ‘each File’, ‘each Test/Func’, or ‘each Line’.  As an example, if you have three Rule Elements and select to evaluate on ‘each Line’, each of the three Rule Elements will be evaluated on each test program line.  If the three elements (or the element logic) do not evaluate as true, the rule will be logged as a failure.

Evaluate Rule

The ‘Match Count’ option allows for multiple (or zero) occurrences of the Rule Elements to match.  As an example, you can create a set of Rule Elements and specify that these rules must match exactly 3 times.  In this example, if only 2 instances are found, the rule will fail.

The ‘Match Logic’ option works with the ‘Match Count’ settings and allows for more flexibility when creating rules. To use the same example as before, you can set the ‘Match Logic’ to be ‘Pass if Count or Less Found’ and 2 instances of the rule matching will result in a passing rule (so would 3 instances) but 4 would cause a failure.

Match Count and Logic

Adding ‘AND’, ‘OR’ or grouping operators to your Rule Elements is done by clicking the ellipsis button (…) in the Rule Element editor window.

Rule Operators

After the analysis runs, CodeReport can be used to save a detailed report containing the results of the analysis.  The report contains the following pages (spreadsheets):

Summary – high-level pass/fail status and hit count for each enabled rule

Tester Resources – a list of all tester instrumentation and resources used by the selected program Flow files

Code Statistics – project and program specific details as well as info related to number of lines of code, comments, whitespace, etc

Critical/Moderate/Best Practices – each rule has a classification of one of these types.  A detailed list of the rules can be found for each of these classifications, each containing details such as the number of failures and locations within the program for the rule failure.

Capture Variables – contains the setup details for Capture Variables as well as all the values found during the search and analysis phase.

Unused Instances – a list of all Instances (tests) that are defined but not used, as well as a list of those that are used (if selected).

Rule Definition – a  list of all the currently defined rules, Standard and Custom, as well as a detailed descriptions for each.

Ignore Statements – documents the set of Ignore Statements used in the processing of the report as well as the number of times each Ignore Statement was used

Report, Rule Categories

The Report tab has a quick button near the Report Item selection box that allows for enabling/disabling many of the reporting features, such as removing Disabled Rules, Rules where no information was found, etc.  These properties can also be found under the Edit/Properties Menu item.

Report Properties

The ‘Save Pass/Fail Details’ checkboxes in the Rule Editor allow you to enable or disable the amount of details that appear in the reporting section.  As an example, it may be desirable to focus on only failing information so disabling all passing details can be used to remove the extra information associated with rules that pass.

Pass Fail Details

Yes, Standard rules can be modified.  Simply click the rule name on the Search tab and make the modifications, then click Apply.  The rule’s color will change to orange indicating it is a Standard rule with modifications.  The changes to the Standard rule will persist then next time CodeReport is opened.  To restore the rule to the default conditions, open the rule and click the ‘Restore Defaults’ button near the bottom of the rule editor.

Modified Standard Rule

Yes, a Standard rule can be copied and used as a starting point for your own Custom rule.  Simply click the Standard rule to launch the editor.  Change the name of the Standard rule to something different, then make the modifications and click ‘Apply’.  The new rule will appear in the Custom Rules section of the Search tab.

Copy Standard Rule

Any table in CodeReport can be selected and copied to the clipboard for pasting into other documents or spreadsheets.  Simply select the area to copy, type ‘Cntl-C’ and the paste into a document or table.

There is also a quick button for saving a single spreadsheet to a file.  Click this button to quickly save the current Report table to a single-spreadsheet Excel file.

Quick Save Report

The result ‘UNKNOWN’ can happen for a few different reasons. An ‘UNKNOWN’ result happens when a rule never matches or the circumstances for the rule never occurred (nothing was searched).  This is most likely because the file or spreadsheet containing a the location (the ‘Where’ and ‘Field’ in the Rule Element) was not included in the search (not selected).  As an example, if you’re trying to find tests without Soft Bin numbers but no Flow files are selected, you’ll get an ‘UNKNOWN’ result.  Check the Setup page and ensure the file or spreadsheet selections are selected for the rule in question and analyze again.

Ignore Statements are special conditions that allow you to exclude elements of your program from rule checking.  As an example, you may want to exclude or ignore all tests with the word ‘debug’ in the test name.  You can create an Ignore Statement that will identify all tests containing ‘debug’ and screen them before any of the rules are applied.  The Ignore Statement editor is very similar to the rule editor and allows for powerful search and context statements to pinpoint items to ‘ignore’.  Like most elements of CodeReport, Ignore Statements can be saved in Session files and shared between other projects using the ‘Session Overlay’ functionality.

Capture Variables can be created to search for very specific pieces of information in your test program and then hold those values in lists (arrays) for use by rules.  For example, you can create a Capture Variable that locates all tests of a certain type, then records and stores the test names of those test types.  You can then create rules that search tests with matching names and perform special processing on those test statements.  Capture Variables can be saved in Session files and shared between other projects using the ‘Session Overlay’ functionality.