Indus

Скриншот программы:
Indus
Детали программы:
Версия: 0.8
Дата загрузки: 3 Jun 15
Разработчик: Venkatesh Prasad Ranganath
Тип распространения: Бесплатная
Популярность: 14

Rating: 5.0/5 (Total Votes: 1)

Инд усилия, чтобы обеспечить коллекцию программа анализирует и преобразования, осуществляемые в Java, чтобы настроить и адаптировать программы Java. Инда предназначен для использования в качестве зонтика для:

* статический анализ, например, точки-анализа, анализа бежать, и зависимость анализов,
* преобразования, такие как программы нарезки и специализации программ через частичное оценка и
* любой программный модуль, который обеспечивает анализы / преобразования в конкретном приложении, например, Бандера или платформы, такие как Eclipse.

В настоящее время существует 3 модуля, которые являются частью Инда , Другие модули, как ожидается, должны быть добавлены в течение времени. Мы предоставляем обзор о намерении каждого модуля, которые доступны в настоящее время.

Инд модуль, который находится реализация относящиеся к алгоритмам и структурам данных, общих для анализа и преобразований, которые являются частью или планируемых чтобы быть частью Инда. Этот модуль содержит определение интерфейса, общие для большинства анализов и преобразований для создания рамок, в которых различные реализации анализов / преобразования могут быть объединены, чтобы сформировать системы с легкостью. Следовательно, этот модуль обновляется, когда новый вид анализа / преобразования реализован как модуль в Инд. Тем не менее, новая реализация анализ / трансформации не влияет на этот модуль, как он будет реализовывать существующий интерфейс.

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

* Анализ объекта потока (OFA) является пунктов-к анализу для Java. Каждый сайт распределение в анализируемой системы рассматривается как абстрактный объект, и его поток через систему отслеживается, чтобы вывести возможные типы приемник в колл-сайте для того, чтобы строительство точной Call-графике. Точность анализа может варьироваться в терминах потока-чувствительности для метода локальных переменных и объектов-чувствительности для полей экземпляра.

* Побег анализ реализация расширенного анализа побега, предложенной Ruf для Цель вмешательства обрезки и готовых зависимость края. Расширения в виде бесшовной добавлением эквивалентности значений к анализу, чтобы улучшить обнаружение конфликтной области чтения / записи происходит в различных потоках за рамки просто с помощью равенства типа первичных выражений доступа. Анализ также использует информацию объект потока перпендикулярно дальнейшего улучшения точности

* Зависимость анализ является коллекция зависимости анализа:. Контроля доступа на основе управления выход на основе данных идентификаторов на основе на основе ссылок Данные, интерференция, готов, синхронизация, и дивергенция, требует анализов / преобразований такого нарезки программы и частичной оценки. Вмешательство и готово зависимость анализирует зависит от предыдущего анализа эвакуации при условии ссылки на основе данных и зависимость синхронизации анализирует зависеть от информации, объект потока и расчетной информации вызова графа. Некоторые анализы различных уровней точности, которые могут быть разнообразны по хорошо определенным интерфейсом.

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

* Монитор Anlaysis это простой анализ, который обеспечивает монитор / блокировки информации график для данной системы.

* Сейф Анализ Блокировка анализ, который обнаруживает консервативно, если замок (мониторы), не будет проводиться на неопределенный срок. Эта информация используется в сочетании с временными зависимостями steming для Object.wait () и () Object.notify / Object.notifyAll (), как это делается в готовом зависимости.

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

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

модуль Java Программа Тесак содержит основную реализацию программы резки Java вместе с адаптерами, которые обеспечивают срез в других приложениях, таких как Бандера и Eclipse. Реализация архитектура в библиотеке, а не в качестве приложения, чтобы облегчить повторное использование, это подразделов. Ядро не зависит от применения; Требование каждого приложения среза могут быть удовлетворены путем кодирования до реализации интерфейсов пост-обработки и подключения в этих реализаций, чтобы сформировать индивидуальный срез.

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

Эта реализация резки доставляется Затмение с интуитивно понятным интерфейсом через Кавери плагина.

Особенности: •

назад и вперед поколения кусочек. Полное ломтики (объединение прямых и обратных ломтиками
, начиная с тех же критериев среза) могут быть получены.

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

всех модулей в Инд работы проекта на Jimple, промежуточного представления Java, представленной сажи инструментария от Sable группы в Университете Макгилла. Каждый модуль в проект будет подвергаться как один или более плагинов Eclipse, если предоставленная информация является полезной для пользователя и поддаются для потребления пользователя с помощью графического интерфейса пользователя.

Software Engineering Философия
< ш /> Каждый модуль в этом проекте будет предоставить только необходимые функции с помощью четко определенных интерфейсов, которые могут быть реализованы, чтобы собрать настроенную систему с подходящими расширениями, которые выполняют конкретные требования. Как интерфейс четко отделен от реализации, либо внешнего реализации, который обеспечивает необходимый интерфейс может быть легко использован с модулями из этого проекта.

Фон

Реализация большинства анализы был обусловлен требованиями программы резки Java, необходимых Бандеры. Однако, как программа резки может быть использован вне Бандеры и анализы могут быть использованы для того, чтобы другие преобразования, такие как программы специализации через частичной оценки, мы переехали анализ и преобразования в новый проект под названием Инд.

Комментарии к Indus

Комментарии не найдены
добавить комментарий
Включите картинки!