Обозреватели и базы данных программ 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Обозреватели и базы данных программ



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

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

Примеры инструментов, разработанных для выполнения запросов к исходному коду и упрощающих просмотр текста:

  • Omega [Linton 1984];
  • CIA [Chert, Nishimoto, Ramamoorthy 1990] и CIA++ [Grass 1992];
  • Microscope [Ambras, O'Day 1987].

Средства обнаружения плагиата

Инструменты для определения плагиата в программах (особенно академических) в основном базируются на метриках Холстеда. Другая категория таких инструментов использует статическое дерево исполнения (граф потока управления) программы, чтобы составить "отпечаток пальцев" программы. Далее дерево исполнения анализируется, и на основе анализа делаются выводы о том, была ли программа заимствована. Основное ограничение таких систем состоит в том, что сравнение программ в них зависит от статистической информации.

В работе (http://www.iam.unibe.ch/~scg/) представлено средство обнаружения повторяющихся участков кода. В нем используется техника абстракции от языка. Это осуществляется с помощью подхода, названного авторами визуализацией кода. Он основан на первоначальном преобразовании кода к удобному для дальнейшего исследования виду. Данный подход базируется на преобразовании текста, а не на синтаксических сущностях.

Текстовые редакторы

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

  • Строковые редакторы, позволяющие смотреть и редактировать текст только на одной строке. При этом текст воспринимается как последовательность строк, разделенных символом "конец строки".
  • Потоковые редакторы, позволяющие воспринимать текст в виде потока символов. При этом признаки конца строки также являются символами.
  • Экранные редакторы, позволяющие перемещать по тексту окно, в котором можно передвигать курсор и устанавливать его в нужные позиции. Многие экранные текстовые редакторы позволяют видеть на экране текст в том виде, в котором он будет напечатан (концепция What You See Is What You Get - WYSIWYG).

Сейчас распространены универсальные текстовые редакторы, которые избыточны для большинства конкретных задач. Рассмотрим несколько уровней текстовых редакторов, каждый из которых обладает дополнительными возможностями по сравнению с предыдущими:

1. Редакторы для составления программ. Их основные возможности - поддержка средств работы с блоками текста, поиск и замена по файлу.

2. Редакторы для подготовки статей без графики и сложных формул. Добавляются возможности форматирования абзацев, расстановки переносов и разбиения текста на страницы.

3. Редакторы для подготовки статей со сложными рисунками и формулами. Добавляются возможности включения графики в текст, поддержки многих кодировок и управления шрифтами.

4. Редакторы для подготовки книг и журналов. Добавляются возможности работы с большими файлами и сбор оглавления.

5. Редакторы для подготовки научно-технической документации. Добавляются возможности поддержки" листов изменений, колонтитулов и предметных указателей.

Редакторы для составления программ могут учитывать синтаксическую структуру обрабатываемой программы и выполнять дополнительный анализ и проверку (см. разд. 5.3.1.7).

Вот несколько наиболее известных и популярных текстовых редакторов:



Поделиться:


Последнее изменение этой страницы: 2021-01-08; просмотров: 62; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.166.7 (0.005 с.)