Moose

Бесплатно
Открытый исходный код
Windows
macOS
Linux

Сайт: moosetechnology.org

Moose — это платформа для анализа программного обеспечения и данных, разработанная в среде Pharo Smalltalk. Она представляет собой набор инструментов и библиотек для импорта, моделирования, измерения, запросов, майнинга и визуализации информации о программных системах и связанных артефактах. Moose ориентирован на исследовательские и инженерные задачи в области обратного проектирования, анализа эволюции кода, метрик качества и построения кастомных инструментов анализа.

Проект включает средства для конструирования метамоделей, представления исходного кода и метаданных в виде удобных моделей, выполнения сложных запросов по моделям и последующей визуализации результатов. Moose поддерживает интеграцию с различными источниками данных (репозитории кода, исходные файлы, артефакты сборки) через механизмы импорта и преобразования в внутренние представления, что позволяет исследователям и разработчикам создавать на его базе адаптированные аналитические решения.

  • Моделирование: гибкие метамодели и представления кода для анализа структурных и семантических свойств программных систем.
  • Импорт данных: конвертеры и адаптеры для загрузки исходного кода, истории версий и других артефактов в единую модель.
  • Запросы и навигация: поддержка выразительных языков запросов и API для обхода и фильтрации моделей.
  • Измерения и метрики: наборы готовых метрик и инструменты для определения пользовательских показателей качества и сложности.
  • Майнинг исторических данных: анализ эволюции проекта на основе информации из систем контроля версий и других журналов изменений.
  • Визуализация: средства построения диаграмм, графов и других визуальных представлений результатов анализа.
  • Расширяемость: модульная архитектура, позволяющая добавлять плагины и адаптировать платформу под специфические задачи.
  • Инструментальная интеграция: возможности для создания интерактивных инструментов и пользовательских интерфейсов на базе платформы Pharo.
  • Исследовательское применение: использование в академических и прикладных исследованиях по программной инженерии и добыче знаний из артефактов разработки.
Подробнее