Polyspace es una herramienta de análisis de código estático para análisis a gran escala mediante interpretación abstracta , que permite detectar o demostrar la ausencia de ciertos errores de ejecución en el código fuente de los lenguajes de programación C , C++ y Ada . La herramienta también verifica que el código fuente cumpla con los estándares de codificación adecuados. [ 3 ]
Historia
Polyspace fue desarrollado originalmente por la empresa francesa PolySpace Technologies , que fue adquirida por MathWorks en 2007. [ 4 ] Posteriormente, el producto se integró en MATLAB.
Usos comunes
Polyspace analiza el código fuente para determinar dónde podrían ocurrir posibles errores en tiempo de ejecución, como desbordamiento aritmético , desbordamiento de búfer , división por cero , entre otros. Los desarrolladores de software y los responsables de control de calidad utilizan esta información para identificar qué partes del código son defectuosas o cuáles han demostrado ser fiables. Otras partes del código se marcan para comprobaciones no probadas y merecen una revisión individual. [ 5 ] [ 6 ]
Los estándares o directrices de codificación, como MISRA C, intentan abordar la calidad, la portabilidad y la fiabilidad del código. El producto comprueba que el código fuente de C y C++ cumpla con un subconjunto de reglas de estos estándares de codificación. [ 7 ]
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 por colores para indicar el estado de cada elemento del código. [ 8 ] Utiliza análisis de código estático basado en métodos formales para verificar la ejecución del programa a nivel de lenguaje. [ 6 ] La herramienta comprueba cada instrucción del 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 del código tanto en condiciones de uso normales como anormales. [ 9 ]
El módulo Bug Finder identifica errores de software mediante el análisis estático del código fuente. Detecta defectos como errores de cálculo numérico, programación, memoria y otros. También genera métricas de software como la densidad de comentarios de un archivo fuente, la complejidad ciclomática, el número de líneas, parámetros, niveles de llamadas, etc., en una función, y los errores de ejecución identificados en el software. [ 10 ]
Véase también
Referencias
- ↑ Pele, Anne-Francoise (25 de abril de 2007). "Mathworks adquiere PolySpace Technologies" . EETimes. Archivado del original el 11 de febrero de 2012. Consultado el 13 de agosto de 2010 .
- ↑ MathWorks - Polyspace - Requisitos
- ↑ Deutsch, Alain (27-11-2003). "Verificación estática de propiedades dinámicas" (PDF) . Polyspace Technologies. Archivado del original (PDF) el 13-03-2012 . Recuperado el 17-05-2014 .
- ↑ Pelé, Anne-Françoise (25 de abril de 2007). "Mathworks adquiere PolySpace Technologies" . EE Times . Consultado el 12 de julio de 2024 .
- ↑ Brat, Guillaume (2004). "Evaluación experimental de herramientas de verificación y validación en el software del rover marciano". 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 .
- 1 2 Exponent (24-09-2012). "Investigación de Exponent sobre el hardware y el software del vehículo Toyota ETCS-i" . Exponent. Archivado del original el 27-07-2014 . Recuperado el 07-09-2010 .
- ↑ MathWorks: análisis de código estático .
- ↑ Jones, Paul; Jetley, Raoul; Abraham, Jay (2010-02-09). "Un enfoque de verificación basado en métodos formales para el análisis de software de dispositivos médicos" . Embedded Systems Design . Recuperado el 2010-08-16 .
- ↑ Wissing, Klaus (27 de septiembre de 2007). "Análisis estático de propiedades dinámicas: verificación automática de programas para demostrar la ausencia de errores dinámicos en tiempo de ejecución" (PDF) . Taller sobre análisis de programas aplicados . Consultado el 13 de agosto de 2010 .
- ↑ "Métricas de software-MATLAB" . India: MathWorks . Consultado el 27 de agosto de 2015 .
Enlaces externos
- Herramientas de análisis estático de programas
- Herramientas de prueba de software
- Interpretación abstracta