X
BLOG

Estudio de caso: el análisis estático conduce a un 30% menos de defectos

Estudio de caso: el análisis estático conduce a un 30% menos de defectos Tiempo de leer: 4 minutos

Aumento de la productividad y la calidad en software de misión crítica

 Thales Italia cuenta con un sólido portafolio de productos y tecnologías destinados tanto al mercado civil como al militar. Ofrecen soluciones tecnológicas que abordan las industrias de la seguridad y el transporte (con experiencia en señalización ferroviaria y protección / vigilancia de infraestructuras críticas); en la división de defensa (con experiencia en comunicaciones militares y electrónica de guerra); y en el campo de la gestión del tráfico aéreo (con experiencia en sistemas de aterrizaje, navegación y vigilancia).

Thales decidió aplicar el análisis estático a través de Parasoft C / C ++test a su proyecto Integrated Tramway Management Solutions, y luego lo implementó en toda la división de Automatic Vehicle Location System. El resultado: Thales redujo su tasa de componentes defectuosos en un 30% y significativamente mayor rendimiento de la aplicación.

¿Qué es el análisis de código estático?

El análisis de código estático (o análisis estático) es una actividad de prueba de software en el desarrollo de software, en la que el código fuente se analiza en busca de construcciones que se sabe que están asociadas con errores de software o vulnerabilidades de seguridad. Cuando se detecta una construcción de alto riesgo, la herramienta de análisis estático informa una infracción para que el desarrollador la vea y corrija.

La ejecución de análisis estáticos en el escritorio proporcionará algunos beneficios y puede funcionar para equipos o proyectos pequeños; sin embargo, en organizaciones grandes, el análisis estático también debe automatizarse como parte de las compilaciones nocturnas y la integración continua. Cuando se implementa como parte integral del proceso de desarrollo, analizar su código con análisis estático proporciona una serie de beneficios, incluidos los siguientes:

Ciclo de desarrollo más rápido

La ejecución constante de análisis estáticos desde las primeras etapas del proyecto le permite encontrar y corregir defectos sistémicos cuando el costo de reparación es el más bajo. El proceso puede llevar inicialmente más tiempo que desarrollar rápidamente el software sin ejecutar un análisis, pero las ganancias en eficiencia se vuelven exponenciales durante el ciclo de vida del desarrollo.

Tasa de defectos más baja

El análisis estático le ayuda a encontrar y corregir defectos de forma temprana, lo que puede prevenir la recurrencia de defectos sistémicos en el futuro. Con una política de detección temprana, puede implementar más fácilmente una política de prevención de defectos, que reduce la tasa de defectos durante el ciclo de vida del desarrollo.

Mejora Contínua

El análisis estático automatizado es un mecanismo de retroalimentación eficaz fundamental para el éxito de los procesos de DevOps y CI / CD. Estas herramientas también generan los datos que otros departamentos necesitan para acceder y colaborar de manera efectiva bajo el modelo DevOps. Especialmente cuando se usa con pruebas unitarias y de regresión, el análisis estático cumple algunas funciones, que incluyen:

  • Asegurar la calidad del código
  • Proporcionar los macrodatos necesarios para mejorar el proceso de desarrollo.
  • Facilitar las maquinaciones del ciclo de retroalimentación automatizado de DevOps

Como resultado, el análisis estático se convierte en un agente de mejora continua y automatizada de procesos. Proporciona una forma para que los desarrolladores comprendan y examinen un error detectado durante el lanzamiento, o para que QA determine si existe una manera de fortalecer el código y eliminar la posibilidad de que estos defectos ocurran en el futuro.

Detalles de implementación de análisis estático

Thales estaba buscando una solución que simplificara la configuración, implementación y administración de un conjunto de reglas estandarizadas en un equipo o departamento. Los requisitos específicos incluyeron: 

  • Capacidades de prueba de desarrollo todo en uno
  • Capacidad para ampliar la configuración de sus estándares de codificación únicos
  • Facilidad de configuración del proyecto 
  • Integración perfecta en sus entornos de desarrollo / prueba
  • Detección de defectos en tiempo de ejecución

Las herramientas de prueba de Parasoft permitieron a Thales aplicar de manera eficiente y consistente un amplio conjunto de prácticas complementarias de prevención de defectos, lo que mejora en gran medida la productividad al ayudar a los desarrolladores a eliminar problemas cuando son más fáciles y rápidos de solucionar (y antes de que generen defectos adicionales). El arquitecto puede tomar fácilmente las reglas y configuraciones diseñadas para una base de código y aplicarlas a otra base de código, con los ajustes y modificaciones necesarios para el nuevo contexto. Esto es especialmente importante cuando los desarrolladores trabajan en diversos entornos que utilizan diferentes tecnologías.

Poder ajustar una regla en cuestión de segundos y luego implementarla inmediatamente en todas las instalaciones de escritorio de los desarrolladores les permitió lograr un gran aumento en la productividad. Thales también logró ganancias de productividad al informar los resultados detallados directamente en el entorno de trabajo de los desarrolladores. La capacidad de hacer clic en una infracción denunciada y aprender cómo y por qué corregir el código marcado ayudó al equipo a comenzar a escribir código de menor riesgo como una cuestión de hábito.

Resultados del análisis estático: 30% menos de defectos

“Una de las mayores ventajas del análisis estático de Parasoft es que enseñó a nuestros ingenieros cómo convertirse en mejores desarrolladores”, comenta Alessandro Orsi, Product Manager de AVLS Systems. “Estamos encontrando cada vez menos defectos en la base del código porque los desarrolladores están aprendiendo a escribir mejor código Java. A medida que los desarrolladores se sienten cómodos con el conjunto de reglas existente, los arquitectos lo amplían gradualmente para incluir más reglas. Como era de esperar, esto da como resultado un mejor código. Es un proceso cíclico ".

“Cuando comparamos las tasas de defectos en el componente antes y después de adoptar la tecnología estática de Parasoft
análisis, encontramos que ahora estamos logrando un 30% menos de defectos ”, continúa Orsi. “Si otros proveedores brindaran el tipo de soporte que hemos recibido de Parasoft, el mundo sería perfecto. El apoyo que hemos recibido de Parasoft ha sido realmente notable ”.

Escrito por

Parasoft

Las herramientas de prueba de software automatizadas líderes en la industria de Parasoft respaldan todo el proceso de desarrollo de software, desde que el desarrollador escribe la primera línea de código hasta las pruebas unitarias y funcionales, hasta las pruebas de rendimiento y seguridad, aprovechando los entornos de prueba simulados en el camino.

Reciba las últimas noticias y recursos sobre pruebas de software en su bandeja de entrada.

Prueba Parasoft