Indus

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

Rating: 5.0/5 (Total Votes: 1)

Инд е усилие да се осигури събирането на програма анализи и трансформации, изпълнявани в Java, за да персонализирате и да се адаптират Java програми. Indus е предназначена да служи като чадър за:
* Статичен анализ, като например точки-за анализ, да избяга анализ, и зависимостта анализи,
* трансформации като програма за нарязване и програма специализация чрез частична оценка и
* Всеки софтуерен модул, който осигурява анализите / трансформации в специално приложение като Бандера или платформа като Eclipse.
В момента има 3 модула, които са част от Инд. Повече модули се очаква да се добавя в течение на времето. Ние предлагаме преглед на намерението на всеки модул, които са налични в момента.
Indus е модул, който се помещава на изпълнението, отнасяща се до алгоритми и структури от данни, общи за анализи и трансформации, които са част от или са планирани да бъдат част от Инд. Този модул съдържа определение интерфейс общи за повечето анализи и трансформации, за да се осигури рамка, в която различни реализации на анализи / трансформации могат да се комбинират, за да образуват системи с лекота. Следователно, този модул се актуализира, когато нов вид анализ / трансформация се осъществява като модул в Инд. Все пак, нова реализация на анализ / трансформация няма да повлияе на този модул, тъй като ще приложи съществуващ интерфейс.
StaticAnalyses модул е ​​предназначен за събиране на статичен анализ като анализ обект поток, избяга анализ и зависимост анализи. Анализите в този модул се използват общи интерфейси и реализации от Инд и могат да дефинират / предоставят нови интерфейси / реализации, специфични за нови анализи. Съществуващите анализи са посочени по-долу.
* Анализ Object-поток (OFA) е точки към анализ за Java. Всеки сайт разпределение в анализирания система се разглежда като един абстрактен обект и неговата поток през системата се следи да се направи извод от възможните типове приемник на повикване-сайт, за да се даде възможност за изграждането на точното кол-графика. Точността на анализа може да се променя по отношение на потока чувствителност при метода за локални променливи и обектно-чувствителност за полета инстанция.
* Бягство Анализ е продължителен прилагане на анализа на бягство, предложен от Ruf за целите на резитба намеса и готови зависимост ръбове. Удълженията са под формата на безшевни добавяне на стойност равностойност на анализа за подобряване откриването на конфликтната област чете / пише, срещащи се в различни теми, отвъд просто използвайки тип равенство на първичните избори на изразите за достъп. Анализът също използва информационен обект поток ортогонално да подобрят още повече прецизност.
* Зависимост Analyses е колекция от зависимостта анализи: входящ контрол на основата, контрол на излизане на базата на данните Идентификатори-базирани, данни референтни-базирани, смущения, готови, синхронизация, и различия, които се изискват от анализи / трансформации такава програма нарязване и частична оценка , Намесата и Ready зависимостта анализи зависи от предишния анализ бягство докато данните модели основа и зависимостта синхронизация анализи зависи информация обектно-поток и изчисленото информация позвънете-графика. Някои анализи различна степен на точност, която може да се променя чрез добре дефиниран интерфейс.
* Анализ страничен ефект осигурява метод на ниво информация страничен ефект. Потребителят може да задава въпроси, ако някой от аргументите / параметри на покана-сайт / метод ще бъдат засегнати или пряко (непосредствените членове) или индиректно (рекурсивно достъпни членове). По същия начин, потребителят може да осигури път за достъп до данни вкоренени в аргументите / параметри на покана-сайт / метод и заявка, ако крайната точка на линията на достъп до данните е засегната от призива / метод.
* Monitor Anlaysis е прост анализ, който предоставя монитор / заключване информация графика за дадената система.
* Сейф Lock анализ е анализ, който открива, консервативно, ако ключалка (монитори) няма да бъдат държани за неопределен срок. Тази информация се използва във връзка с времеви зависимости steming за Object.wait () и Object.notify () / Object.notifyAll (), както това е направено в готов зависимост.
* Валентност Анализ предоставя информация за валентност в дадена система. Текущото изпълнение разчита на анализ за бягство да се предскаже дали изявление може да бъде изпълнена с атомна. Тази информация се използва за откриване на атомната област кодове. Тази информация е полезна при приложения като модел за проверка, за да се намали размера на пространството на състоянието, а оттам и подобряване на производителността.
Някои анализи могат да бъдат достатъчно големи, за да представлява модул на техните собствени и такива анализи ще бъдат организирани и различни модули в Indus вместо да бъдат консумирани от този модул.
Java програма Slicer модул съдържа сърцевина изпълнението на Java програма резачка заедно с адаптери, които доставят на дробилка в други приложения, като например Бандера и Eclipse. Изпълнението е с архитектура като библиотека, а не както заявка за улесняване на повторната употреба на това'S подчасти. Ядрото е независим от приложението; Изискване Всяко заявление е от частта може да бъде изпълнено чрез кодиране на реализации на пост-обработка на интерфейси и кука в тези приложения, за да образуват персонализирани резачка.
Този модул разчита основно на информацията, предоставена от зависимостта анализи и също кол-графиката, предоставена от OFA чрез добре дефинирани интерфейси, които позволяват на външни приложения, които се използват за рязане.
Това изпълнение на резачка се доставя на Eclipse с интуитивен потребителски интерфейс чрез Kaveri плъгин.
Удобства: о
Назад и напред поколение парче. Пълно филийки (Съюз на назад и напред
филийки започва от същите критерии парче) могат да бъдат генерирани.
* Подкрепа за residualize (подходящи) филийки във файлове изпълними клас.
* Поддръжка на контекстно-зависима нарязване чрез контекст богата критерии парче спецификация.
* Поддръжка за ограничаване дялът на определена част от системата от спецификациите обхват.
* Подкрепа за сериализира критерии режа, резачка конфигурации и филийки.
Всички модули в Indus работа по проекти на Jimple, междинен представителство на Java, предоставени от сажди инструментариум от Sable група в McGill University. Всеки модул в проекта, ще бъдат изложени като една или повече Eclipse плъгини, ако предоставената информация е полезна за потребителя и податлива за консумация от потребителя чрез графичен потребителски интерфейс.
Software Engineering Философия
Всеки модул в този проект ще предостави само на изискваната функционалност чрез добре дефинирани интерфейси, които могат да бъдат изпълнени, за да се съберат персонализиран система с подходящи разширения, които отговарят на специфични изисквания. Тъй като интерфейсът е ясно разграничена от изпълнението, всяка външна реализация, която осигурява необходимата интерфейс може да бъде безпроблемно използва с модули от този проект.
Фон
Изпълнението на повечето от анализите се дължи на изискванията на Java програма резачка, изисквани от Бандера. Въпреки това, както дробилка програма може да се използва извън Бандера и анализите може да се използва, за да се даде възможност на други трансформации като програма специализация чрез частична оценка, се преместихме на анализите и трансформациите в нов проект, наречен Инд.

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

Коментари не е намерена
добавите коментар
Включете на изображения!