TiCS

from Wikipedia, the free encyclopedia
TiCS
Basic data

developer TIOBE Software BV
Current  version 2019.4.1
(December 2019)
operating system platform independent
category Development tool
www.tiobe.com

The Tiobe Coding Standard Framework ( TiCS ) is a proprietary, platform-independent software framework from the Dutch software house TIOBE Software BV for static code analysis of source text , with the aim of an objective, uniform evaluation of software quality . The results of different test tools are assigned to individual software metrics and these are weighted with respect to one another. The assessment is based on the quality factors specified in ISO standard 25000 , in particular IS0 / IEC 25010.

In version 8.5 of February 2017, the evaluation of code in the languages C , C ++ , C-Sharp , Go , Java , JavaScript , JSP , Matlab , Objective-C , PL / SQL , Python , Scala , Swift , TypeScript , VB .net and XAML possible. In addition to TIOBE's own test tools integrated in TiCS, around 50 other test tools from over 30 providers are integrated in TiCS. According to the manufacturer, over 1 billion lines of software are evaluated with TiCS every day (as of 03/2020).

Basics

Quality factors of the ISO standard

According to ISO / IEC 25010, the quality of software is determined by eight factors:

  • Functionality - the degree to which the functions of the software cover the specified needs.
  • Reliability - the degree to which the software provides specific functions under specified conditions over a specified period of time.
  • Efficiency - the performance in relation to the resources used.
  • Usability - the comprehensibility, learnability and attractiveness for the user.
  • Security - the level of protection of information from unauthorized access and accessibility for authorized access.
  • Compatibility - the degree of interchangeability of data between systems or components or the functionality of several systems in the same environment.
  • Maintainability - the degree to which the system can be easily and effectively modified
  • Portability - the ability to transfer the system to other hardware, software, or network environments.

Although the ISO standard provides starting points for assessing software quality, it does not offer any guidance on the objective measurement of quality attributes. Criteria such as “attractiveness” as part of usability are by definition subjective and cannot be measured generally. In addition, even with the attributes for which an objective measurement is possible, such as For example, the response time as part of the effectiveness, due to different software requirements, only a relative evaluation of the results ("better than ..." / "worse than ...") and no absolute assignment ("good" / "bad") possible .

Software metrics

TiCS uses eight of the most commonly applied metrics to software to evaluate the results of test tools used. The following list shows the measured metrics and the ISO / ICE 25010 quality attributes for which these metrics are relevant. It should be noted here that none of the metrics make reference to the quality attributes of usability and portability, which cannot be measured using static code analysis.

Using various mathematical algorithms, test results for the metrics are converted into numerical values. These values ​​form the basis for calculating the TIOBE Quality Index (TQI).

TQI

After calculating the individual values ​​for the metrics, these are converted into TQI values ​​between 0 and 100 based on empirically determined formulas. The formulas are based on the daily analysis of over 400 million program lines from approx. 1,300 projects with TiCS (as of 07/2016). Depending on the TQI value determined, the tested system is given a grade for each metric from "A - Excellent - TQI value> = 90%" to "F - Bad - TQI value <40%". To determine an overall grade, the determined QI values ​​of the individual metrics are weighted with respect to one another.

Components

The TiCS Framework consists of three components, the TiCS Analyzer for the immediate display of violations of the programming standards during development, the TiCS database for consolidating and historizing newly developed source code and the TiCS Viewer for displaying summarized information on all or individual projects. By combining the components, an up-to-date information status for the management, project management and developer levels is possible with drill-down to individual lines of code.

Recommended quality level

The manufacturer makes recommendations for the overall grade to be aimed for, depending on the area of ​​application or the expected consequences of a serious system error. TIOBE recommends TQI grade A for applications in which a serious error can mean massive loss of human life (e.g. in aviation) while grade D is specified as sufficient for purely administrative software.

literature

Web links

Individual evidence

  1. Latest news homepage of the company. Retrieved March 2, 2020
  2. ^ TIOBE Company Info Website of the company. Retrieved March 2, 2020
  3. Jansen, Paul, The TIOBE Quality Indicator - a pragmatic way of measuring code quality , 2015, version 3.4, pages 2-3
  4. TIOBE TiCS Factsheet Company website. Retrieved April 21, 2017
  5. TIOBE Homepage Website of the company. Retrieved March 3, 2020
  6. ISO, Systems and software engineering - Systems and software Quality Requirements and Evaluation (SquaRE) - System and software quality models , ISO / IEC 25010: 2011, 2011, Section 4.2
  7. Jansen, Paul, The TIOBE Quality Indicator - a pragmatic way of measuring code quality , 2015, version 3.4, page 3
  8. Jansen, Paul, The TIOBE Quality Indicator - a pragmatic way of measuring code quality , 2015, version 3.4, pages 3–7
  9. Jansen, Paul, The TIOBE Quality Indicator - a pragmatic way of measuring code quality , 2015, version 3.4, pages 7-12
  10. Jansen, Paul, The TIOBE Quality Indicator - a pragmatic way of measuring code quality , 2015, version 3.4, page 13
  11. TIOBE Software Quality Framework TiCS website of the company. Retrieved July 27, 2016
  12. Jansen, Paul, The TIOBE Quality Indicator - a pragmatic way of measuring code quality , 2015, version 3.4, page 14