Module Management

  1. Creating a Module
  2. Using Mobilgene/ODIN Project Information
  3. Changing a Module
  4. Deleting a Module
  5. Browsing Module Information

Creating a Module

A module is a set of source codes and is subject to HKSAT analyses.

Select Add Module in the Module menu or in the toolbar, to open module setting dialog.

Adding Source Codes

Add Module - Source Codes
  1. Click Add button or drag-and-drop files or directories to add.
  2. Confirm the selected files
  3. After adding all source codes, click Next button.

Add Directories to Include

Add Module - Include Directories
  1. Click Add button or drag-and-drop directories to add.
  2. Confirm the selected directories
  3. After adding all directorys to include, click Next button.

Setting Compile Options

Add Module - Compile Options
  1. Add macro definition or enter compile options.
  2. Click Next button.

Validation and Pre-analysis

After entering compile options, the validation and pre-analysis are conducted based on entered information

Resolving Include Errors

When the validation and pre-analysis fails, error message appears

Directory inclusion errors can be resolved using the feature that finds missing directories.

  1. Check the type of errors, and move to the Included Dirs tab.
    Directory inclusion errors
  2. In the Included Dirs tab, click Resolve Error button.
    Resolving Error
  3. HKSAT searches missing directories and adds them.
  4. Check added directories and click Next button.
    Checking added Directories

Entering basic info.

Add Module - Basic Info
  1. Enter the name and the description.
  2. Click Next button.
  • Module name must be within 32 characters, and only a combination of English alphabet and numbers is available. Spaces, Unicode, and special characters are not available.
  • Selecting Root Functions

    Add Module - Root Functions
    1. Select root functions to be used for creating analyses.
    2. Click Create button to finish a module creation process.

    Using Mobilgene/ODIN Project Information

    A module can be created using Mobilgene/ODIN information as follows:

    1. Start to create module.
    2. If the imported Mobilgene/ODIN project information exists, a notification will pop up. Select Yes.
    3. Create New Module window opens with the Mobilgene/ODIN information entered.
    4. Modifiy the setting if required.
    5. Click Apply to create a module.

    The information used for module creation is as follows:

    Changing a Module

    To change an existing module

    1. Click Module Management in Module menu or click Manage Modules button in the toolbar to open Module View.
      Module View
    2. Select a module to change, and then click Edit button to open Edit Module window.
      Edit Module Window
    3. After a modification, click Apply button to apply the changes.

    Deleting a Module

    To delete a module

    1. Click Manage Module item in Module menu, or click Manage Module button in the toolbar to open Module View.
    2. Select modules to delete, and then click Delete button.
    3. Confirm the deletion by clicking Yes.

    Browsing Module Information

    The modules added to the project have source code information extracted from a dictionary analysis of the module creation process, which includes program basic information such as function lists, variable lists, function call relationships, and variable usage relationships. This information is easy to see using the various views provided by HKSAT.

    Function call graph

    The call relationship of functions in a module can be displayed as a function call graph. The function call graph visually shows the call relationship between functions contained in the module. The nodes in the graph display each function, and the edges show the call relationships between them. This makes it easy to understand the associated function information and the overall flow of calls.

    To display a graph of function calls in a module:

    1. Double-click the Module node in the project view.
      Call Graph

    An alternative way

    Control Flow Graph

    The control flow of a particular function can be displayed as a control flow graph. The Control Flow graph consists of a program flow chart, which visually displays control flow and details to visually show the order in which each component runs. The nodes in the graph display the components of each function, and the edges display the control flow (execution order) between them.

    To display a control flow graph of a function:

    1. Double-click the Functions node in the project view.
      Control Flow Graph

    An alternative way

    View function details

    View function details extracted from the pre-analysis. Here's what you can see:

    To view function details

    1. Float the context menu with a right mouse click on the function node in the project view or the function node in the function call graph.
      Function Context menu
    2. Select the menu item you want.

    Understand the structure of function calls

    You can use the Function Call view to recursively track function call relationships. The function call view can recursively track the function call structure, providing an intuitive understanding of the impact of related calls.

    Displays functions that call specific functions and where they are called as sub-nodes, and recursively displays them until there are no more nodes calling them. This makes it easy to understand which functions are calling a particular function and which functions are calling it.

    To display the call relationship of a particular function in the function call view

    1. Open the function call view.
    2. Select a specific function in the project view, and then drag it and drop it in the Function Call window.
      Function Call View

    An alternative way>

    1. In the Project View, right-click on the function node to pop up the context menu, select the call location, and select the Open Call Structure entry from the submen menu.
      Open Call Structure menu
    2. In the Functions node of the Function Call Graph, right-click to pop up the context menu, select the calling location, and select the Open Call Structure entry from the submen menu.

    View variable details

    View variable details extracted from the pre-analysis. Here's what you can see:

    To view variable details

    1. Floats the context menu with a right-click on a variable item in the selection view.
      Variable Context Menu
    2. Select the item you want.