Мы строим программное обеспечение с использованием Hudson и Maven. У нас есть С#, java и последние, но не в последнюю очередь PL/SQL-источники (sprocs, packages, DDL, crud)
Для С# и Java мы выполняем модульные тесты и анализ кода, но мы действительно не знаем, как работают источники PL/SQL, прежде чем мы опубликуем их в целевой базе данных.
Требования
Есть несколько вещей, которые мы не тестировали в следующем приоритете:
- Являются ли источники действительными, следовательно "компилируемыми"?
- Для пакетов, относящихся к определенной базе данных, они будут компилироваться?
- Качество кода: есть ли у нас недостатки кода, такие как дубликаты, слишком сложные методы или другие нарушения для определенного набора правил?
Кроме того,
- инструмент должен работать без заголовка (commandline, ant,...)
- мы хотим провести анализ на частичной базе кода (только с измененными источниками)
Инструменты
Мы провели небольшое исследование и нашли следующие инструменты, которые могли бы потенциально помочь:
- Внедрить платформу Application Intelligence Platform (AIP): Кажется, это сервер, который захватывает информацию о "чем угодно", Не удалось найти консольную версию, которая будет экспортироваться в читаемом формате.
- Жаба для Oracle: В версии Professional включена функция Xpert, которая проверяет набор правил против база кода.
- Sonar + PL/SQL- Плагин: Использует Toad для Oracle для отображения кода-здоровья сонара. Это для просмотра текущего состояния базы кода.
- Семантические проекты DMSToolkit: Достаточно общий анализ исходной базы. Доступна ли командная строка?
- Детектор клонов семантических дизайнов: Обнаруживает клоны. Но также через командную строку?
- Укрепить анализатор исходных кодов: Кажется, что сосредоточено на проблемах безопасности. Но, может быть, это расширяемо? подробнее...
До сих пор Жаба для Oracle вместе с Sonar кажется элегантным решением. Но может быть, мы что-то упустили?
Любые идеи? Другие продукты? Опыт?