Машина обучения программистов позади кода можно определить по стилю

Машина обучения программистов позади кода можно определить по стилю

Источник: ATYUN AI платформа 

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

Доцент кафедры информатики в университете Drexel, Рейчел Greenstadt и его бывшего аспиранта, ныне доцентом университета Джорджа Вашингтона Айлин Caliskan, найти код и стиль, как и другие формы выражения, не является полностью анонимным. В DefCon хакерской конференции в пятницу, они продемонстрируют свои методы обучения использования машин проводятся некоторое исследование, автор кода образец де-анонимный. Например, их работа может быть полезна для плагиата противоречия, но он также имеет чувство личной жизни, особенно для тысяч разработчиков с открытым исходным кодом, чтобы внести свой вклад в мир.

Как код анонимный

Вот простое объяснение того, как исследователи использовали машинное обучение, чтобы открыть часть кода, кому принадлежит. Во-первых, алгоритм пример кода идентифицирует все особенности их выбора при проектировании. Есть много различных характеристик. Подумайте о том, каждый аспект естественного языка существует: ваш выбор слов, положить их вместе путь, длину предложения, и так далее. Тогда Greenstadt и Caliskan эти функции на самом деле суженные включать только отличительные черты разработчика, будет список вниз от сотен тысяч до примерно 50.

Исследователи не зависят от особенностей низкого уровня, такие как форматирование кода. Вместо этого они создали «абстрактное синтаксическое дерево», который отражает основную структуру коды, а не какой-либо из его компонентов. Их техник того же приоритеты в чьей-то структура предложения, а не будь они отступ каждой строки абзаца.

Метод также требует рабочего примера кого-то, чтобы научить арифметику знать, когда он находит еще примеры кода. Если случайный поп GitHub счет и публиковать фрагменты, Greenstadt и Caliskan не быть в состоянии идентифицировать человек, стоящие за ним, потому что у них есть только один образец можно использовать их могут сказать, что это разработчик они никогда раньше не видели). Тем не менее, Greenstadt и Caliskan не требует от вас, чтобы судить о жизни и работе кода приписываемой вам. Это займет всего несколько коротких образцов.

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

Наиболее впечатляющим является то, что Caliskan и другие исследователи сказали в отдельной статье, используя только скомпилированный двоичный код для де-анонимными программистов. После завершения разработчика, чтобы написать кусок кода, программа под названием компилятор, чтобы преобразовать его в серию 0 и 1, читаемой машина, которая называется двоичным. Для людей, это в основном выглядит как дерьмо.

Caliskan и другие ее коллеги-исследователи могут декомпилировать двоичный файл на языке программирования C ++, сохраняя при этом разработчик уникальных элементов стиля. Представьте, вы пишете статью и использовать переводчик Google, чтобы преобразовать его в другой язык. В то время как текст может выглядеть совершенно иначе, но вы пишете элементы до сих пор, встроенные в вашем синтаксисе подписи и тому подобном. Код, а также.

«Сохраняется стиль,» сказал Caliskan. «Когда дела на основе личного обучения, есть еще очень сильный стиль.»

В течение двух юаней экспериментов, Caliskan и другие исследователи использовали примеры кода Google Code Jam конкурс года. Алгоритмы машинного обучения в пределах 96% от времени, чтобы правильно определить группу из 100 независимых программистов, каждый программист коды с использованием восьми образцов. Даже если количество образца расширено до 600 программиста, алгоритм все еще быть точно определен в 83% время.

Воздействие на частную жизнь и плагиате

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

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

Greenstadt сказал: «Люди должны понимать, что в этом случае 100% скрыть их идентичность часто бывает очень трудно.»

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

Greenstadt сказал: «Я думаю, что, в то время как мы продолжим, мы найдем одну вещь, чтобы скрыть эти вещи являются своего рода замешательстве, я не считаю, что это будет конец всего, что вы делаете всегда прослеживаться. в любом случае, я надеюсь, что нет ".

Например, в другой работе Люси Симко под руководством Вашингтонского университета команды обнаружили, что программист может создать код, чтобы обмануть алгоритм, полагая, что создается другими людьми. Ученые обнаружили, что разработчики могут обмануть их «закодированную подпись», даже если они не делают поддельную специальную подготовку.

Будущие исследования

Greenstadt и Caliskan также нашли некоторые интересные идеи в природу программирования. Например, они обнаружили, что опытные разработчики более легко узнаваемы, чем новички. Опытнее вы, ваша работа становится более уникальной. Это может быть отчасти потому, что программисты часто начинающие решения от сайтов, как переполнение стеки скопировать и вставить код.

Кроме того, они обнаружили, что более трудно решить проблему образца кода также легче определить право собственности. С помощью набора из 62 программистов, каждый программист решить семь простых вопросов, исследователей для их работы анонимными, точность составила 90%. Когда исследователи использовали образцы семь трудной задачи, степень точности 95%.

В будущем, Greenstadt и Caliskan хотят, чтобы узнать, как другие факторы влияют на стиль кодирования человека, такие как члены одной и той же организации, что происходит при работе над проектами. Они также хотят, чтобы выяснить, является ли такими людьми из разных стран в различных способах кодирования проблем. Например, в предварительном исследовании, они обнаружили, что они могут различать образцы кода, подготовленные Канадой и китайскими разработчиками, уровень точности более 90%.

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

Greenstadt сказал: «Мы все еще пытаемся понять, что делает что-то реальное может определить право собственности.»

Это переключился ATYUN искусственного интеллекта медиа - платформам, оригинальная ссылка: машинное обучение программистов позади кода можно определить по стилю

Подробнее Рекомендуемые

Giphy МЛ модель может быть идентифицирована в 2300 GIF знаменитости лица, точность 98%

теги данных Инструментарий CVAT с открытым исходным кодом от Intel

исследователи ИИ разработали платформу для выявления нейродегенеративных заболеваний

OpenAI релиз большой среды многоагентная игра Nueral MMO

Добро пожаловать на официальное внимание общественности ATYUN число, деловое сотрудничество и вклад в содержание, пожалуйста, свяжитесь с E-почта: bd@atyun.com
Добро пожаловать на официальное внимание общественности ATYUN число, деловое сотрудничество и вклад в содержание, пожалуйста, свяжитесь с E-почта: [email protected]

 

рекомендация

отblog.csdn.net/whale52hertz/article/details/90694455