Стэк для машинного обучения на исходном коде

Вадим Марковцев, source{d}.

Стэк для машинного обучения на исходном коде

Вадим Марковцев, source{d}

Machine learning on source code

Предпосылки

Проекты, похожие на MariaDB/server?

Обнаружим похожий код

И получим

Еще пример: DeepCode.ai.
class foobar:
    def connecttoserver(self):
        myserverhost = globalconfig.server.host
        
class FooBar:
    def connect_to_server(self):
        myServerHost = globalConfig.server.host
        

Ваш код это место преступления

Стэк для MLonCode

MLonCode logo

Откуда брать данные

PGA

Подробно в статье.

PGA индекс

source{d} engine

source{d} engine

>>> from sourced.engine import Engine
>>> engine = Engine(spark, "/path/to/siva/files", "siva")
>>> engine.repositories.references.head_ref \
    .commits.tree_entries.blobs \
    .classify_languages() \
    .select("blob_id", "path", "lang") \
    .show()

Как парсить

Universal AST

dashboard.bblf.sh

Клиент для Питона

pip3 install bblfsh
python3 -m bblfsh -f /path/to/file
        
bblfsh/client-python

Интеграция

>>> engine.repositories.references.head_ref \
    .commits.tree_entries.blobs \
    .classify_languages() \
    .filter('lang = "Python"') \
    .extract_uasts() \
    .query_uast('//*[@roleIdentifier]') \
    .extract_tokens("result", "tokens") \
    .select("blob_id", "path", "tokens")
        

Мощь

sourced-ml

Хотелки

Modelforge

GitHub

Итог

Конец

Контакты: