JavaScript is not currently enabled, but is required for full CodeSonar manual search and browse functionality.

If you are viewing this file in your hub's Web GUI, enable JavaScript in your browser: you will also need it for GUI functionality.

If you opened this file directly from disk, your browser may be directly suppressing JavaScript functionality: certain browsers perform this suppression on local files (but not files delivered by web servers) for security reasons.

CodeSonar® 9.2p0 CONFIDENTIAL CodeSecure Inc
General

GUI Reference: Advanced Search

Use this page to perform a search by specifying the desired values of one or more properties in a selected search domain.

Advanced searches are significantly more expressive than ordinary full text searches, but do not capture the full expressiveness of search language searches.



Important Note: the CodeSonar Web GUI makes extensive use of JavaScript. Make sure JavaScript is enabled in your web browser.

Navigating to

The Advanced Search page can be reached from any page in the CodeSonar GUI.

From all pages: Click Advanced Search in the standard header.
By URL: http://hub_location/adv_search.html (global context)

Page Properties

Output formats none
Visibility Filter Applied none
RBAC Permissions Needed
Page AccessANALYSIS_EXISTS
G_LIST_PROPERTIES
G_LIST_USERS
PROJECT_EXISTS
Page Contents/FunctionalityNAMEDSEARCH_EXISTS
NAMEDSEARCH_READ

Contents and Usage

The following annotated screenshot shows the various parts of an Advanced Search page.

Annotated Screenshot: Advanced Search Page standard header breadcrumbs page heading domain tabs search controls search conditions standard footer

Standard Header See GUI Reference: Standard Header.
Breadcrumbs Depending on the context in which the Advanced Search link was selected.
global context: Home > Advanced Search
project context:
(for project proj_name)
Home > [Other_ProjectTree_Ancestors >] proj_name > latest_proj_analysis > Advanced Search
analysis context:
(for analysis analysis_name)
Home > [Other_ProjectTree_Ancestors >] proj_name > analysis_name > Advanced Search

where
  • Home links to the GUI Home page.
  • Together with the Home link (corresponding to the root project tree), Other_ProjectTree_Ancestors represents the project tree ancestors of the analyzed project as a >-separated sequence of project tree names. Each name links to the corresponding Project Tree page.
  • proj_name links to the corresponding Project page.
  • latest_proj_name is the most recent analysis of proj_name, and links to the corresponding Analysis page.
  • analysis_name links to the corresponding Analysis page.
Page Heading Advanced Search: <domain>
where <domain> identifies the domain tab that is currently selected.
Domain Tabs Specify search domain: Warnings, Files, Code, Procedures, Metrics, Analyses, or Projects.

The Warnings, Files, Analyses, and Projects tabs are always available. The Code, Procedures, and Metrics tabs are only available if the Advanced Search link was selected from a page related to a specific analysis. For the purpose of this determination, a Project page is considered to be related to the most recent analysis of that project.
Advanced Search is not currently available for the Users domain.

(Note: When a GUI page is related to a particular analysis A, we say that A is the focal analysis of that page.)

Search Controls Every tab has basic search controls at the top.

annotated screenshot fragment: search controls

  • saved search selector: lists the saved searches (in the relevant domain) for which you hold NAMEDSEARCH_EXISTS. Select the name of a saved search to execute that search. You will not need to click the Search button.

    The scope in which the search will be executed depends on a number of factors. In particular, it is always independent of the focal analysis of the Advanced Search page, and independent of the scope selector (see below) setting. See Searching: Saved Search Execution Scope for details.

    Note that only the named search will be executed: any values you have entered elsewhere on the Advanced Search page will be ignored.

  • scope selector: lists the available search scopes.
    • For the Warnings and Files domains, the available scopes are
      • the focal analysis (if any)
      • all projects, most recent analyses
      • all projects, all analyses
    • For Code, Procedures, and Metrics, the only available scope is the focal analysis.
    • For Analyses, there are two available scopes:
      • all projects, most recent analyses
      • all projects, all analyses.
    • For Projects, the only available scope is "all projects".

    Searches for Code, Procedures, and procedure-granularity Metrics are carried out in the project analysis directory (pfilesname.prj_files/) associated with the focal analysis. The contents of this directory may have been replaced since the focal analysis was executed (for example, there might be a newer analysis of the same project). In this case the search results will include a message notifying you that the information is from a different analysis than the one you specified. For full information, see Procedures: Availability.

  • domain/scope confirmation: the currently-specified search domain and scope are noted next to the search button so that you can check them before executing the search.
  • Search button : click to execute the search you have specified using the search conditions.
Search conditions The fields in this section depend on which domain tab is selected.
Standard Footer See GUI Reference: Standard Footer.

Domain Tabs

The tables in the following sections provide full information about each search conditions that can be specified in each domain tab:

The operator applied when multiple terms are entered for a single condition is OR (at least one term must be matched). There is one exception: behavior for the field labeled "where the warning report contains..." is controlled by the "[all of | the exact phrase | at least one of]" menu provided.

Warnings Tab

Field Comparison to field contents Notes

Warning: General

Full text search; high-level location information.
where the warning report contains Full text search across all warning fields. This can be very slow in large databases: if a full text search seems to be taking a long time, try expressing your search requirements with field-specific search conditions instead.

Use the pull-down menu to specify the relationship between warning contents and the value(s) you enter. The options are:

  • all of: The search results will include only warnings that contain all the specified words. The words may appear in any order, need not appear adjacent to each other, and may even be in different fields of the warning.
  • the exact phrase: The specified words will be treated as a phrase and the search results will include only warnings that contain that exact phrase in at least one field.
  • at least one of: The search results will include only warnings that contain at least one of the specified words in at least one field.
where the warning report doesn't contain The search results will include only warnings that don't contain any of the specified words in any field.
where the project name contains Only available when scope is "all projects, most recent analyses" or "all projects, all analyses".
where the analysis name contains Only available when scope is "all projects, most recent analyses" or "all projects, all analyses".
where the file name contains  
where the file path [contains | doesn't contain] Use the pull-down menu to specify the relationship between the file path and the value(s) you enter. The options are:
  • contains ___
  • doesn't contain ___
where the procedure name contains  

Warning: Class

Information about the warning's class.
Class Name EXACT Select required warning class names from the list. The list contains all classes for which at least one warning instance has been submitted to the hub. Selections will be ORed with the conditions specified in the Class Name Contains field (if any).
Class Name Contains CONTAINS Specify a substring that must appear in the warning class name. Class name conditions specified in this field will be ORed with the class names selected from the Class Name checklist (if any).
Categories CONTAINS Specify a substring that must appear in the warning class categories string.
Significance EXACT Select required warning class significance values from the list.

Warning: Details

Specific information about the warning instance.
ID EXACT Search terms are matched against:
Score Depends on menu selection. Use the pull-down menu to specify the relationship between warning score and the value(s) you enter. The options are:
  • at least ___
  • at most ___
  • between ___ and ___
(All options are inclusive.)
Date Depends on menu selections. Use the first of the two pull-down menus to select the date field to match against: Detected, First Detected, or Modified.

Use the second menu to select a date range.

  • anytime if you don't want to restrict the date range, or
  • in the last X if any of the provided options is suitable, or
  • between... to specify your own range start and end (inclusive). Click the show all date formats link to display a list of all the formats you can use to express dates.
Line Number special  Matches against the warning's Line Number as follows.
  • num1..num2 : Line Number is between num1 and num2, inclusive.
  • ..num : Line Number is less than or equal to num.
  • num.. : Line Number is greater than or equal to num.
Source Excerpt CONTAINS  Matches against the warning's Listing.

Warning: Properties

User-modifiable properties of a warning group.
Owner EXACT  
Priority EXACT  
State EXACT  
Finding EXACT  

Files Tab

Field; comparison to field contents Notes
where the file name contains  
where the file path [contains | doesn't contain] Use the pull-down menu to specify the relationship between the file path and the value(s) you enter. The options are:
  • contains ___
  • doesn't contain ___
where the project name contains Only available when scope is "all projects, most recent analyses" or "all projects, all analyses".
where the analysis name contains Only available when scope is "all projects, most recent analyses" or "all projects, all analyses".

Code Tab

Field Comparison to field contents Notes

Code: General

Token names; location information.
where the code contains any of the tokens Each result returned by the search will describe an occurrence of a token whose name exactly matches a word specified here.
where the file name contains  
where the file path contains  

Code: Token Properties

The kind and usage of a particular token occurrence.
kind EXACT  
usage EXACT Select the usage or usages required from the list provided.
  • The list items reflect the usages that are relevant to the current kind selection.
  • If no usages are selected here, all usages will be included in the search.

Procedures Tab

Field Comparison to field contents Notes
where the procedure name contains  
where the procedure name doesn't contain  
where the file name contains  
where the file path [contains | doesn't contain] Use the pull-down menu to specify the relationship between the file path and the value(s) you enter. The options are:
  • contains ___
  • doesn't contain ___

Metrics Tab

Field Comparison to field contents Notes

Metrics: General

Specify the component search for the resulting metric report.
where the procedure name contains  
where the file name contains  
where the file path [contains | doesn't contain] Use the pull-down menu to specify the relationship between the file path and the value(s) you enter. The options are:
  • contains ___
  • doesn't contain ___

Metrics: Metric Types

Specify the metrics included in the resulting metric report. In particular, if no metric types are selected then the resulting report will always be empty. If no metrics of a given granularity were computed, the list for that granularity is omitted from the tab.
Procedure EXACT Provides a list of all procedure-granularity metrics (built-in and user-defined) computed by the focal analysis.
File EXACT Provides a list of all file-granularity metrics (built-in and user-defined) computed by the focal analysis.
Compilation Unit EXACT Provides a list of all compilation-unit-granularity metrics (user-defined only - there are no built-in ones) computed by the focal analysis.

Analyses Tab

Field Comparison to field contents Notes

Analysis: General

High-level information about the analysis and the analyzed project.
where the analysis name contains  
where the analysis name doesn't contain  
where the analysis description [contains | doesn't contain] Use the pull-down menu to specify the relationship between the analysis description and the value(s) you enter. The options are:
  • contains ___
  • doesn't contain ___
where the project name contains  

Analysis: Details

Specific information about the analysis.
Started Depends on menu selection.

Use the menu to select a date range.

  • anytime if you don't want to restrict the date range, or
  • in the last X if any of the provided options is suitable, or
  • between... to specify your own range start and end (inclusive). Click the show all date formats link to display a list of all the formats you can use to express dates.
Finished Depends on menu selection. See notes for Started.
Warning Count Depends on menu selection. Use the pull-down menu to specify the relationship between warning count and the value(s) you enter. The options are:
  • at least ___
  • at most ___
  • between ___ and ___
File Count Depends on menu selection. See notes for Warning Count.
Machine CONTAINS  
Address CONTAINS  
Install CONTAINS  
User CONTAINS  

Projects Tab

Field; comparison to field contents Notes

Project: General

High-level information about the project.
where the project name contains  
where the project name doesn't contain  
where the project description [contains | doesn't contain] Use the pull-down menu to specify the relationship between the project description and the value(s) you enter. The options are:
  • contains ___
  • doesn't contain ___

Project: Details

Specific information about the project.
Created

Use the menu to select a date range.

  • anytime if you don't want to restrict the date range, or
  • in the last X if any of the provided options is suitable, or
  • between... to specify your own range start and end. Click the show all date formats link to display a list of all the formats you can use to express dates.

Navigating from

view search results Execute a search by specifying one or more search conditions and clicking Search.

Related Tasks

 

To report problems with this documentation, please visit https://support.codesecure.com/.