database - herramientas - analisis estatico mecanica
¿Alguna herramienta de análisis de código estático para procedimientos almacenados? (9)
¿Existen herramientas de análisis de código estático para procedimientos almacenados escritos particularmente en PL / SQL y T-SQL ?
Lo más cercano que conozco son las funciones del plan de consulta estimadas y reales disponibles en SQL Server Management Studio, pero supongo que es similar para otros motores SQL.
No que yo supiese. Con respecto a PL / SQL, dado que Oracle no expone gran parte de su motor de compilación PL / SQL, es difícil encontrar soporte para la herramienta.
Lo máximo que he podido hacer es consultar el diccionario de datos para hacer cosas como mapear las dependencias del paquete.
Para T-SQL, Microsoft tiene la edición de base de datos de VS Team Suite (aunque, creo que ahora está en el SKU de desarrollo). Este enlace se refiere a cómo escribir su propia regla de análisis de código estático para T-SQL: http://blogs.msdn.com/gertd/archive/2009/01/01/creating-t-sql-static-code-analysis-rules. aspx
Oracle tiene algunas cosas poco conocidas incorporadas.
Pruebe esto en 10g versión 2 o superior:
ALTER SESSION PLSQL_WARNINGS = ''ENABLE:ALL'';
Luego compila tu paquete PL / SQL (no un bloque anónimo).
Toad presenta la utilidad CodeXpert para comprobar estáticamente tu código PL / SQL.
La utilidad puede escanear archivos o conectarse directamente a la base de datos Oracle. Por lo que he visto, funciona solo en Windows.
Para PL / SQL, Toad CodeXpert se puede ampliar con Sonar , una herramienta de código abierto para administrar la calidad del código a través de un complemento.
Supongo que también sería posible escribir un complemento para T-SQL.
Nuestro motor de búsqueda de código fuente SD es una herramienta para buscar de forma interactiva grandes bases de código fuente en muchos lenguajes de computadora (incluyendo PL / SQL) de manera eficiente, preindexando los archivos de código fuente por sus tokens (identificadores, números, etc.). Como efecto secundario del paso de preindexación, calcula las métricas estándar: SLOC, Cyclomatic, Halstead, ... para cada archivo y produce un informe. Vea el sitio para un ejemplo.
Nuestro SD CloneDR es una herramienta para analizar grandes bases de código redundante. Lo hemos aplicado a PL / SQL, y hemos visto algo así como el 45% del código involucrado en clones. YMMV. El CloneDR funciona con una gran variedad de lenguajes; ver el sitio para la detección de clones de muestra se ejecuta en algunos de esos otros lenguajes.
EDITAR 10/4/2010:
Nuestro motor de búsqueda de código fuente está diseñado para permitir búsquedas muy rápidas en códigos grandes de idiomas mixtos. Lo logra al preindiquetar el código fuente. Como efecto colateral del paso de indexación, calcula una variedad de métricas, incluidas las medidas de complejidad de Cyclomatic y Halstead.
Acabo de agregar: no es una herramienta de análisis estático, sino que generalmente es de interés para las personas interesadas en la calidad del software: nuestro TestCoverage para los procedimientos almacenados PLSQL .
Prueba gratis Sql Code Guard . Proporciona un análisis estático rápido y completo para el código T-Sql, muestra la complejidad del código y las dependencias de objetos
Como seguimiento en la publicación de T-SQL; Las ediciones de desarrollo de bases de datos VS2010 y VS2008 vienen con reglas de análisis estático integradas. Estos son extensibles por el usuario, es decir, puede escribir sus propias reglas de análisis en un lenguaje .net. El proyecto de código abierto Neznayka viene con un conjunto inicial de 22 reglas, y constituye una base útil para que usted comience a contribuir con las suyas propias.
Hay que admitir que tienes que desembarazarse de Visual Studio y estar preparado para desarrollar código db utilizando proyectos de VS, pero las versiones recientes de SSDT como complemento de SSMS aumentan la posibilidad de que Microsoft lo haga, si tiene la fuerza de voluntad para hacerlo. , permite que las reglas escritas por el usuario se distribuyan en entornos que usan proyectos de MS SQL ''de forma gratuita'' para desarrollar código de base de datos.
El enlace para Neznayka .
O busca en la web.