Seminario web destacado: MISRA C++ 2023: todo lo que necesita saber | Vea ahora

Automatice el proceso de calificación de herramientas para software crítico para la seguridad

Foto de cabeza de Ricardo Camacho, Director de Cumplimiento de Seguridad y Seguridad
16 de noviembre.
5 min leer

Con el kit de calificación de herramientas de Parasoft para la prueba C/C++, puede automatizar el proceso y reducir la carga de trabajo necesaria para la calificación de herramientas para el desarrollo de software. Sigue leyendo para aprender.

Desarrollo de software crítico para la seguridad normas, tales como DO-178C (aeroespacial), ISO 26262 (automotor), IEC 62304 (médico), y ES 50128 (seguridad funcional), exigen que los fabricantes demuestren que las herramientas que utilizan para desarrollar su software proporcionan resultados correctos y predecibles. El proceso de proporcionar dicha evidencia se conoce como calificación de herramientas. Si bien es un proceso necesario, la calificación de herramientas suele ser una actividad tediosa y que requiere mucho tiempo y que muchas organizaciones no planifican.

El producto final es una prueba en forma de documentación, pero el proceso de calificación implica mucho más que simplemente entregar una gran cantidad de documentación estática. En esta publicación, profundizaremos en cómo usar el kit de calificación de Parasoft para la prueba C/C++, que incluye un conveniente asistente de herramientas que incorpora la automatización y reduce el tiempo y el esfuerzo necesarios para la calificación de la herramienta.

Primero: asegúrese de que su herramienta de desarrollo esté certificada

Calificación de herramientas debe comenzar con la selección de la herramienta, asegurándose de que está utilizando una herramienta de desarrollo que esté certificada por una organización como TÜV SÜD. Esto reducirá significativamente el esfuerzo a la hora de cualificar las herramientas. La prueba de Parasoft C/C++ es certificado por TÜV SÜD para seguridad funcional de acuerdo con las normas IEC 62304, EN 50128, IEC 61508 e ISO 26262 para aplicaciones de destino integradas y basadas en host, allanando el camino para una calificación optimizada de análisis estático, pruebas unitarias y requisitos de cobertura de código para seguridad funcional. estándares críticos.

Segundo: agilizar el proceso de calificación de herramientas

Tradicionalmente, la calificación de herramientas ha significado una importante labor manual, pruebas y documentación de herramientas de desarrollo para satisfacer una auditoría de certificación. Sin embargo, este proceso lleno de documentación requiere interpretación y finalización manual y, como tal, requiere mucho tiempo y es propenso a errores humanos.

Resolvemos este problema llevando la automatización a este proceso con nuestro Kit de Calificación de Herramientas. Aumentar la productividad y reducir el error humano a través de la automatización siempre ha sido el núcleo de lo que hacemos en Parasoft, por lo que hemos aplicado esta misma misión al proceso de Calificación de herramientas para la prueba Parasoft C/C++. Nuestro kit de calificación de herramientas guía al usuario a través de un flujo de trabajo intuitivo para reducir drásticamente el esfuerzo requerido.

Los beneficios de utilizar los kits de calificación de herramientas incluyen:

  • Reduzca automáticamente el alcance de la calificación solo a las partes de la herramienta en uso.
  • Automatizar las pruebas necesarias para la calificación tanto como sea posible.
  • Maneje las pruebas manuales de la manera más elocuente posible e integre los resultados junto con las pruebas automatizadas.
  • Genere automáticamente documentación lista para auditoría que informe exactamente qué se está calificando, ¡ni más ni menos!

Califica solo lo que usas

¿Por qué obligar a los desarrolladores a revisar el material de calificación para DO-178C cuando están trabajando en un proyecto automotriz que requiere ISO 26262?

¿Qué sucede si el equipo solo usa partes de la solución de prueba C/C++ de Parasoft?

No debería ser necesario realizar ningún trabajo adicional para calificar las capacidades que no se utilizan en sus productos de desarrollo. Reducir el alcance de las pruebas, los informes y la documentación es una forma clave de reducir la carga de trabajo de calificación.

El siguiente ejemplo muestra a un usuario seleccionando el único caso de uso de prueba C/C++ que se está utilizando (análisis estático) para comprobar el cumplimiento de las MISRA C 2023 estándar, como parte de la calificación ISO 26262. Luego, la herramienta selecciona solo las piezas del kit de calificación necesarias para esta función. Hay cinco estándares de seguridad funcional admitidos para la calificación.

Captura de pantalla del kit de calificación de prueba de Parasoft C/C++ que muestra opciones para la selección de estándar y nivel para la calificación: ISO 26262 (seleccionado), IEC 61508, EN 50128, DO 178C, DO 330.Captura de pantalla del kit de calificación de pruebas de Parasoft C/C++ que muestra la lista de opciones para casos de uso: cumplimiento de JFS, cumplimiento de MISRA C 2023 (seleccionado), análisis estático: personalizado, pruebas unitarias con cobertura de sucursales, pruebas unitarias con cobertura MC/DC, pruebas unitarias con cobertura de declaración.

Los usuarios pueden anular la selección de opciones para reducir aún más el alcance según lo requiera su proyecto. Tras la selección, a partir de este momento solo se utilizan y proporcionan pruebas y documentación.

Captura de pantalla de la selección de funciones de prueba de Parasoft C/C++ que muestra los resultados de un proyecto de análisis de estándares de codificación.

Aproveche la automatización y el análisis de pruebas

Si hay una ventaja en calificar las herramientas de automatización de pruebas, es que las herramientas se pueden utilizar para automatizar sus propias pruebas. La calificación de la herramienta requiere que se realicen pruebas y se verifiquen los resultados como se describe en los kits de calificación que proporcionamos. Automatizar esto tanto como sea posible es clave para que sea lo menos doloroso posible. Incluso las pruebas manuales, que son inevitables para cualquier herramienta de desarrollo, se manejan de la manera más eficiente posible. Se proporcionan instrucciones paso a paso y los resultados se ingresan y almacenan como parte del registro de calificación.

La prueba de Parasoft C/C++ recopila y almacena todos los resultados de las pruebas de cada compilación, y las pruebas se ejecutan como lo hacen para cualquier tipo de proyecto. Estos resultados se incorporan al asistente de estado de la prueba en el kit de calificación de herramientas de Parasoft para proporcionar una descripción general completa de los resultados:

Captura de pantalla del estado de la prueba desde la cadena de herramientas con prueba C/C++ que muestra el estado de los casos de prueba ejecutados.

Centralizar, agregar y automatizar el proceso de calificación reduce en gran medida el seguimiento manual del progreso del cumplimiento.

Abordar defectos conocidos

Cada herramienta de desarrollo tiene errores conocidos y cualquier proveedor que no los documente no le está haciendo ningún favor a su esfuerzo de cumplimiento. Pero lidiar con defectos conocidos implica más que simplemente documentarlos. La calificación de la herramienta requiere que proporcione pruebas de que estos defectos no están afectando los resultados utilizados en el proyecto. Para cada defecto conocido, debe proporcionar una mitigación y documentarlo a satisfacción del auditor certificador.

Corresponde al proveedor de herramientas automatizar el manejo de los defectos conocidos tanto como sea posible. Después de todo, ¡pedimos a los clientes que solucionen nuestros errores como parte de su carga de trabajo! El kit de calificación de prueba de Parasoft C/C++ incluye un asistente para automatizar el registro de mitigación de defectos conocidos como se muestra a continuación:

Captura de pantalla de la prueba de C++ que muestra la ventana de selección de mitigación con una lista de errores relevantes.

Automatice la documentación que necesita

El resultado de la cualificación de la herramienta es documentación y mucha documentación. Cada prueba ejecutada con resultados, cada defecto conocido con mitigación, resultados de pruebas manuales y excepciones se registran e informan. Los kits de calificación de otros proveedores pueden ser solo documentación y, sin automatización, documentar el cumplimiento es muy tedioso.

En cambio, al utilizar los kits de calificación para la prueba C/C++, los documentos críticos se generan para usted como parte del flujo de trabajo.

  • Informe de clasificación de herramientas. Determina la calificación necesaria y presenta la clasificación del nivel máximo de seguridad para la prueba C/C++ en función de los casos de uso seleccionados por el usuario.
  • Plan de calificación de herramientas. Describe cómo se calificará la prueba C/C++ para su uso en un proyecto de desarrollo relevante para la seguridad.
  • Informe de calificación de herramientas. Demuestra que la prueba C/C++ ha sido calificada de acuerdo con el plan de calificación de la herramienta.
  • Manual de seguridad de herramientas. Describe cómo se deben utilizar las pruebas C/C++ de forma segura, por ejemplo, el cumplimiento de estándares de seguridad como ISO 26262, IEC 61508, etc., en proyectos críticos para la seguridad.

En cada uno de estos documentos, solo se genera la documentación requerida para las características de la herramienta en uso, ya que el alcance de la calificación se acotó al inicio del proyecto. La automatización y la reducción del alcance de la calificación reduce en gran medida la carga de documentación.

Conclusión

La calificación de herramientas para proyectos de software críticos para la seguridad en las industrias automotriz, aeroespacial, ferroviaria y de seguridad funcional es un proceso engorroso. Reducir el alcance de la calificación y automatizar tanto como sea posible el proceso es clave para reducir la carga de trabajo y el tedio de la calificación. El kit de calificación de herramientas Parasoft para Prueba C / C ++ hace que esto sea lo más sencillo y eficiente posible para reducir en gran medida la carga de nuestros clientes, para que puedan volver a ofrecer productos de alta calidad a sus clientes.

Una guía práctica para acelerar el cumplimiento de MISRA C 2023 con la automatización de pruebas

“MISRA”, “MISRA C” y el logotipo del triángulo son marcas comerciales registradas de The MISRA Consortium Limited. © The MISRA Consortium Limited, 2021. Todos los derechos reservados.