X
BLOG

Integración del análisis estático en los flujos de trabajo diarios

Integración del análisis estático en los flujos de trabajo diarios Tiempo de leer: 4 minutos
Para adoptar con éxito el análisis estático en su proyecto, es importante asegurarse de que su herramienta de análisis estático sea fácil de usar y de fácil acceso para los desarrolladores, proporcionando información útil y procesable por adelantado. ¿Y que? En esta publicación, aprenda cómo maximizar su adopción de análisis estático con un flujo de trabajo diario efectivo.

Si no ha leído el blog de la semana pasada sobre comenzando con el análisis estático, Te recomiendo que lo hagas, para entender cómo interpretar tus primeros informes a partir de herramientas de análisis estático y afrontar los análisis iniciales sin abrumar al equipo.

La segunda parte de esta pequeña serie de introducción trata sobre cómo integrar herramientas de análisis estático en sus flujos de trabajo diarios. ¿Cómo incorporas el análisis estático todos los días?

Resulta que esto es clave. Asegurarse de que su adopción de análisis estático sea un éxito en su proyecto gira en torno a asegurarse de que las herramientas sean fáciles de usar y de fácil acceso para los desarrolladores, proporcionando información útil y procesable por adelantado. Esto se logra mejor dentro del entorno en el que trabaja el desarrollador (IDE), como Eclipse o Visual Studio. Las advertencias de análisis estático se envían de la misma manera que los errores del compilador en el IDE, y estas advertencias se resaltan en el código para facilitar el análisis y la corrección. Por ejemplo, vea esta captura de pantalla de las advertencias de análisis estático de Parasoft Jtest integradas en Eclipse:

Como puede ver en el ejemplo anterior de una aplicación Java en Eclipse, el análisis estático es el resultado de Parasoft Jtest se entregan en una vista de advertencias / error (1) y se puede interactuar con ellos como cualquier otro mensaje de error. La selección de un error lleva el panel del editor (2) a la línea de código en cuestión, que también muestra el seguimiento del flujo de control en el código que se puede usar para rastrear las causas raíz de la advertencia. Si se necesita una corrección, el código se puede enviar, como de costumbre, a través de la vista de navegación del proyecto (3).

Entonces, ¿qué hace un desarrollador al analizar cada advertencia? Esto se describe mejor en un diagrama de proceso, que se muestra a continuación:

Paso 1: agregar y filtrar advertencias

Comienza con la agregación y el filtrado de los resultados del análisis estático, un primer paso fundamental para priorizar y centrarse en las advertencias clave. Por lo general, los líderes de equipo y de control de calidad deciden el objetivo de calidad en mente y estructuran la configuración del análisis en torno a este objetivo. Para mejorar la seguridad, por ejemplo, se habilitarían verificadores relacionados con la seguridad junto con un estándar de codificación seguro como CERT C.

Pasos 2 a 4: investigar, priorizar y corregir advertencias

Luego, los desarrolladores investigan y corrigen las advertencias que encuentran, según las políticas que tiene el equipo y la madurez del producto. Como se explica en mi último post, en un proyecto totalmente nuevo, la mayoría de las advertencias se investigarían y priorizarían ya que la cantidad de código sería relativamente pequeña, mientras que en las etapas posteriores de madurez, el filtrado y la priorización serían más estrictos, por lo que los desarrolladores solo abordarían las advertencias verdaderamente críticas. En cualquier caso, el proceso es el mismo.

Paso 5: registro de la fuente

Después de realizar cambios en respuesta a una advertencia de análisis estático, el código se registra en el control de versiones y se analiza nuevamente durante la siguiente compilación. Este circuito de retroalimentación corto y ajustado mejora en gran medida la calidad y seguridad del código justo en el momento en que se escribe y modifica.

Integración en sistemas de construcción y canalizaciones de integración continua

El principal punto de integración para las herramientas de análisis estático y los sistemas de compilación es a través de una interfaz de línea de comandos. El análisis estático usado de esta manera actúa como lo haría un compilador en la estructura de construcción. Los archivos se procesan de la misma manera, aunque la salida no es un ejecutable, sino los resultados que se almacenan en un repositorio, indexados por archivo y número de compilación.

Con la Parasoft C / C ++test, por ejemplo, esto es manejado por el sistema de informes y análisis de Parasoft (Parasoft DTP), que es tanto un repositorio como un motor de inteligencia que analiza los resultados. Este análisis y la información que lo acompaña se envía a cada desarrollador a su IDE y se pone a disposición a través del portal web de Parasoft para gerentes y líderes de equipo.

En el diagrama anterior, puede ver cómo integramos las herramientas de análisis estático de Parasoft en una tubería de integración continua. Parasoft DTP es el repositorio central y el motor de análisis de advertencias.

Resumen

La integración del análisis estático en los flujos de trabajo diarios requiere que el desarrollador acceda al análisis estático directamente en el IDE, así como la capacidad de realizar análisis, informes y administración de todo el proyecto. Apoyar a los desarrolladores directamente donde trabajan con código, así como a los líderes y gerentes de equipo con acceso a la misma información con su propia información de tendencias e informes es fundamental para aprovechar el análisis estático por completo en un proyecto.

¿Tienes hambre de más? Vuelve pronto para la siguiente parte de esta pequeña serie. Explicaré cómo lidiar con el análisis estático que advierte atrasos y la deuda técnica.

Introducción al análisis estático

Escrito por

Billy McMullin

Como arquitecto de soluciones en Parasoft, Billy ayuda a los equipos a establecer estrategias y establecer prioridades a medida que adoptan prácticas modernas de desarrollo y prueba de software en su organización.

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

Prueba Parasoft