Haga que las pruebas de regresión manuales sean más rápidas, más inteligentes y más específicas. Véalo en acción >>
C++ es un lenguaje complejo que requiere un gran esfuerzo para garantizar la previsibilidad y la seguridad. AUTOSAR (Automotive Open System Architecture) estableció los requisitos de AUTOSAR para C++14 para restringir su uso a construcciones predecibles. Cumpla con estos requisitos con las soluciones de Parasoft para minimizar los riesgos de seguridad.
La Arquitectura de Sistema Abierto Automotriz (AUTOSAR) surge de una colaboración de desarrollo entre entidades del sector automotriz. Fundado en 2003, el grupo buscó establecer una arquitectura de software estandarizada y abierta en torno a las unidades de control electrónico (ECU) automotrices. También abarca semiconductores.
La sección AUTOSAR La alianza para el desarrollo buscó mejorar la eficacia y la disponibilidad de los requisitos de seguridad, la escalabilidad, la transferibilidad y la sostenibilidad a lo largo del ciclo de vida del producto. Si bien estos principios suelen asociarse con dispositivos médicos, también se aplican a ciertas tecnologías automotrices clasificadas como sistemas críticos para la seguridad. Productos como los airbags requieren tecnología que los active con precisión, mientras que sistemas como el control de motores requieren consistencia.
Un mayor software integrado en los automóviles también implica una gran cantidad de recopilación y procesamiento de datos en tiempo real. Diversos aspectos de AUTOSAR buscan satisfacer las necesidades de la electrónica y los componentes de software de los automóviles modernos.
Desglose de las pautas de codificación AUTOSAR C++14
Existen dos tipos de plataformas AUTOSAR: Adaptativa y Clásica. La Plataforma Clásica AUTOSAR no ofrece la flexibilidad ni la potencia de procesamiento de la Plataforma Adaptativa. La creciente complejidad de la tecnología automotriz exige reacciones más fáciles y respuestas más rápidas. Sin embargo, ambas plataformas no son rivales. Son compañeras de equipo. Ambas cumplen funciones diferentes en el ecosistema de diseño y desarrollo automotriz.

| Plataforma Clásica AUTOSAR | Plataforma adaptable AUTOSAR |
|---|---|
| Ideal para una arquitectura de uno o varios núcleos y ECU profundamente integradas. | Ideal para ECU más nuevas y diseñado para ejecutarse sobre arquitecturas HPC para aprovecharlas mejor. |
| Utiliza comunicación basada en señales con redes BUS como LIN o CAN. | Utiliza comunicación basada en servicios con Ethernet. |
| Define un sistema operativo (SO). | Define el contexto de ejecución, así como una interfaz de sistema operativo como PSE51. |
| Naturaleza estática con baja flexibilidad. | Proporciona "dinámica planificada" durante la implementación de aplicaciones con integración flexible. |
| Los plazos son más apremiantes debido al procesamiento en tiempo real. | Requisito suave en tiempo real. |
| Los ejemplos incluyen sistemas de frenado y control del motor. | Los ejemplos incluyen procesamiento de datos de fusión de sensores y actualizaciones inalámbricas (actualizaciones OTA). |
AUTOSAR C++14 es un estándar de codificación Para C++ versión 14 (ISO/IEC 14882:2014). También es un artefacto o uno de los resultados de la definición de la plataforma AUTOSAR Adaptativa, que proporciona especificaciones de interfaz para API y servicios. Esta sección de las directrices de codificación de AUTOSAR se actualizó originalmente. MISRA C++ 2008: un estándar de codificación obsoleto. Sin embargo, MISRA y AUTOSAR anunciaron su fusión en 2019 para apoyar la actualización a C++17, que se ha convertido en el lenguaje predeterminado para muchas soluciones electrónicas modernas de AUTOSAR. Estas directrices son tan robustas y optimizadas que cualquier industria que requiera programación embebida en C++ puede aplicarlas.
AUTOSAR C++14 cuenta con 342 reglas que proporcionan una comprensión clara y una guía sobre los requisitos de codificación. Las reglas de codificación de AUTOSAR C++14 se clasifican según su nivel de obligación.
Sin embargo, los desarrolladores pueden desviarse de un estándar, regla o directriz de AUTOSAR con aprobación. Para evitar el uso indebido, se requiere una aprobación formal para cada desviación. Además, AUTOSAR clasifica las reglas en función de si las herramientas de análisis estático pueden aplicarlas automáticamente.
El uso de C++14 en colaboración con las directrices AUTOSAR C++14 ofrece a los desarrolladores la posibilidad de usar compiladores superiores y un mejor acceso a herramientas avanzadas de prueba, verificación y análisis. Esto permite el uso de nuevos métodos de desarrollo, como la integración/entrega continua (CI/CD), que permiten detectar errores con mayor rapidez en el ciclo de vida del desarrollo de software.
“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.
Encontrar las herramientas de desarrollo adecuadas para garantizar la calidad del software es cuestión de prueba y error. Pero eso no significa que deba experimentar con herramientas o estrategias no probadas. Los numerosos beneficios de la automatización en las pruebas y el cumplimiento normativo son evidentes.
Detectar problemas con anticipación facilita las cosas para todos los involucrados en el desarrollo de software. Desde la arquitectura del software y el software de aplicación hasta el diagnóstico y la validación, las soluciones de Parasoft lo tienen todo en cuenta.
Adopte la conformidad con AUTOSAR C++14 para desarrollar software seguro, confiable y protegido, lo que reduce los costos de desarrollo, acelera el tiempo de comercialización y garantiza el éxito del producto a largo plazo.
Evite los defectos de código en las primeras etapas del proceso de desarrollo antes de que se conviertan en desafíos más costosos en el futuro.
Parasoft ofrece el análisis estático AUTOSAR C++14 como la solución recomendada por estándares de proceso como ISO 26262, DO-178C, IEC 62304, IEC 61508, EN 50128 y más.
Incorpore las pautas de codificación de seguridad AUTOSAR C++14 en su ciclo de vida de desarrollo de software como parte de su estrategia SAST.
Parasoft incorpora inteligencia artificial y aprendizaje automático para mejorar la productividad en los flujos de trabajo de análisis estático AUTOSAR C ++ 14 de su equipo, marcando y priorizando las violaciones para corregir primero.
El análisis estático AUTOSAR C++14 de Parasoft se integra fácilmente en su flujo de trabajo de CI/CD optimizado con pruebas continuas para entregar rápidamente un software seguro y protegido de alta calidad.
Cree su propia configuración de estándares de codificación personalizados para su organización utilizando Parasoft RuleWizard.
Parasoft ofrece la agregación de MISRA con todos nuestros otros estándares de codificación compatibles, como CERT, CWE, OWASP, UL 2900 y más.
Cuando se trata del cumplimiento de AUTOSAR C++14, existen varias prácticas altamente beneficiosas. Aquí hay una lista de algunos de los métodos a considerar.
Además del cumplimiento de AUTOSAR C++14, reúnase con sus colegas ingenieros de software y verifiquen sistemáticamente el código de los demás en busca de errores y violaciones del estilo de codificación. Se ha demostrado que esta actividad acelera y mejora sustancialmente la calidad del código.
Cualquier desviación de las pautas de AUTOSAR C++14 requiere una documentación exhaustiva sobre lo siguiente: la pauta específica, el alcance, la justificación, la garantía de seguridad, las consecuencias y la mitigación.
La compatibilidad con AUTOSAR C++14 te ayudará a escribir código fácil de leer y comprender. No escribas código críptico, difícil de seguir o fácilmente malinterpretado. No querrás que otros ingenieros o tú mismo dediquen mucho tiempo a descifrar un error en tu código.
La compatibilidad con AUTOSAR C++14 promueve la portabilidad del código, lo que permite migrar software fácilmente entre plataformas como POSIX y sistemas basados en ANSI C con cambios mínimos. Esta flexibilidad reduce el esfuerzo de adaptación al cambiar de compiladores, sistemas operativos o hardware, lo que permite a las empresas aprovechar oportunidades estratégicas o de ahorro de costes sin necesidad de realizar grandes modificaciones.
Ciertas construcciones de código pueden infringir las reglas de AUTOSAR C++14. Parasoft permite filtrar intencionalmente este ruido.
El cumplimiento de AUTOSAR C++14 ayuda a escribir código que no tiene una gran cantidad de bifurcaciones. Cuantas más ramas, mayor es la complejidad del código y mayor el número de errores encontrados en el código.
La compatibilidad con AUTOSAR C++14 le ayuda a escribir código confiable que maneja escenarios esperados e inesperados (incluidos casos de uso negativos y condiciones de datos no válidos), lo que garantiza la resiliencia de la aplicación.
El cumplimiento de AUTOSAR C++14 lo ayuda a escribir código portátil que se puede reutilizar en futuros productos o proyectos. Esto mejora la productividad y reduce los costos de mano de obra y pruebas.
Los sistemas de software automotrices modernos dependen cada vez más de arquitecturas abiertas y estandarizadas como AUTOSAR para impulsar funciones de conducción autónoma y conectividad esenciales para la seguridad. Dos ejemplos clave de Cumplimiento para pruebas de software de conducción autónoma incluir lo siguiente:
Estos son solo un par de ejemplos notables. La creciente adopción de la Plataforma Adaptativa AUTOSAR y de los vehículos con IoT hace que la medición de datos en tiempo real y las capacidades de respuesta adaptativa sean cruciales.
El panel de análisis de Parasoft con informes automatizados de cumplimiento de AUTOSAR facilita el suministro de las pruebas necesarias para la certificación.
Para aplicaciones críticas para la seguridad y la protección, querrá utilizar nuestra solución certificada por TÜV SÜD para garantizar el cumplimiento de los estándares y la facilidad de adopción en sus procesos de desarrollo de alto rendimiento.
Una gran ventaja de proponer la compatibilidad de AUTOSAR con C++14 es que puedes presentarlo a tu equipo y empezar a usarlo en cualquier fase del desarrollo de software de un proyecto. Mejor aún, es eficaz incluso si un proyecto o el software de tu ECU está incompleto y parcialmente codificado.
A medida que lograr la conformidad con AUTOSAR C++14 se convierte en parte de la rutina diaria de cada desarrollador, pueden analizar los resultados más rápido y corregir errores de manera más eficiente.
La madurez del producto en desarrollo también es importante, ya que influye en la incorporación de la compatibilidad con AUTOSAR C++14. La gestión del ciclo de vida de adopción funciona como se describe a continuación.
Este enfoque se centra en proyectos existentes que ya están en el mercado. Con un desarrollo mínimo de código nuevo, todos los errores y vulnerabilidades de seguridad descubiertos se acumulan como deuda técnica dentro del código base existente.
Los proyectos existentes con desarrollo actual hacen que los equipos mejoren el código nuevo a medida que se desarrolla para postergar menos advertencias críticas como deuda técnica.
Los nuevos proyectos adoptan este enfoque. Los desarrolladores pueden integrar AUTOSAR C++14 en sus entornos de desarrollo desde el principio para garantizar un alto nivel de calidad como código.
Consulte los resultados de la prueba AUTOSAR de C/C++14 en el panel de informes dinámicos de Parasoft. Puede automatizar el posprocesamiento y las estrategias avanzadas de generación de informes utilizando datos históricos.
Es fácil ver los resultados de cumplimiento de AUTOSAR C++14 en compilaciones a lo largo del tiempo. Esto es así incluso al trabajar con bases de código extensas y código heredado, donde la visibilidad del código suele ser difícil. Puede centrarse rápidamente en la calidad del código recién añadido.
La solución de análisis de código AUTOSAR de Parasoft, C/C++test, detecta problemas complejos de cumplimiento de C++14 en un entorno de ejecución AUTOSAR desde el inicio del desarrollo, sin necesidad de ejecutar costosas pruebas de ejecución. Esto optimiza los procesos de desarrollo en beneficio de todos.
C/C++test analiza las rutas de ejecución del código y detecta problemas de conformidad con AUTOSAR C++14, como la desreferenciación de punteros nulos, la división por cero y fugas de memoria. También busca vulnerabilidades de seguridad, como operaciones aritméticas en un operando de puntero, desbordamientos de búfer, código inaccesible y la función del sistema cstdlib.
Con widgets que rastrean automáticamente el cumplimiento de AUTOSAR C++14, los usuarios obtienen una vista dinámica del proceso de cumplimiento y pueden producir fácilmente informes automáticos para auditorías de código y objetivos de certificación.
Mejore sus pruebas de software con las soluciones de Parasoft.