jGRASP
![]() | |
![]() jGRASP работает на Windows XP | |
Разработчик(и) | Команда jGRASP |
---|---|
Стабильная версия | 2.0.6_16
/ 5 февраля 2024 г. |
Платформа | Ява SE |
Тип | Java IDE |
Лицензия | Лицензия , бесплатное ПО |
Веб-сайт | http://www.jgrasp.org/ |
jGRASP — это среда разработки , включающая автоматическое создание программных визуализаций . Он создает статические визуализации структуры исходного кода и визуализации структур данных во время выполнения. [ 1 ]
Визуализации структуры данных времени выполнения также доступны в виде плагинов для IntelliJ IDEA , Android Studio и Eclipse .
jGRASP реализован на Java и работает на всех платформах с виртуальной машиной Java (версия Java 1.8 или выше). GRASP (Linux, UNIX) и pcGRASP (Windows) написаны на C/C++, тогда как jGRASP написан на Java («j» в jGRASP означает, что он работает на JVM). Веб-сайт jGRASP предлагает загрузки для Windows , Mac OS , а также в виде общего ZIP- файла, подходящего для Linux и других систем.
Для языков, отличных от Java и Kotlin, jGRASP — это редактор исходного кода и базовая интегрированная среда разработки. Его можно настроить для работы с большинством бесплатных и коммерческих компиляторов любого языка программирования.
Визуализации
[ редактировать ]Схема структуры управления [ 2 ] [ 3 ] (CSD) — это диаграмма потока управления, которая помещается в пространство, обычно занимаемое отступами в исходном коде. Его цель — улучшить читаемость исходного кода. jGRASP создает CSD для Java, C , C++ , Objective-C , Ada и VHDL . Окно редактирования обеспечивает свертывание на основе CSD и функцию «контекстной подсказки», которая отображает первую строку структуры кода, находящуюся за пределами экрана, когда указатель мыши наведен на ее структуру CSD.
Средства просмотра объектов Java/Kotlin [ 4 ] [ 5 ] в jGRASP обеспечивают интерфейсные, структурные и другие представления структур данных и других объектов и примитивов во время отладки и операций в рабочей среде. Например, представление на основе содержимого отображает ArrayList и LinkedList одинаково, как список элементов. Структурные представления показывают внутреннюю структуру деревьев , связанных списков , хеш-таблиц и т. д. Структурные представления связанных структур данных отображают узлы локальных переменных и их связь с основной структурой. Результат анимируется при возникновении изменений, например, при добавлении узла в связанный список. Общие структуры данных автоматически идентифицируются и структурно отображаются. Другие средства просмотра показывают, например, образец цвета для цвета, изображение для значка и двоичные детали двойника. Несколько средств просмотра можно объединить в одном окне холста средства просмотра, а содержимое можно сохранить в файл.
График профиля сложности [ 6 ] (CPG) — это диаграмма сложности на уровне операторов. Его цель — помочь идентифицировать слишком сложные области исходного кода. jGRASP генерирует CPG как для Java, так и для Ada. Метрика включает в себя общие показатели, такие как доступность и сложность контента, которые можно отображать индивидуально.
jGRASP также генерирует диаграммы UML для Java с интерактивной информацией о зависимостях.
История
[ редактировать ]jGRASP был создан Джеймсом Кроссом и Ларри Баровски на факультете компьютерных наук и разработки программного обеспечения Инженерного колледжа Сэмюэля Гинна Обернского университета . Он поддерживается и оценивается командой jGRASP . Разработка jGRASP поддержана исследовательским грантом Национального научного фонда .
Разработка предыдущих версий GRASP поддерживалась исследовательскими грантами НАСА Центра космических полетов имени Маршалла , Агентства перспективных исследовательских проектов Министерства обороны США ( DARPA ) и Агентства оборонных информационных систем ( DISA ).
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Главная страница jGRASP» . www.jgrasp.org . Проверено 01 июня 2020 г.
- ^ « Визуальная поддержка поэтапной абстракции и уточнения в Ada 95 »
- ^ " GRASP/Ada 95: Визуализация с помощью диаграмм структуры управления "
- ^ « Программы просмотра динамических объектов для структур данных »
- ^ « Расширяемая платформа для визуализации динамической структуры данных в облегченной IDE »
- ^ « Визуализация и измерение исходного кода »