Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Текст диплома магистра - 12 июня 2014.doc
Скачиваний:
7
Добавлен:
01.07.2025
Размер:
4.87 Mб
Скачать

6.2.6 Взаимодействие модуля с базой языков (добавление языка в базу)

Взаимодействие модуля с базой языков (добавление языка в базу) показано на рисунке 18:

1) Нормализация файла с операторами языка.

2) Занесение списка операторов в базу языков программирования.

3) Создание файла для списка файлов этого языка.

4) Добавление названия нового языка в файл известных языков.

Рисунок 18 Взаимодействие модуля с базой языков

6.2.7 Пакетный режим анализа (1->n)

При пакетном режиме анализа (режим сравнения программ 1->n) – режим, при котором текст одной из программ (в левом окне) автоматически (без участия пользователя) сравнивается двумя методами (частотным анализом и анализом последовательности операторов) с каждой из программ в списке (файле Batch.txt) и последующей автоматической записью этого сравнения в сводный отчет.

6.2.8 Полный анализ (n->n)

При полном анализе (режим сравнения n->n) – режим, при котором текст каждой из программ в базе данных (файле списка файлов для данного языка, например, DelphiF.txt) сравнивается двумя методами (частотным анализом и анализом последовательности операторов) с каждой из программ в базе данных (файле списка файлов для данного языка, например, DelphiF.txt) и последующей автоматической записью этого сравнения в итоговый отчет.

6.2.9 Поиск первоисточника и списка первоисточников

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

6.2.10 Некоторые особенности модуля

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

Для повышения надежности и скорости работы программы на медленных ПК, следует исключать из добавляемых файлов стандартные части, свойственные данному языку программирования, а так же из базы операторов языка программирования те оператоы, которые обычно используются в качестве разделителей (например, в C++ обычно разделяют текст программы с помощью «////////////////////////»).

6.3 Описание отчетов по анализу плагиата

6.3.1 Критерии автоматического заключения о наличии плагиата при пакетном и полном анализе

Ввиду того, что при пакетном и полном анализе человек не включен в процесс принятия решения о наличии плагиата, предложены следующие эмпирические критерии:

1. Для частотного анализа сравнивается число типов операторов в двух файлах. Вычисляются два числа: число типов операторов, которые по частоте вхождения полностью совпали, и число типов операторов, разница в частоте вхождения которых отличается не более, чем на 1%. Второе число введено для того, чтобы иметь возможность учитывать практически идентичные, но не полностью совпадающие частоты вхождения типов операторов. Вывод о наличии плагиата по частоте операторов делается в том случае, если хотя бы для одного из сравниваемых файлов процент одинаковых со вторым файлом типов операторов превосходит выбранное пользователем значение (по умолчанию 70%). Эта доля выбирается пользователем в окне групповых режимов анализа и может иметь следующие значения (в процентах): 30,40,50,60,70,80,90. Если эта доля не выбрана, то предполагается критерий – 70%. То есть устанавливается, что если в двух сравниваемых программах доля практически идентичных по количеству вхождений типов операторов превышает 70% от общего числа типов операторов в одной из программ, то делается вывод о наличии плагиата.

2. Для анализа последовательности совпавших типов операторов критерий заключения о наличии плагиата устанавливается исходя из доли длины совпавшей последовательности экземпляров операторов к числу экземпляров операторов в программе. Эта доля выбирается пользователем в окне групповых режимов анализа и может иметь следующие значения (в процентах): 10,20,30,40,50. Если эта доля не выбрана, то предполагается критерий – 50%. То есть устанавливается, что если в двух сравниваемых программах совпадающая последовательность экземпляров операторов превышает половину программы.