1. Прогнозирование ошибок с использованием встраивания исходного кода на основе Doc2Vec(arXiv)

Автор:Тамаш Аладич, Юдит Яс, Рудольф Ференц

Аннотация . Прогнозирование ошибок — это ресурсоемкая задача, которую трудно автоматизировать с помощью статического анализа исходного кода. Во многих областях информатики машинное обучение оказалось чрезвычайно полезным в таких задачах, однако, чтобы оно работало, нам нужен способ использовать исходный код в качестве входных данных. Мы предлагаем простое, но осмысленное представление исходного кода на основе его абстрактного синтаксического дерева и алгоритма встраивания Doc2Vec. Это представление сопоставляет исходный код с вектором фиксированной длины, который можно использовать для различных восходящих задач, одной из которых является прогнозирование ошибок. Мы измерили обоснованность этого подхода и его эффективность по сравнению с прогнозированием ошибок, основанным исключительно на метриках кода. Мы также экспериментировали с многочисленными подходами к машинному обучению, чтобы проверить связь между различными параметрами встраивания с разными моделями машинного обучения. Наши результаты показывают, что это представление предоставляет значимую информацию, поскольку оно в большинстве случаев повышает точность прогнозирования ошибок и всегда, по крайней мере, так же хорошо, как использование только метрик кода в качестве функций.

2.HTTP2vec: встраивание HTTP-запросов для обнаружения аномального трафика (arXiv)

Автор:Матеуш Гневковский, Генрик Мацеевский, Томаш Р. Сурмач, Виктор Валентинович

Аннотация: Протокол передачи гипертекста (HTTP) — один из наиболее широко используемых протоколов в Интернете. Как следствие, большинство атак (например, SQL-инъекция, XSS) используют HTTP в качестве транспортного механизма. Поэтому крайне важно разработать интеллектуальное решение, которое позволило бы эффективно выявлять и фильтровать аномалии в HTTP-трафике. В настоящее время большинство систем обнаружения аномалий либо основаны на правилах, либо обучаются с использованием выбранных вручную функций. Мы предлагаем использовать современную неконтролируемую языковую модель представления для встраивания HTTP-запросов, а затем использовать ее для классификации аномалий в трафике. Решение основано на методах, используемых в обработке естественного языка (NLP), таких как Doc2Vec, которые потенциально могут зафиксировать истинное понимание сообщений HTTP и, следовательно, повысить эффективность системы обнаружения вторжений. В нашей работе мы стремимся не только к созданию подходящего пространства вложения, но и к интерпретируемости предлагаемой модели. Мы решили использовать текущую современную RoBERTa, которая, насколько нам известно, никогда не применялась в подобной задаче. Чтобы проверить, как решение будет работать в реальных условиях, мы обучаем модель, используя только легитимный трафик. Мы также пытаемся объяснить результаты на основе кластеров, возникающих в пространстве векторизованных запросов, и простого классификатора логистической регрессии. Мы сравнили наш подход с аналогичными, ранее предложенными методами. Мы оцениваем осуществимость нашего метода на трех разных наборах данных: CSIC2010, CSE-CIC-IDS2018 и том, который мы подготовили сами. Результаты, которые мы показываем, сравнимы с другими или лучше, а главное — интерпретируемы.

3. Изучение возможных исправлений с использованием вложений исходного кода в JavaScript (arXiv)

Автор:Виктор Чувик, Даниэль Хорват, Марк Лайко, Ласло Видач

Аннотация: Несмотря на огромную популярность области автоматического восстановления программ (APR), вопрос проверки исправлений все еще остается открытым. Большинство современных подходов следуют так называемому подходу «Создание и проверка», при котором сначала создается решение-кандидат, а затем оно проверяется на соответствие с оракулом. Последнее, однако, могло не дать надежного результата из-за несовершенства таких оракулов; одним из которых обычно является набор тестов. Хотя (повторно) запускать набор тестов прямо у вас под носом, в реальных приложениях часто возникает проблема переобучения и недообучения, что приводит к неадекватным исправлениям. Усилия, предпринятые для решения этой проблемы, включают фильтрацию исправлений, расширение набора тестов, тщательное создание исправлений и многое другое. На сегодняшний день в большинстве подходов используется постфильтрация, основанная либо на трассировках выполнения тестов, либо на использовании некоторой концепции подобия, измеренной на сгенерированных исправлениях. Наша цель — исследовать природу этих подходов, основанных на сходстве. Для этого мы обучили модель Doc2Vec на проекте JavaScript с открытым исходным кодом и создали в нем 465 исправлений для 10 ошибок. Эти правдоподобные исправления вместе с исправлением разработчика затем ранжируются на основе их сходства с исходной программой. Мы проанализировали эти списки сходства и обнаружили, что встраивание простых документов может привести к неправильной классификации — оно не может уловить нюансы семантики кода. Тем не менее, в некоторых случаях он также предоставлял полезную информацию, помогая лучше понять область автоматического восстановления программ.

4. Косинусное сходство мультимодальных векторов контента для телепрограмм (arXiv)

Автор:Саба Назир, Танер Чагали, Крис Ньюэлл, Мехрнуш Садрзаде

Аннотация. Мультимодальная информация поступает из различных источников: аудиовизуальных файлов, текстовых описаний и метаданных. Мы покажем, как можно представить контент, закодированный каждым отдельным источником, с помощью векторов, как объединить векторы с помощью методов промежуточного и позднего слияния и как вычислить семантическое сходство между контентами. Наши векторные представления строятся на основе спектральных признаков и наборов звуковых слов для аудио, тем LSI и вложений Doc2vec для субтитров, а также категориальных признаков для метаданных. Мы реализуем нашу модель на наборе данных телевизионных программ BBC и оцениваем объединенные представления, чтобы предоставить рекомендации. Матрицы сходства с поздним слиянием значительно повышают точность и разнообразие рекомендаций.

5. Улучшение векторного встраивания взвешенного документа tf-idf (arXiv)

Автор:Крейг В. Шмидт

Аннотация: мы исследуем ряд методов вычисления плотного вложения вектора для документа в корпус, учитывая набор векторов слов, например, из word2vec или GloVe. Мы описываем два метода, которые могут улучшить простую взвешенную сумму и являются оптимальными в том смысле, что они максимизируют конкретную меру взвешенного косинусного сходства. Мы рассматриваем несколько весовых функций, включая обратную частоту документа (idf), гладкую обратную частоту (SIF) и функцию подвыборки, используемую в word2vec. Мы считаем, что idf лучше всего подходит для наших приложений. Мы также используем удаление общих компонентов, предложенное Arora et al. в качестве постобработки, и в большинстве случаев это полезно. Мы сравниваем эти варианты встраивания с doc2vecembedding в новой оценочной задаче с использованием обзоров TripAdvisor, а также с бенчмарком CQADupStack из литературы.