Visualize your variable access to ensure the effectiveness of Concurrency Risk Reviews

  • Target Industries : Automotive/FA/Home electronics/Medical/OA and other industries
  • Target Category : Embedded Software Development Division

Shared variable automatic analysis tool

"SharedVariableChecker2" is a tool used in conjunction with the Program Analysis/Specification Creation Tool CasePlayer2 to statically analyze C source files and visualize accesses to the same global variables from different tasks and functions. Graphically representing the state of conflict and interaction of variables contributes to the identification of risk points for failures.

"SharedVariableChecker2" window

  • Feature 1
    Generates a tree diagram and report of the contention status of variables from the analysis by CasePlayer2.
    From the analysis information created using the program analysis/specification creation tool "CasePlayer2" from GAIO, the conflict status of the global variables accessed across functions is reported. Unexpected references/changes to a variable due to an interrupt that may cause a malfunction can be detected early.
  • Feature 2
    Integrated Variable Browser visualizes the access state of variables in an easy-to-understand manner
    Displays in a list or graph format which selected variables or functions are accessed through which functions for easy confirmation.

    【Main Variable Analysis Information】
    • Variables written from multiple different interrupt levels
    • Functions called from multiple different interrupt levels
    • Variables read and written from the top-level function with different cores
    • Reference only (no write) variables
    • Write-only (no reference) variables
    • Declaration-only variables
    • Functions not called from anywhere

  • Function 01

    Variable access analysis

    • Displays the access status of a variable focusing on a single variable. When the target symbols (variable names) are listed and one symbol is selected from them, access information such as writing and reading and the function tree are displayed in a graph. You can filter the target symbols (variable names) for which conflict status is displayed by selecting the "notification" option that summarizes the variable access patterns that may cause a failure.

  • Function 02

    Function access analysis

    • Displays the path where one function is called. A list of target symbols (function names) is displayed, and if a symbol is selected from among them, the function tree is displayed in a graph. It is also possible to specify and display functions that may be called from multiple interrupt levels that may cause a malfunction.
  • Function 03

    Read-only variable, write-only variable detected

    • A list of target symbols is displayed, and access information and function trees are displayed graphically when symbols (variable names) are selected from them. The function graph displays the entire tree of access to read-only variables, or the entire tree of access to write-only variables.
  • Function 04

    Interrupt disabled state can be analyzed and displayed

    • This function analyzes the processing between the interrupt-disable function and the enable function, and detects the conflict of variables based on the interrupt-enable state. Of the variables with contention access, the access state in the interrupt prohibited section is indicated by a broken line.
  • Function 05

    Displays the status of access via pointers

    • For variables and functions accessed through pointer variables, it is possible to detect these conflicts by setting entities that may be assigned to pointers.
  • Function 06

    Report access status of functions and variables to CSV files and PDF files

    • Automatically creates a report showing the access path of the selected function or variable. A list of analysis information of each variable (CSV file) and a function graph (PDF file) can be output.

      【Analysis result output】
      • Variable access analysis
      • Function access analysis
      • Read-only variables
      • Write-only variables
      • Declaration-only variables
      • Functions that are not called from anywhere

      【Screen list output】
      • Analysis conditions
      • Symbol information list
      • Access information list

      【PDF file output】
      • Function graph