Populate a Quality Database

  1. Open a Windows Command Prompt.

  2. Since TICSQServer should be in the PATH when multi-server/build server has been installed, type TICSQServer -project project and press "Enter". Here, project is the name of one of the projects that has been configured in the SERVER.yaml file.

    See TICSQServer Reference Manual for a complete overview of all command line options and internal applications that are used to file the Quality Database.

    Filling the database for the first time may take quite some time. The progress can be monitored on the TICSStatus page.

  3. Navigate your browser to http://www.company.com:42506/tiobeweb/TICS/Status.html', where www.company.com is the domain name or the IP adres of your web server running the TICS viewer.

    Wait for the page to load and select the project you wish to monitor from the project selection list. You will see something like this.

  4. TICSStatus shows some key statistics of the quality database that you have selected. It shows the current number of entities (i.e., the total number of instances of all files), the number of files, the number of entities for which LOC metrics are available, the number of one-to-one build relations that have been detected, and the number of one-to-one inter source dependencies have been derived.

    Furthermore, TICSStatus shows progress information. It shows the estimated time to completion in minutes, the estimated coverage based on the ratio of failed files so far, the number of files to be checked in total (i.e., the new and changed files in the case of an incremental run, or all files if the -recalc option is used), the current number of files still to be processed, the number of files that have already been processed and failed, and the number of files that have already been processed and succeeded.

    To obtain the desired coverage, it is important to analyze the causes why files failed to be correctly processed.

    To analyze the errors you have to click on the red number in the "Failed" column.

  5. Start by analyzing all error with code 5084: these indicate build relation problems. Be sure to configure the proper BUILDTYPE in the SERVER.yaml for all languages in your project. If the build type is properly configured, check whether the file really does not occur in any make/project file. If the file is not referenced in any make/project file it is probably dead code and should be removed from your archive. If you do not dare to remove it from your SCM repository, you may exclude it via the ARCHIVE mechanism.

  6. Next, concentrate on the errors with code 5078. These indicate include relations problems. If all build relation problems are resolved, remaining include problems may also indicate dead code, e.g., header files that are never included.

  7. After resolving build and include problems, the errors with code 5073 should be investigated. These errors occur when a system call to another application failed. This can have many causes. If you are using a language that supports a preprocessor (such as C or C++), it is possible that the make/project file analyzer did not extract the correct options for the preprocessor. If your compiler supports language extensions, you should define these away in the PREDEFINES-compiler.txt configuration file. If the output of the preprocessor is correct and you still get error 5073 you should contact the application vendor (e.g., TIOBE or Parasoft) to have a look at the problem.