Есть ли инструменты статического анализа кода для хранимых процедур?[закрыто]

StackOverflow https://stackoverflow.com/questions/531430

Вопрос

Есть ли какие-нибудь статический анализ кода инструменты для хранимые процедуры написано, в частности, на ПЛ/SQL и Т-SQL?

Это было полезно?

Решение

Для T-SQL у Microsoft есть версия базы данных VS Team Suite (хотя, я полагаю, сейчас она находится в версии для разработчиков).По этой ссылке рассказывается о написании собственного правила статического анализа кода для T-SQL: http://blogs.msdn.com/gertd/archive/2009/01/01/creating-t-sql-static-code-anaанализ-rules.aspx

Другие советы

В Oracle встроено несколько малоизвестных вещей.

Попробуйте это в 10g Release 2 или выше:

ALTER SESSION PLSQL_WARNINGS = 'ENABLE:ALL';

Затем скомпилируйте пакет PL/SQL (не анонимный блок).

Жаба имеет КодЭксперт утилита для статической проверки вашего кода PL/SQL.

Утилита может либо сканировать файлы, либо напрямую подключаться к базе данных Oracle.Насколько я видел, работает только на Windows.

Попробовать бесплатно Защита кода Sql.Он обеспечивает быстрый и всесторонний статический анализ кода T-Sql, показывает сложность кода и зависимости объектов.

Для PL/SQL Toad CodeXpert может быть расширен с помощью Sonar, инструмент с открытым исходным кодом для управления качеством кода с помощью плагина.

Я думаю, можно было бы написать плагин и для T-SQL.

Самое близкое, что я знаю, это предполагаемый и фактический план запроса функции, доступные в Студия управления SQL-сервером но я предполагаю, что есть похожий для другой SQL-движки.

Наш Поисковая система исходного кода SD это инструмент для эффективного интерактивного поиска в больших базах исходного кода на многих компьютерных языках (включая PL/SQL) путем предварительной индексации файлов исходного кода по их токенам (идентификаторам, числам и т. д.).В качестве побочного эффекта этапа предварительной индексации он вычисляет стандартные метрики:СЛОК, Цикломатик, Холстед, ...для каждого файла и составляет отчет.Посмотрите на сайте пример.

Наш SD-клонDR — инструмент для анализа больших баз кода на наличие избыточного кода.Мы применили это к PL/SQL и увидели, что около 45% кода задействовано в клонировании.ЮММВ.CloneDR работает с большим количеством языков;см. сайт, где можно найти образцы обнаружения клонов на некоторых других языках.

РЕДАКТИРОВАНИЕ 4.10.2010:

Наш Поисковая система исходного кода разработан для обеспечения очень быстрого поиска по большим кодам смешанных языков.Это достигается за счет предварительной индексации исходного кода.В качестве побочного эффекта этапа индексирования он вычисляет различные метрики, включая цикломатические меры сложности и меры Холстеда.

Только что добавлен:не инструмент статического анализа, но в целом представляющий интерес для людей, заинтересованных в качестве программного обеспечения:наш TestCoverage для хранимых процедур PLSQL.

Не то, чтобы я знал об этом.Что касается PL/SQL, поскольку Oracle не предоставляет большую часть своего механизма компиляции PL/SQL, трудно найти поддержку инструментов.

Максимум, что мне удалось сделать, — это запросить словарь данных, чтобы выполнить такие действия, как сопоставление зависимостей пакета.

В продолжение поста о T-SQL;Редакции для разработки баз данных VS2010 и VS2008 поставляются со встроенными правилами статического анализа.Они расширяются пользователем, т.е.вы можете написать свои собственные правила анализа на языке .net.Проект с открытым исходным кодом «Незнайка» включает в себя первоначальный набор из 22 правил и представляет собой полезную базу для того, чтобы вы могли начать вносить свои собственные.

По общему признанию вам нужно раскошелиться на Visual Studio и быть готовым к разработке кода DB с использованием проектов VS, но недавние выпуска SSDT в качестве плагина для SSMS повышает перспективу, что Microsoft может, если у нее есть сила воли для этого , разрешите, что правила, написанные пользователями, распределять в средах, которые используют проекты MS SQL «бесплатно» для разработки кода базы данных.

Ссылка на Незнайка.

Или поищите в сети.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top