Polyspace es una herramienta de análisis de código estático para análisis a gran escala mediante interpretación abstracta para detectar o probar la ausencia de ciertos errores de tiempo de ejecución en el código fuente para los lenguajes de programación C , C ++ y Ada . La herramienta también verifica el código fuente para verificar que cumpla con los estándares de código apropiados. [3]
Desarrollador (es) | MathWorks [1] |
---|---|
Lanzamiento estable | R2021a / 10 de marzo de 2021 |
Sistema operativo | Multiplataforma [2] |
Tipo | análisis de código estático |
Licencia | Propiedad |
Sitio web | www |
Usos comunes
Polyspace examina el código fuente para determinar dónde pueden ocurrir posibles errores de tiempo de ejecución, como desbordamiento aritmético , desbordamiento del búfer , división por cero y otros. Los desarrolladores de software y los gerentes de aseguramiento de la calidad utilizan esta información para identificar qué partes del código son defectuosas o se ha demostrado que son confiables. Otras partes del código están marcadas para comprobaciones no probadas y merecen una revisión individual. [4] [5]
Los estándares o pautas del código, como MISRA C, intentan abordar la calidad, portabilidad y confiabilidad del código. El producto comprueba el código fuente de C y C ++ para comprobar la conformidad con un subconjunto de reglas de estos estándares de codificación. [6]
Capacidades
La familia de productos consta de Polyspace Code Prover y Polyspace Bug Finder. El módulo Code Prover anota el código fuente con un esquema de codificación de colores para indicar el estado de cada elemento en el código. [7] Utiliza análisis de código estático basado en métodos formales para verificar la ejecución del programa a nivel de lenguaje. [5] La herramienta verifica cada instrucción de código teniendo en cuenta todos los valores posibles de cada variable en cada punto del código, proporcionando un diagnóstico formal para cada operación en el código en condiciones de uso tanto normales como anormales. [8]
El módulo Bug Finder identifica errores de software al realizar un análisis de programa estático en el código fuente. Encuentra defectos como cálculos numéricos, programación, memoria y otros errores. También produce métricas de software como densidad de comentarios de un archivo de origen, complejidad ciclomática, número de líneas, parámetros, niveles de llamada, etc. en una función, errores de tiempo de ejecución identificados en el software. [9]
Ver también
Referencias
- ↑ Pele, Anne-Francoise (25 de abril de 2007). "The Mathworks adquiere PolySpace Technologies" . EETimes. Archivado desde el original el 11 de febrero de 2012 . Consultado el 13 de agosto de 2010 .
- ^ Requisitos de MathWorks - Polyspace -
- ^ Deutsch, Alain (27 de noviembre de 2003). "Verificación estática de propiedades dinámicas" (PDF) . Tecnologías Polyspace. Archivado desde el original (PDF) el 13 de marzo de 2012 . Consultado el 17 de mayo de 2014 .
- ^ Mocoso, Guillaume (2004). "Evaluación experimental de herramientas de verificación y validación en el software Martian Rover". Métodos formales en el diseño de sistemas . 25 (2/3): 167–198. doi : 10.1023 / B: FORM.0000040027.28662.a4 . hdl : 2060/20040010327 .
- ^ a b Exponente (24 de septiembre de 2012). "Investigación del exponente del hardware y software del vehículo Toyota ETCS-i" . Exponente. Archivado desde el original el 27 de julio de 2014 . Consultado el 7 de septiembre de 2010 .
- ^ MathWorks: análisis de código estático .
- ^ Jones, Paul; Jetley, Raoul; Abraham, Jay (9 de febrero de 2010). "Un enfoque de verificación basado en métodos formales para el análisis de software de dispositivos médicos" . Diseño de Sistemas Embebidos . Consultado el 16 de agosto de 2010 .
- ^ Wissing, Klaus (27 de septiembre de 2007). "Análisis estático de propiedades dinámicas: verificación automática del programa para demostrar la ausencia de errores dinámicos en tiempo de ejecución" (PDF) . Taller de Análisis Aplicado de Programas . Consultado el 13 de agosto de 2010 .
- ^ "Métricas de software-MATLAB" . India: MathWorks . Consultado el 27 de agosto de 2015 .
enlaces externos
- Página web oficial