Программах в аннотация. В




НазваниеПрограммах в аннотация. В
страница1/14
Дата публикации18.06.2014
Размер1.33 Mb.
ТипПрограмма
literature-edu.ru > Авто-обзор > Программа
  1   2   3   4   5   6   7   8   9   ...   14


ОБЗОР АВТОМАТИЧЕСКИХ ДЕТЕКТОРОВ ПЛАГИАТА

ПРОГРАММАХ

В


Аннотация. В данном обзоре рассматриваются различные подходы к ав­томатическому обнаружению плагиата в программах. Сначала рассматри­вается вопрос о том, что такое плагиат. Далее переходим к обсуждению как его искать, какие модели или представления программ полезны и ка­кие алгоритмы на них используются. В конце расскажем о детекторах плагиата существующих в настоящее время и проанализируем результа­ты тестирования этих детекторов.


Содержание

1. Введение 2

  1. Различные понимания и определения плагиата 2

  2. Специфика автоматического поиска плагиата 2

  3. Специфика поиска плагиата в программах 3

  4. Общая схема поиска 4

  5. Какими должны быть метрики 4

  6. Судебная аналитика ПО 4

  7. Классификация методов поиска плагиата 6

2. Модели представления программ 7

  1. В виде элемента n-мерного пространства 7

  2. PI сходный код 8

  3. Токенизация 8

3. Алгоритмы 9

  1. Алгоритм Хескела 9

  2. Выравнивание строк 9

  3. Жадное строковое замощение 11

  4. Колмогоровская сложность в задаче нахождения плагиата 14

  5. Conceptual graph или Abstract Syntax tree 17

  6. Метод идентификационных меток 18

  7. Метод поиска на XML представлении 20

  8. Нейросетевые методы обнаружения плагиата 24

4. Обзор детекторов 27

  1. Сводная таблица детекторов 27

  2. Используемые алгоритмы 28

  3. Open-source детекторы 28

  4. Детекторы доступные online 29

  5. Автоматизация проверки на плагиат 32

  6. Представление результатов 32

  7. Сравнительная таблица удобства использования 33

  8. Выводы 33

5. Тестирование 34
5.1. Цели тестирования 34


1

  1. Обзор тестов 34

  2. Принципы оценки результатов тестирования 35

  3. Общие результаты тестирования 36

  4. Анализ результатов проведенного тестирования 36
    6. Заключение 38





  1. Нерассмотренные детекторы 38

  2. Плюсы и минусы существующих детекторов и алгоритмов 39

  3. Дальнейшие планы 40

  4. Смежные области 40
    Список литературы 40
    1.
    Введение

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

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

Задача поиска плагиата, так и понятие плагиата достаточно широко и нечет­ко, более того, многие в зависимости от области, в которой они работают, по­нимают плагиат по разному. Поэтому в данной главе мы рассмотрим вопрос о том, как понимается плагиат в различных предметных областях и дадим несколько определений.

  1. Различные понимания и определения плагиата.

Плагиат - буквальное заимствование из чужого литературного про­изведения без указания источника [5].



изобретателя. Состоит в незаконном использовании под своим именем чужого произведения (научного, литературного, музыкального) или изоб­ретения, рационализаторского предложения (полностью или частично) без указания источника заимствования. [6]



жих произведений под своим именем без указания источника или ис­пользование без преобразующих творческих изменений, внесенных за-имствователем. [7]



науки, литературы или искусства. Не считается плагиатом заимство­вание темы или сюжета произведения либо научных идей, составляю­щих его содержание, без заимствования формы их выражения.[ Глос­сарий, га]



использовании под своим именем чужого произведения (научного, ли­тературного, музыкального) или изобретения, рационализаторского пред­ложения (полностью или частично) без указания источника заимство-вания[3] . Принуждение к соавторству также рассматривается как пла­гиат [4].

Вышеприведенные определения являются близкими по смыслу, тем не ме­нее, наиболее четкими представляются юридические определения, и поэтому их мы выберем за основу.

  1. Специфика автоматического поиска плагиата. Автоматический по­иск — это поиск без участия человека, как эксперта, поэтому все критерии должны быть заданы заранее и кроме того, быть достаточно четкими. В слу­чае поиска плагиата, некоторые специфические нечеткие критерии обычно от­брасываются:

  • Вопрос о соответствии законодательству. (Является ли совершенное преступлением?)

  • Вопрос об умышленности деяния. (Было ли совершенное деяние, совер­шено намеренно?)

Таким образом, если не рассматривать смежные вопросы, которые мы опи­сали выше, задача поиска плагиата сводится к задаче — определить была ли использована некоторая, чужая идея в программе.

На практике некоторым образом задается функция близости (а лучше мет­рика) и некоторый порог, по которому можно определить насколько вероятно, что часть программного кода была украдена.

1.3. Специфика поиска плагиата в программах. Здесь мы рассмотрим некоторые моменты, связанные со спецификой поиска плагиата в программах, ответим на следующие вопросы:


текста, или просто длинной строки символов?

Определение. Программа - (от греч. programma - объявление, распоряже­ние, указ), ■■■4) Упорядоченная последовательность действий для ЭВМ, ре­ализующая алгоритм решения некоторой задачи [6]

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

Материалом для анализа, может являться программа в каком-то из ее пред­ставлениях. В частности существенно разные подходы используются при ана­лизе (например, в случаях судебных разбирательств) исходного и исполняемого кода программы.

Исходный код программы анализировать легче, поскольку в нем сохраняет­ся больше характеристик свойственных конкретному автору (в основном это ка­сается стилистических особенностей автора, которые при компиляции в основ­ном утрачиваются). Тем не менее, и по исполняемому коду тоже можно искать, много индивидуальной информации храниться и там (используемые алгорит­мы, специфические ошибки, способ организации данных) [1].



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

соответственно можно подходить при анализе к ней как черному ящику.

меняться от подхода к подходу, сильно зависит от того сразу ли была написана программа или маленькими шагами)
фика данной предметной области. Это хорошо описано в [1], [2].

  1. Общая схема поиска.


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

  1. Какими должны быть метрики. В статье [8] Whale сформулиро­вал какими качествами должны обладать метрики, чтобы быть полезными на практике:




  1. Они должны представлять такие характеристики, которые достаточно трудно изменить, пытаясь замаскировать копию.

  2. Должны быть устойчивы к незначительным изменениям исходного ко­да

  3. Должно быть просто сравнивать используя эти метрики.

  4. Должны быть достаточно общими (чтобы быть применимыми к доста­точно широкому ряду например языков программирования)


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


Судебная аналитика Программного обеспечения (Software Forensics) решает четыре задачи, тесно связанные с задачей поиска плагиата:

Дифференциация авторов (Author discrimination) — задача определить написаны ли куски произведений(куски кода) одним и тем же автором или разными. В случае незаконного использования чужих идей - это плагиат.



автора.

determination).

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

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

Рассмотрим критерии оценки программ судебной аналитики:

На исходном коде |2|:

  1. Количество различных типов структур данных

  2. Цикломатическая сложность (мера сложности Мак-Кейба и т.д.)(М-N+2P) на управляющем графе

  3. Качество и количество комментариев. Лингвистические особенности.(Грамматические ошибки, стиль в комментариях и т.д.)

  4. Именование переменных (осмысленность, венгерская нотация, большие/маленькие буквы ...)

  5. Стиль написания текста (отступы, оформление блоков кода ...)

  6. Использованные алгоритмы (показывают об уровне образования...)

  7. Использование системных вызовов(не дублируют ли написанные функ­ции уже реализованные системные вызовы - как степень знакомства с системой)

  8. Ошибки (обычно те, которые редко проявляются; замечено, что такие ошибки имеют тенденцию сохраняться от программы к программе, на­пример, лишний виток в for)


Также очень интересны методы для анализа вопросов авторства и наличия плагиата в исполняемом коде. Краткий обзор дан также в [2].

  1   2   3   4   5   6   7   8   9   ...   14

Добавить документ в свой блог или на сайт

Похожие:

Программах в аннотация. В iconЗаголовок доклада (12 pt Times New Roman, Style TitleA)
Аннотация: Аннотация должна быть написана на русском языке в объем 5-8 строк. Следует избегать использования аббревиатур без предварительного...

Программах в аннотация. В iconДолжности руководителя клуба
Эта декларация должна быть напечатана во всех программах матчей и хорошо видна внутри стадиона

Программах в аннотация. В iconЗакон РФ «Об образовании»
...

Программах в аннотация. В iconДолжности руководителя клуба
Эта декларация должна быть напечатана во всех программах матчей и хорошо видна внутри стадиона

Программах в аннотация. В iconАннотация дисциплины общая композиция

Программах в аннотация. В iconОбразовательная программа Начальное общее образование 1 класс Русский язык Р. Н. Бунеев
Информация об используемых образовательных программах, учебно-методических комплектах

Программах в аннотация. В iconСведения об учебных программах, реализуемых общеобразовательным учреждением. Таблица n 4
Программы для общеобразовательных учреждений. Коррекционно-развивающее обучение. Начальные классы

Программах в аннотация. В icon1. организация учебно-методической работы
Об основных образовательных программах высшего профессионального образования, реализуемых в Казанском филиале Московского государственного...

Программах в аннотация. В icon«Сложность человеческих судеб» по рассказу И. А. Бунина «Холодная осень» из цикла «Темные аллеи»
Творчество И. А. Бунина в школьных программах по литературе для 5-11 классов

Программах в аннотация. В iconАннотация Книга «Смех»
Ключ к разгадке проблемы комического он видел в разработанном им учении об эстетическом

Литература


При копировании материала укажите ссылку © 2015
контакты
literature-edu.ru
Поиск на сайте

Главная страница  Литература  Доклады  Рефераты  Курсовая работа  Лекции