Set Control Coupling options

You can set options for Control Coupling to build your project in HCL OneTest Embedded for Eclipse IDE. Control Coupling feature must be enabled to be selected in the build settings before running the build.

Enable Control Coupling
  • In the Project Explorer, right-click on the project and click Properties.
  • In the Properties window, click C C++ Build > Settings.
  • In the Build Settings tab, click Settings > General > Selective instrumentation.
  • In the right pane, click the Value field in Build options and click ... to open the Build options window.
  • In the Build options list, click Performance Profiling to enable the feature.

Control Coupling

In the Project Explorer, right-click on the project and click Properties, then click C C++ Build > Settings. In the Build Settings tab, under the Coupling menu, select Control Coupling.

From this setting page, you can change the following choices:
  • Trace file name (.tgf): Sets the name of the trace file dedicated to control coupling, click the edit button to change the name. By default, this name is the base name of the test with the extension .tgf.
  • Exclude libraries: Include (No) or exclude (Yes) the control couplings must be included or excluded. that end with a call to a function that is not part of the application .
  • Report Template: changes the template of the report generator. By default, this template is ccreport.template.
  • Generate raw data in JSON : Select Yes if you want to generate the control coupling raw data in a JSON file, Yes, in compressed mode if you want to compress this file, No if you do not need this JSON file. The name of this file is the same as the name of the HTML report file where .html is replaced by .json.
  • Module as: Select the choice that corresponds the best to your definition of a module. A module can be defined as a function or a compilation unit. HCL OneTest Embedded offers two ways to interpret Control Coupling, depending on how the "module" in CAST-19 is interpreted:
    • Module as function: Each call between each function is considered as Control Coupling.
    • Module as compilation unit: Only the calls between two functions in two different compilation units are considered as Control Coupling. Moreover, the different called stacks in the calling module are also considered as different Control Couplings. With the previous option set, the user can group two or more compilation units in a single module (called component) in order to ignore the calls between these compilation units.
  • Components List: Select a file that contains a list of components. This option is used only when the option "module as compilation unit" is selected. This file is in a JSON format and contains a list of components with their associated compilation units as follows:
    {
      "component_name" : [ “file1", “file2",…],
      …
    }