Pergunta

As ferramentas Existe alguma análise estática de código para procedimentos armazenados escrito especialmente na PL / SQL e T-SQL ?

Foi útil?

Solução

Para T-SQL, a Microsoft tem a edição de banco de dados de VS Team Suite (embora, eu acredito que a sua agora no dev SKU). Este link fala sobre escrever a sua própria regra de análise estática de código para T-SQL: http://blogs.msdn.com/gertd/archive/2009/01/01/creating-t-sql-static-code-analysis-rules.aspx

Outras dicas

A Oracle tem algumas coisas conhecida-pouco embutidos.

Tente isto em 10g Release 2 ou superior:

ALTER SESSION PLSQL_WARNINGS = 'ENABLE:ALL';

Em seguida, compilar seu pacote PL / SQL (não um bloco anônimo).

Sapo apresenta o CodeXpert utilitário para verificar estaticamente o código PL / SQL.

O utilitário pode arquivos digitalizar ou conectar diretamente ao banco de dados Oracle. Tanto quanto eu vi, funciona apenas no Windows.

Tente livre Sql Guard Code . Ele fornece rápido e análise estática abrangente para o código T-SQL, mostra a complexidade do código e objetos dependências

Para PL / SQL, Toad CodeXpert pode ser estendido com sonar , uma ferramenta open source para gerenciar a qualidade do código através de um plugin.

Eu acho que seria possível escrever um plugin para o T-SQL também.

A coisa mais próxima que eu conheço são o href="http://technet.microsoft.com/en-us/library/ms178071.aspx" rel="nofollow noreferrer"> plano de consulta funções disponíveis no SQL Server Management Studio mas eu acho que não há semelhante para outros motores SQL.

Nossa href="http://www.sematnicdesigns.com/Products/SearchEngine" rel="nofollow noreferrer"> SD Source Code Search Engine é uma ferramenta para interativamente à procura de grandes bases de código fonte em muitas linguagens de computador (incluindo PL / SQL) de forma eficiente, por preindexing os arquivos de código fonte por seus símbolos (identificadores, números, etc). Como um efeito colateral da etapa preindexing, ele calcula métricas padrão: SLOC, Cyclomatic, Halstead, ... para cada arquivo e produz um relatório. Consulte o site para um exemplo.

Nosso SD CloneDR é uma ferramenta para analisar grandes bases de código para o código redundante. Nós aplicamos à PL / SQL, e ter visto algo como 45% do código envolvido em clones. YMMV. O CloneDR trabalha com um grande variet de langauges; veja o site de exemplo é executado detecção de clone em algumas dessas outras langauges.

EDIT 2010/10/04:

Nosso Source Code Search Engine é projetado para permitir buscas muito rápidas em toda a grandes códigos de mixed línguas. Sucede por preindexing o código fonte. Como um efeito colateral do passo de indexação, que calcular uma variedade de indicadores, incluindo medidas Cyclomatic e Halstead de complexidade.

Apenas acrescentou: não é uma ferramenta de análise estática, mas geralmente de interesse para as pessoas interessadas de qualidade de software: nossa TestCoverage para PLSQL procedimentos armazenados .

Não que eu estou ciente de. Regardng PL / SQL, desde que a Oracle não expõe muito de seu PL / SQL compilação motor é difícil de encontrar apoio ferramenta.

O máximo que eu fui capaz de fazer é consultar o dicionário de dados para fazer coisas como mapear as dependências de pacotes.

Como uma continuação do post para T-SQL; edições de desenvolvimento de banco de dados VS2010 e VS2008 vêm com build-in regras de análise estática. Estes são extensíveis usuário, ou seja, você pode escrever suas próprias regras de análise em uma linguagem .net. O projeto open-source Neznayka vem com um conjunto inicial de 22 regras, e constitui uma base útil para você começar a contribuir seu próprio país.

É verdade que você tem de desembolsar para Visual Studio e estar preparado para desenvolver db código usando projetos VS, mas as versões recentes do SSDT como um plug-in para o SSMS levanta a perspectiva de que a Microsoft pode, se tem a força de vontade para fazê-lo, permitir que as regras escritas pelo usuário para ser distribuído para ambientes que utilizam projetos de MS SQL ' de graça' para desenvolver código de banco de dados.

O link para Neznayka .

Ou pesquisar na web.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top