Assessing the Generalizability of Code Embeddings
На этом семинаре будут разобраны две статьи, относящиеся к эмбеддингам для исходного кода.
В первой из них, Assessing the Generalizability of code2vec Token embeddings, исследуется возможность обобщения эмбеддингов токенов исходного кода. В обработке естественного языка эмбеддинги слов, однажды обученные, успешно применяются для решения различных задач. Существует гипотеза, согласно которой сходство языков программирования и естественных языков позволяет применять к первым методы, разработанные для вторых. Авторы статьи применяют эмбеддинги токенов, полученные методом code2vec, в трёх новых задачах и сравнивают их с эмбеддингами GloVe, а также с традиционными подходами.
Вторая статья, Adversarial Examples for Models of Code, связана с adversarial атаками. Многие из существующих adversarial атак предполагают незначительное изменение входа и работают только с непрерывными данными. Существуют работы по созданию adversarial образцов для моделей естественного языка, работающие с текстовыми данными, но и они не применимы в ограничениях, накладываемых языками программирования. В статье предлагается способ создания adversarial образцов, применимый в этих условиях. Также в статье предлагается способ защиты, значительно снижающий эффективность атак за счёт небольшой потери точности.
Ссылки на статьи:
http://www.mysmu.edu/faculty/davidlo/...
https://arxiv.org/abs/1910.07517
Докладчик: Андрей Гусев.