X
BLOG

Cómo abordar su acumulación de advertencias de análisis estático y deuda técnica

Cómo abordar su acumulación de advertencias de análisis estático y deuda técnica Tiempo de leer: 4 minutos
Después de que las herramientas de análisis estático se hayan integrado en el flujo de trabajo diario del equipo de desarrollo, la siguiente fase es trabajar para reducir la acumulación de advertencias y la deuda técnica en un proyecto.

En el caso de un producto en mantenimiento o en desarrollo, es probable que exista una considerable acumulación de trabajos pendientes. En el caso de un proyecto totalmente nuevo (consulte la primera publicación de mi serie de análisis estático para ver la discusión de estas diferentes etapas del proyecto: Introducción al análisis estático sin abrumar al equipo), hay menos atraso, aunque las recomendaciones siguen siendo las mismas para cada etapa de vencimiento.

El mejor punto de partida para lidiar con una acumulación de advertencias es priorizar y filtrar los resultados según el resultado deseado. Utilizando la seguridad como ejemplo, tiene sentido priorizar el retraso en términos de advertencias de seguridad, clasificadas por criticidad. Esta es una continuación del enfoque utilizado cuando se introdujo por primera vez el análisis estático en un proyecto, pero ahora la atención se centra en el siguiente conjunto de advertencias digeribles para que el equipo las analice. Esto se maneja de varias maneras Parasoft C / C ++test, como veremos a continuación.

Cuadros de mando para análisis de alto nivel

Los paneles de informes y análisis centralizados de Parasoft brindan a los desarrolladores y gerentes la capacidad de ver el estado actual de un proyecto desde varios puntos de vista, y navegar más hacia más detalles donde sea necesario para establecer un conjunto de advertencias para una mayor investigación. Considere el siguiente tablero que muestra el cumplimiento actual de un proyecto con el estándar de codificación CERT C:

Figura 1: Un ejemplo de panel de un portal web. En este caso, un resumen del cumplimiento del CERT C.

Con este portal web, los usuarios pueden profundizar en el análisis, hasta el nivel de archivo y código si es necesario, e investigar las advertencias por completo dentro del portal web o en un IDE. Las advertencias se pueden priorizar, asignar a los desarrolladores, suprimir o marcar como falso positivo en esta etapa. Vea el siguiente ejemplo del explorador de Parasoft:

Figura 2: El explorador de violaciones de Parasoft.

Manejo de violaciones de estándares de codificación

En la mayoría de los casos, al analizar la fuente para codificar el cumplimiento del estándar, las infracciones se informan como advertencias de análisis estático. En un proyecto grande, inicialmente habrá muchas advertencias, y administrarlas de manera rápida y eficiente es fundamental. El explorador de violaciones de Parasoft es la herramienta clave para navegar, evaluar, priorizar y asignar errores informados para su corrección. Si una infracción de la regla de análisis estático resulta ser válida pero justificable, considerada inofensiva o no aplicable, un desarrollador puede suprimir el error y documentar una desviación. Estas desviaciones se informan a través de cada nivel del proyecto en el tablero y la documentación de cumplimiento.

Para que el cumplimiento del estándar de codificación sea factible para los proyectos existentes, es fundamental que los equipos se centren primero en las reglas que se consideran obligatorias. El cumplimiento a menudo se basa en el cumplimiento de los requisitos obligatorios con violaciones de las reglas recomendadas si se documentan adecuadamente. Los estándares permiten que las reglas se re-categoricen, si no son obligatorias, permitiendo violaciones si están justificadas y documentadas. Sin esto, tratar de corregir todas las violaciones se vuelve inviable.

Parasoft les ahorra a sus usuarios muchas horas adicionales de trabajo al proporcionar a la administración una interfaz navegable para explorar violaciones y generar automáticamente informes para evidencia de certificación, si es necesario. A continuación se muestra un ejemplo de un informe de desviación de MISRA C:

Figura 3: Un ejemplo de informe de desviación de Parasoft MISRA C.

Gestión de la acumulación de errores y advertencias de seguridad

Es importante que los equipos que adoptan el análisis estático comprendan que no es necesario corregir o analizar todas las advertencias. No todas las advertencias se crean de la misma manera, por lo que el nivel de gravedad es el mejor indicador de cuánto esfuerzo se debe poner en investigar y corregir una advertencia. Continuando con el enfoque de "línea en la arena" discutido en la primera publicación de esta serie, al indagar en la acumulación de advertencias, estamos efectivamente moviendo la línea en la arena un poco más cada vez.

Las pruebas de Parasoft Jtest y Parasoft C / C ++ permiten a los usuarios priorizar y filtrar las advertencias dentro del IDE mediante configuraciones. Por ejemplo, la gravedad y la categoría (tipo de advertencia, por ejemplo, relacionada con la seguridad) se pueden utilizar para crear un conjunto de advertencias adecuadas para el análisis. A continuación se muestra un ejemplo de configuración de nuevo usuario:

Figura 4: Ajustes de configuración de prueba personalizados dentro del IDE.

Esta configuración se puede utilizar para filtrar las advertencias en el IDE:

Figura 5: Las configuraciones se pueden seleccionar en la vista DTP Findings en el IDE.

Mover gradualmente la “línea en la arena” para abordar la siguiente categoría y prioridad más alta es el mejor enfoque para lidiar con una gran acumulación de advertencias. Eventualmente, se alcanza un punto de corte debido al tiempo y al presupuesto, pero los equipos de software deben sentirse cómodos de haber logrado una mejora significativa en la calidad y la seguridad a pesar de la acumulación de advertencias pendientes.

Resumen

En un proyecto grande, inicialmente habrá muchas advertencias, y administrarlas de manera rápida y eficiente es fundamental. Es importante que los equipos que adoptan el análisis estático comprendan que no es necesario corregir o analizar todas las advertencias, pero asegúrese de seleccionar una herramienta que le permita navegar, evaluar, priorizar y asignar errores informados para su corrección. Mover gradualmente la “línea en la arena” para abordar la siguiente categoría y prioridad más alta es el mejor enfoque para lidiar con una gran acumulación de advertencias.

Nueva llamada a la acción

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