• Technical Support
  • Contacto
  • Blog
  • Español
    • English
    • Français
    • Deutsch
    • Italiano
    • Português
    • 简体中文
  • Herramientas
    • ANÁLISIS ESTÁTICO
      • QA-MISRA
        Análisis en profundidad para el código industrial en C/C++
      • Cantata Test Architect
        Comprender, definir y controlar la arquitectura del software
      • Métricas de Código Fuente
        Métricas de código fuente automatizadas para C / C ++
      • Obtener una demostración
         
    • TESTS DEL SOFTWARE
      • Cantata
        Pruebas de unidades e integración automatizadas de código C/C++
      • Cantata Team Reporting
        Complemento del panel de gestión de estado
      • AdaTEST 95
        Pruebas de unidades e integración automatizadas de código Ada
      • ¿Por qué pagar por una herramienta de prueba de unidades?
  • Soluciones
    • SECTORES
      • Automóvil
      • Energía
      • Dispositivos Médicos
      • Automatización Industrial
      • Ferrocarriles
      • Aeroespacial y Defensa
      • Crítico para el Negocio
      • E
      • E
      • Obtener una demostración
         
    • SOLUCIONES
      • ISO 26262
      • IEC 60880
      • IEC 62304
      • IEC 61508
      • EN 50128 / 50657
      • DO-178C
      • MISRA
      • AUTOSAR
      • CERT
      • ¿Por qué pagar por una herramienta de prueba de unidades?
  • Academia
    • Seminarios
    • Formaciones
    • Seminarios web
    • Orador
    • Formulario de Inscripción
  • Empresa
    • Sobre la Empresa
    • Equipo de Gestión
    • Socios
    • Noticias
    • Eventos
    • Bolsa de Trabajo
    • Obtener una Demostración
  • Recursos
  • Porsche
  • Español
    • Inglés
    • Francés
    • Alemán
    • Italiano
    • Portugués, Portugal
    • Chino simplificado
  • Herramientas
    • ANÁLISIS ESTÁTICO
      • QA-MISRA
      • Cantata Test Architect
      • MÉTRICAS DE CÓDIGO FUENTE
    • Software Testing
      • Cantata Team Reporting
      • Cantata
      • Adatest 95
  • Soluciones
    • Sectores
      • Automóvil
      • Energía
      • Dispositivos Médicos
      • Automatización Industrial
      • Ferrocarriles
      • Aeroespacial y Defensa
      • Crítico para el Negocio
    • Soluciones
      • ISO 26262
      • IEC 60880
      • IEC 62304
      • IEC 61508
      • EN 50128 / 50657
      • DO-178C
      • Misra
      • Autosar
      • CERT
  • Academia
    • Seminarios
    • Formaciones
    • Seminarios web
    • Orador
    • Testimonials
  • Empresa
    • Sobre la Empresa
    • Equipo de Gestión
    • Socios
    • Noticias
    • Eventos
    • Bolsa de Trabajo
  • Recursos
  • Blog
  • Contacto
ISA
ADATEST 95

Static Code Metrics

ISA
ADATEST 95

Static Code Metrics

QA Systems > Software testing tools for embedded software in C/C++ > Adatest 95 > Static Code Metrics

AdaTEST 95 Static Code Metrics capabilities can be used as standalone analysis, or integrated with AdaTEST 95 tests. They provide an automated objective measurement of code quality, maintainability and estimate of testing effort.

AdaTEST 95 Static Analysis makes it easier to:

  • code complexity and structure
  • Diagnose and enforce metrics
  • Generate reports and certification evidence

What do AdaTEST 95 static metrics help me do?

CODE COMPLEXITY AND STRUCTURE

AdaTEST 95 produces over 100 static code metrics, on Ada 95 syntax (Ada Language Reference Manual) and industry standard metric sets. The selection of just the metrics desired is made simple through an analysis wizard and Static Analysis Rule Sets.

These can define not only the required static code metrics, but also checks on acceptable values for each metric to be integrated with AdaTEST 95 dynamic tests.

DIAGNOSE AND ENFORCE METRICS

Metrics are generated to .CSV files, List text files and presented in the HTML Results Viewer for comprehensive diagnosis.

The AdaTEST 95 HTML Results Overview presents a history of checks on enforcing values for static metrics for trend analysis.

Enforcement of static code metrics is fully automated through checks integrated into AdaTEST 95 test scripts, keeping dynamic and static testing completely synchronised.

AdaTEST 95 Static metrics are generated for all instrumented procedures, functions, protected subprograms/entries and tasks that have been executed. In addition, Metrics for package specifications and package bodies, in addition to procedure, function, and task bodies, are available for inspection in a list text file.

GENERATE REPORTS

In addition to the powerful diagnostics of code coverage results in the HTML Results Viewer and Overview, AdaTEST 95 generates safety standards certification ready ASCII text reports of compliance with coverage requirements.

Reports and certification evidence embed the integrated checks on the achievement of the required code coverage and static metric targets.

How does AdaTEST 95 static analysis work?

AdaTEST 95 uses instrumentation on a copy of the source code, and static metrics data is recorded in both CSV and HTML files for diagnosis, and certification ready ASCII text list files and AdaTEST dynamic test results files evidence.

Static analysis can be used integrated with AdaTEST 95 tests to check metric values within an acceptable range, and perform Control Flow and Data Flow analysis with path labels and dynamic assertions.

Analysis is made simpler by coverage Rule Sets, which automate all the code instrumentation, data reporting and required metric checking.

Which code metrics does AdaTEST 95 provide?

AdaTEST 95 generates over 100 metrics on Ada 95 code syntax as defined in the Ada 95 Reference Manual Annex P.

Static metrics are divided into three groups:

  • Static metrics are divided into three groups:
  • calculated metrics
  • informational metrics

Counted and calculated metrics are presented as floating point values, informational metrics are presented as string values.

The full set of AdaTEST 95 static code metrics is listed below:

In addition to counts of Ada 95 syntax, the following industry standard metric sets are provided:

  • McCabe’s Cyclomatic Complexity Measure
  • Myers’ extension to McCabe’s measure
  • Essential McCabe
  • Halstead’s Software Science
  • Hansen’s measure of Program Complexity by the Pair

ABORT_STATEMENTS

ACCEPT_STATEMENTS

ACCESS_ATTRIBUTES

ACCESS_DISCRIMINANTS

ACCESS_TO_SUBPROGRAM_TYPES

ADA_CODE_LINES

ALIASED_OBJECT_DECLARATIONS

ALLOCATORS

ASSIGNMENT_STATEMENTS

ASYNCHRONOUS_SELECTS

BINARY_ADDING_OPERATORS

BLANK_LINES

BLOCK_DECLARATIVE_PARTS

BLOCK_STATEMENTS

BODY_STUBS

CASE_ALTERNATIVES

CASE_STATEMENTS

CLASS_WIDE_TYPES

CODE_STATEMENTS

COMMENT_LINES

COMMENTS

COMPILATION_UNITS

CONDITIONAL_ENTRY_CALLS

CONTROLLED_TYPES

DATA_ASSERTIONS

DECLARATIVE_STATEMENTS

DELAY_STATEMENTS

DERIVED_TYPE_DEFINITIONS

DYNAMIC_ASSERTIONS

FILE_CHECKSUM

FOR_LOOPS

GENERAL_ACCESS_TYPES

GENERIC_DECLARATIONS

GENERIC_INSTANTIATIONS

GENERIC_SPECIFICATIONS

GOTO_STATEMENTS

HALSTEAD_DIFFICULTY

HALSTEAD_EST_LEVEL_ABSTRACTION

HALSTEAD_ESTIMATED_ERRORS

HALSTEAD_EXPECTED_LENGTH

HALSTEAD_INTELLIGENCE_CONTENT

HALSTEAD_LANGUAGE_LEVEL

HALSTEAD_LENGTH

HALSTEAD_LEVEL_OF_ABSTRACTION

HALSTEAD_NUM_UNIQUE_OPERANDS

HALSTEAD_NUM_UNIQUE_OPERATORS

HALSTEAD_POTENTIAL_VOLUME

HALSTEAD_PROGRAM_EFFORT

HALSTEAD_PURITY_RATIO

HALSTEAD_TIME_ESTIMATE

HALSTEAD_TOTAL_NUM_OPERANDS

HALSTEAD_TOTAL_NUM_OPERATORS

HALSTEAD_VOCABULARY

HALSTEAD_VOLUME

HANSEN_CYCLOMATIC_NUM

HANSEN_OPERATOR_COUNT

HIGHEST_PRECEDENCE_OPERATORS

IF_STATEMENTS

IGNORE_ON_SWITCHES

INNER_USE_PACKAGE_CLAUSES

LINES_IN_SOURCE_FILE

LOGICAL_OPERATORS

LOOP_STATEMENTS

MAXIMUM_STATEMENT_NESTING

MCCABE

MEMBERSHIP_TESTS

MULTIPLYING_OPERATORS

MYERS_MCCABE_LOWER

MYERS_MCCABE_UPPER

OVERLOAD_COUNT

PACKAGE_BODIES

PACKAGE_SPECIFICATIONS

PARAMETERS

PRAGMAS

PROCEDURE_ENTRY_CALL_STMTS

PROTECTED_ENTRY_BODIES

PROTECTED_OBJECT_DEFINITIONS

PROTECTED_TYPE_DEFINITIONS

RAISE_STATEMENTS

RELATIONAL_OPERATORS

REPRESENTATION_CLAUSES

REQUEUE_STATEMENTS

REQUEUE_WITH_ABORTS

RETURN_STATEMENTS

SELECT_STATEMENTS

SELECTIVE_WAIT_ALTERNATIVES

SELECTIVE_WAITS

SHORT_CIRCUIT_CONTROL_FORMS

SUBPROGRAM_BODIES

SUBPROGRAM_SPECIFICATIONS

SUBUNITS

TAGGED_TYPES

TERMINATES

TEST_CODE_STMTS

TIMED_ENTRY_CALLS

TOTAL_LINES

TOTAL_UNITS_IN_SOURCE_FILE

TYPE_EXTENSIONS

UNARY_ADDING_OPERATORS

UNCHECKED_ACCESSES

UNCHECKED_CONVERSIONS

UNCHECKED_DEALLOCATIONS

UNPROCESSED_BEXES

UNREACHABLE_CODE

USE_PACKAGE_CLAUSES

USE_TYPE_CLAUSES

USER_STRING (user defined)

WHILE_LOOPS

WITH_CLAUSES

XOR_OPERATORS

BACK TO ADATEST 95

QA Systems GmbH
Roggenstrasse 11
71334 Waiblingen | Germany

© 2021 QA SYSTEMS GMBH

Phone: +49 (0)711 138183 -0
Fax: +49 (0)711 138183 -10
E-Mail: [email protected]

  • Imprint
  • Privacy Policy
  • Contact
  • Resources

Newsletter

Get the latest technology news updates, product releases plus tips and tricks:

Suscribirse al Boletín
  • Seguir
  • Seguir

Newsletter

Get the latest technology news updates, product releases plus tips and tricks:

Suscribirse al Boletín
  • Seguir
  • Seguir

Phone: +49 (0)711 138183 -0
Fax: +49 (0)711 138183 -10
[email protected]

  • Imprint
  • Privacy Policy
  • Contact
  • Resources

QA Systems GmbH
Roggenstrasse 11
71334 Waiblingen Stuttgart | Germany

© 2021 QA SYSTEMS GMBH

Start
Trial
×

Login

¿Olvidó su contraseña?

Or

 

Create an Account

Sign up for access to premium content
Register for full access to our extensive resources library.
  • Este campo es un campo de validación y debe quedar sin cambios.

×

Static Code Metrics

Academy Registration Form

  • Contact details attendee

  • QA Systems arranges a block booking of rooms for seminar participants at the respective hotels, usually with special rates. The participants are responsible for their own reservation, payment, etc. If you wish to receive the hotel information, please tick:
  • Este campo es un campo de validación y debe quedar sin cambios.