Улучшение Kotlin через поиск аномалий
Ура, мы открываем рубрику #видоснавыходные. И начать хотелось бы с доклада Владимира Коваленко (@vovak) на треке CodeMining @Data Fest Online 2020.
Тот случай, когда анализ кода может быть применен для улучшения как дизайна языка так и его компилятора.
Процитируем тезисы:
Приятного просмотра!
Ура, мы открываем рубрику #видоснавыходные. И начать хотелось бы с доклада Владимира Коваленко (@vovak) на треке CodeMining @Data Fest Online 2020.
Тот случай, когда анализ кода может быть применен для улучшения как дизайна языка так и его компилятора.
Процитируем тезисы:
В этой работе мы применяем обнаружение аномалий к исходному коду и байткоду для облегчения разработки языка программирования и его компилятора. Мы определяем аномалию как фрагмент кода, отличающийся от типичного кода, написанного на определенном языке программирования. Выявление таких фрагментов выгодно как разработчикам языка, так и конечным пользователям, так как аномалии могут указывать на потенциальные проблемы с компилятором или с производительностью во время выполнения. Более того, аномалии могут соответствовать проблемам в проектировании языка.
Приятного просмотра!
YouTube
Владимир Коваленко | Using Large-Scale Anomaly Detection on Code to Improve Kotlin Compiler
Data Fest Online 2020
Code Mining track https://ods.ai/tracks/code-mining-df2020
Спикер: Владимир Коваленко, Senior researcher @JetBrains Research.
В этой работе мы применяем обнаружение аномалий к исходному коду и байткоду для облегчения разработки языка…
Code Mining track https://ods.ai/tracks/code-mining-df2020
Спикер: Владимир Коваленко, Senior researcher @JetBrains Research.
В этой работе мы применяем обнаружение аномалий к исходному коду и байткоду для облегчения разработки языка…
Что такое Software Composition Analysis (SCA)
Мы уже неоднократно упоминали в этом канале про open source, лицензии и разное вокруг них. Сегодня хотим дать максимально ёмкое и по возможности коротко определение термину, который это всё объединяет — SCA, он же Software Composition Analysis, он же композиционный/компоненты анализ программ/кода/софта/ПО.
SCA — это процесс, где:
1. на вход подаётся код в произвольной форме (репозиторий, директория с файлами, Docker-образ, бинарник и т.п.);
2. этот код сканируется на наличие и зависимость от всех возможных open source компонентов через поиск файлов манифестов (типа package.json, poetry.lock, Dockerfile и т.п.) и через умное сравнение файлов с компонентными базами с примесью всякой магии типа нечётких хэшей;
3. по списку этих компонентов проверяются лицензии и их совместимость с заявленной лицензией самого продукта и между собой;
4. и вишенкой на торте по списку этих компонентов ищутся известные уязвимости по открытым и полуоткрытым базам (например, National Vulnerability Database, Github Advisory и другим).
На вид просто, но по факту внутри множество особенностей и нюансов. Например, на выходе второго шага формируется ещё одна аббревиатура — SBoM, Software Bill of Materials, про его суть, форматы и при чём тут недавний приказ Байдена о кибербезопасности мы расскажем отдельно. Также отдельно расскажем, почему поиск уязвимостей по уже известной компонентной базе (сюрприз-сюрприз) совсем нетривиальная задача.
SCA не так известен среди русскоязычных разработчиков как SAST (статический анализ кода) или DAST (динамический анализ кода), но набирает очки с каждой новой историей найденной уязвимости в распространённой open source библиотеке.
Хорошая новость в том, что множество SCA-like инструментов в той или иной степени присутствуют в экосистемах менеджеров пакетов, IDE, систем контроля версий или в виде отдельных инструментов. К сожалению, не все они удобны, точны или просты в использовании. But we're getting there.
Ну и если короткое описание только разожгло ваше любопытство, посмотрите обзорный доклад про эволюцию подходов SCA с прошедшего Data Fest Online v2: https://www.youtube.com/watch?v=9fydREfnKb4. Красочные слайды и висящая голова на белом фоне в комплекте.
#видоснавыходные #словарькодмайнера
Мы уже неоднократно упоминали в этом канале про open source, лицензии и разное вокруг них. Сегодня хотим дать максимально ёмкое и по возможности коротко определение термину, который это всё объединяет — SCA, он же Software Composition Analysis, он же композиционный/компоненты анализ программ/кода/софта/ПО.
SCA — это процесс, где:
1. на вход подаётся код в произвольной форме (репозиторий, директория с файлами, Docker-образ, бинарник и т.п.);
2. этот код сканируется на наличие и зависимость от всех возможных open source компонентов через поиск файлов манифестов (типа package.json, poetry.lock, Dockerfile и т.п.) и через умное сравнение файлов с компонентными базами с примесью всякой магии типа нечётких хэшей;
3. по списку этих компонентов проверяются лицензии и их совместимость с заявленной лицензией самого продукта и между собой;
4. и вишенкой на торте по списку этих компонентов ищутся известные уязвимости по открытым и полуоткрытым базам (например, National Vulnerability Database, Github Advisory и другим).
На вид просто, но по факту внутри множество особенностей и нюансов. Например, на выходе второго шага формируется ещё одна аббревиатура — SBoM, Software Bill of Materials, про его суть, форматы и при чём тут недавний приказ Байдена о кибербезопасности мы расскажем отдельно. Также отдельно расскажем, почему поиск уязвимостей по уже известной компонентной базе (сюрприз-сюрприз) совсем нетривиальная задача.
SCA не так известен среди русскоязычных разработчиков как SAST (статический анализ кода) или DAST (динамический анализ кода), но набирает очки с каждой новой историей найденной уязвимости в распространённой open source библиотеке.
Хорошая новость в том, что множество SCA-like инструментов в той или иной степени присутствуют в экосистемах менеджеров пакетов, IDE, систем контроля версий или в виде отдельных инструментов. К сожалению, не все они удобны, точны или просты в использовании. But we're getting there.
Ну и если короткое описание только разожгло ваше любопытство, посмотрите обзорный доклад про эволюцию подходов SCA с прошедшего Data Fest Online v2: https://www.youtube.com/watch?v=9fydREfnKb4. Красочные слайды и висящая голова на белом фоне в комплекте.
#видоснавыходные #словарькодмайнера
YouTube
Алексей Смирнов | Эволюция подходов Software Composition Analysis (SCA)
Data Fest Online 2021
Code Mining track https://ods.ai/tracks/code-mining-df2021
Спикер: Алексей Смирнов, Основатель Profiscope.io / CodeScoring
Организатор трека CodeMining @ods.ai
Опыт применения инструментов из области композиционного анализа программного…
Code Mining track https://ods.ai/tracks/code-mining-df2021
Спикер: Алексей Смирнов, Основатель Profiscope.io / CodeScoring
Организатор трека CodeMining @ods.ai
Опыт применения инструментов из области композиционного анализа программного…
Text2Bash
Продолжая традицию #видоснавыходные, предлагаем видео с прошедшего в этом году трека CodeMining, про автогенерацию кода на bash по запросам на естественном языке. В докладе Глеб Моргачев из JetBrains делится сокровенным опытом и рассказывает, на что же способны роботы сегодня ;).
Тезисы:
В рамках конференции NeurIPS 2020 проходило соревнование по генерации bash команд по запросам на естественном языке. Я расскажу об опыте участия нашей команды в этом соревновании, используемых метриках и способах получения обучающей выборки. Также дам краткий обзор подходов, показавших лучшие результаты.
Видео:
https://www.youtube.com/watch?v=NPfYDDbprtw
Лайки, репосты, все дела.
Продолжая традицию #видоснавыходные, предлагаем видео с прошедшего в этом году трека CodeMining, про автогенерацию кода на bash по запросам на естественном языке. В докладе Глеб Моргачев из JetBrains делится сокровенным опытом и рассказывает, на что же способны роботы сегодня ;).
Тезисы:
В рамках конференции NeurIPS 2020 проходило соревнование по генерации bash команд по запросам на естественном языке. Я расскажу об опыте участия нашей команды в этом соревновании, используемых метриках и способах получения обучающей выборки. Также дам краткий обзор подходов, показавших лучшие результаты.
Видео:
https://www.youtube.com/watch?v=NPfYDDbprtw
Лайки, репосты, все дела.
YouTube
Глеб Моргачёв | Text2Bash: как мы участвовали в соревновании NeurIPS
Data Fest Online 2021
Code Mining track https://ods.ai/tracks/code-mining-df2021
Спикер: Глеб Моргачев, Data Scientist @JetBrains
В рамках конференции NeurIPS 2020 проходило соревнование по генерации bash команд по запросам на естественном языке. Я расскажу…
Code Mining track https://ods.ai/tracks/code-mining-df2021
Спикер: Глеб Моргачев, Data Scientist @JetBrains
В рамках конференции NeurIPS 2020 проходило соревнование по генерации bash команд по запросам на естественном языке. Я расскажу…
Аналитика полного цикла разработки в почти реальном времени
Видео:
https://www.youtube.com/watch?v=BiLew55dxho
Продолжая традицию #видоснавыходные, в этот раз поговорим об анализе так называемых код-артефактов в применении к анализу жизненного цикла разработки (SDLC, Software Development Lifecycle).
Докладчик Вадим Марковцев, очень так некисло причастный к целой грядке крутейших инструментов выпущенных в open source компаниями source{d} и Athenian. Про них мы ещё обязательно напишем.
Тезисы от автора:
Лайки, репосты, все дела 😏.
Видео:
https://www.youtube.com/watch?v=BiLew55dxho
Продолжая традицию #видоснавыходные, в этот раз поговорим об анализе так называемых код-артефактов в применении к анализу жизненного цикла разработки (SDLC, Software Development Lifecycle).
Докладчик Вадим Марковцев, очень так некисло причастный к целой грядке крутейших инструментов выпущенных в open source компаниями source{d} и Athenian. Про них мы ещё обязательно напишем.
Тезисы от автора:
Я работаю в международном стартапе Athenian в качесте Head of Analytics и управляю командой бэкенда SaaS продукта. Мы продаем зарубежным компаниям облачное веб-приложение которое указывает на узкие места процессов разработки, непрерывной интеграции, деплоев, и JIRA. При этом стараемся придерживаться принципов blameless и non-personal, иначе говоря, делаем все возможное чтобы лиды-пользователи не стали сравнивать пиписьки рядовых разработчиков.
Одна из ключевых фишек Athenian - мы непрерывно анализируем поток событий GitHub и JIRA и обновляем все метрики и предсказания на лету. Это оказалось сложно, и я расскажу почему именно, какие ошибки мы допустили, как их исправляли и добились результата, и чего нам это стоило в $$$.
Лайки, репосты, все дела 😏.
YouTube
Вадим Марковцев | Аналитика полного цикла разработки в *почти* реальном времени
Data Fest Online 2021
Code Mining track https://ods.ai/tracks/code-mining-df2021
Спикер: Вадим Марковцев, Head of Analytics @Athenian
Я работаю в международном стартапе Athenian в качесте Head of Analytics и управляю командой бэкенда SaaS продукта. Мы продаем…
Code Mining track https://ods.ai/tracks/code-mining-df2021
Спикер: Вадим Марковцев, Head of Analytics @Athenian
Я работаю в международном стартапе Athenian в качесте Head of Analytics и управляю командой бэкенда SaaS продукта. Мы продаем…
Code Mining Overview
О чем же ML4Code? Какие задачи, какие особенности?
Продолжая рубрику #видоснавыходные, сегодня у нас Глеб Моргачев, Researcher из уважаемой компании JetBrains рассказывает про основные направления применения машинного обучения к исходному коду и процессу разработки.
Какие бывают задачи, какие предположения и особенности данных используются в процессе разработки. Приводится обзор уже решенных задач, а также всё ещё актуальных задач.
Видео (CodeMining Track'20):
https://www.youtube.com/watch?v=IH3_xSq3ic4
Лайки, репосты, все дела 😏.
О чем же ML4Code? Какие задачи, какие особенности?
Продолжая рубрику #видоснавыходные, сегодня у нас Глеб Моргачев, Researcher из уважаемой компании JetBrains рассказывает про основные направления применения машинного обучения к исходному коду и процессу разработки.
Какие бывают задачи, какие предположения и особенности данных используются в процессе разработки. Приводится обзор уже решенных задач, а также всё ещё актуальных задач.
Видео (CodeMining Track'20):
https://www.youtube.com/watch?v=IH3_xSq3ic4
Лайки, репосты, все дела 😏.
YouTube
Глеб Моргачев | Code Mining Overview: зачем ML и какие задачи решаем?
Data Fest Online 2020
Code Mining track https://ods.ai/tracks/code-mining-df2020
Спикер: Глеб Моргачев, Researcher @JetBrains.
В докладе представлены основные направления применения машинного обучения к исходному коду и процессу разработки. Какие бывают…
Code Mining track https://ods.ai/tracks/code-mining-df2020
Спикер: Глеб Моргачев, Researcher @JetBrains.
В докладе представлены основные направления применения машинного обучения к исходному коду и процессу разработки. Какие бывают…
Анализ исходных кодов, обзор последних статей. Ищем уязвимости в коде
Видео:
https://www.youtube.com/watch?v=t1VWaM6oS5k
Продолжая традицию #видоснавыходные, предлагаем посмотреть видео с прошлогоднего выступления Константина Тяпочкина из profiscope.io на Data Fest 2020 с обзором актуальных инструментов и направлений исследований.
Тезисы от автора:
Под видео можно найти ссылки на полезные статьи.
Лайки, репосты, все дела 😏.
Видео:
https://www.youtube.com/watch?v=t1VWaM6oS5k
Продолжая традицию #видоснавыходные, предлагаем посмотреть видео с прошлогоднего выступления Константина Тяпочкина из profiscope.io на Data Fest 2020 с обзором актуальных инструментов и направлений исследований.
Тезисы от автора:
В докладе приводится обзор последних разработок и новинок в области Code Mining в направлениях: суммаризации и классификации кода (Code2vec, code2seq и PathPair2Vec подходы), нахождение уязвимостей в коде (Commit2vec, CC2vec, AST-based, Token-embeddings-CNN-based подходы), обзор свеженького CodeBERT, а также порассуждаем об уязвимостях в ML-моделях, их порче и лечению.
Под видео можно найти ссылки на полезные статьи.
Лайки, репосты, все дела 😏.
YouTube
Константин Тяпочкин: Анализ исходных кодов, обзор последних статей. Ищем уязвимости в коде
Data Fest Online 2020
Code Mining track https://ods.ai/tracks/code-mining-df2020
Спикер: Константин Тяпочкин, Senior researcher @profiscope.io.
В докладе приводится обзор последних разработок и новинок в области Code Mining в направлениях: суммаризации…
Code Mining track https://ods.ai/tracks/code-mining-df2020
Спикер: Константин Тяпочкин, Senior researcher @profiscope.io.
В докладе приводится обзор последних разработок и новинок в области Code Mining в направлениях: суммаризации…
Data Halloween'21
На эти выходные не #видоснавыходные, а #мегавидоснавыходные и даже больше!
Сегодня стартует очередной Data Halloween, на который запланировано много событий, за которыми можно будет как последить в реальном времени на ютуб-стриме, так и понетворкаться в нетворкинг-комнатах в Spacial Chat.
От нашей CodeMining команды будет движж ScaryCode, о нем мы напишем сразу после завтрашнего анонса Диктатором ODS ;).
Ещё раз, расписание тут: https://ods.ai/events/halloween2021.
Старт сегодня в 12:00.
На эти выходные не #видоснавыходные, а #мегавидоснавыходные и даже больше!
Сегодня стартует очередной Data Halloween, на который запланировано много событий, за которыми можно будет как последить в реальном времени на ютуб-стриме, так и понетворкаться в нетворкинг-комнатах в Spacial Chat.
От нашей CodeMining команды будет движж ScaryCode, о нем мы напишем сразу после завтрашнего анонса Диктатором ODS ;).
Ещё раз, расписание тут: https://ods.ai/events/halloween2021.
Старт сегодня в 12:00.
Нейросетевое автодополнение для языка R
Видео:
https://www.youtube.com/watch?v=agd9FcGbxN0
Продолжая традицию #видоснавыходные, предлагаем посмотреть видео с выступления Артёма Попова из JetBrains на Data Fest 2021 с рассказом про чудеса автокомплита на трансформерах в любимом отдельными сообществами языке R (Аррр! Рыыы!).
Тезисы от Артёма:
Лайки, репосты, все дела 😏.
Видео:
https://www.youtube.com/watch?v=agd9FcGbxN0
Продолжая традицию #видоснавыходные, предлагаем посмотреть видео с выступления Артёма Попова из JetBrains на Data Fest 2021 с рассказом про чудеса автокомплита на трансформерах в любимом отдельными сообществами языке R (Аррр! Рыыы!).
Тезисы от Артёма:
- мы сделали систему автодополнения кода для R на основе трансформеров, работающую локально на компьютере пользователя;
- какие трюки мы применяли для того, чтобы ускорить и улучшить нашу систему автодополнения;
- с какими трудностями мы столкнулись и как их преодолевали.
Лайки, репосты, все дела 😏.
YouTube
Артём Попов | Нейросетевое автодополнение для языка R
Data Fest Online 2021
Code Mining track https://ods.ai/tracks/code-mining-df2021
Спикер: Артём Попов, Data Scientist @JetBrains
Я расскажу про то, как:
- мы сделали систему автодополнения кода для R на основе трансформеров, работающую локально на компьютере…
Code Mining track https://ods.ai/tracks/code-mining-df2021
Спикер: Артём Попов, Data Scientist @JetBrains
Я расскажу про то, как:
- мы сделали систему автодополнения кода для R на основе трансформеров, работающую локально на компьютере…
T[HR]eads: извлекаем инсайды из переписок технарей и рекрутеров
Продолжая традицию #видоснавыходные, предлагаем посмотреть видео с выступления Михаила Кириллова на Data Fest 2020 с рассказом про анализ почтовой переписки разработчиков и рекрутеров.
Видео: https://www.youtube.com/watch?v=69aXIR1g-LM
Несмотря на то, что мы тут про #codemining, анализ артефактов разработки, таких как тикеты, коммиты и даже почта являются его частью, хоть чаще уходит в такое направление как #processmining. О нем мы ещё обязательно напишем, а пока предлагаем познакомиться с исследованием ребят.
Тезисы от Михаила:
Лайки, репосты, все дела 😏.
Продолжая традицию #видоснавыходные, предлагаем посмотреть видео с выступления Михаила Кириллова на Data Fest 2020 с рассказом про анализ почтовой переписки разработчиков и рекрутеров.
Видео: https://www.youtube.com/watch?v=69aXIR1g-LM
Несмотря на то, что мы тут про #codemining, анализ артефактов разработки, таких как тикеты, коммиты и даже почта являются его частью, хоть чаще уходит в такое направление как #processmining. О нем мы ещё обязательно напишем, а пока предлагаем познакомиться с исследованием ребят.
Тезисы от Михаила:
В докладе приводится результат анализа датасета переписки рекрутера и кандидатов ИТ-области. Анализ, в большей степени, классически-статистический, но с применением подходов обработки естественного языка, от токенизации до оценки тональности специализированных текстов. Авторы рассуждают о пользе применения примененных подходов в части оптимизации процессов рекрутмента и делают соответствующие выводы ;)
Лайки, репосты, все дела 😏.
YouTube
Михаил Кириллов | T[HR]eads: извлекаем инсайды из переписок технарей и рекрутеров
Data Fest Online 2020
Code Mining track https://ods.ai/tracks/code-mining-df2020
В докладе приводится результат анализа датасета переписки рекрутера и кандидатов ИТ-области. Анализ, в большей степени, классически-статистический, но с применением подходов…
Code Mining track https://ods.ai/tracks/code-mining-df2020
В докладе приводится результат анализа датасета переписки рекрутера и кандидатов ИТ-области. Анализ, в большей степени, классически-статистический, но с применением подходов…
Data Elka 2021 🥇
Сап, как говорится в одном небезызвестном сообществе ;).
Мы рады пригласить подписчиков на ежегодное замечательное событие Data Elka, в рамках которого подводятся итоги уходящего года и вручаются памятные подарки за все хорошее лучшим участникам OpenDataScience-сообщества 🤓.
В связи с этим, как организаторы CodeMining-трека, обращаемся к сообществу за помощью с выбором лучших докладов 2021 года.
Свои видео мы их публиковали в рубрике #видоснавыходные в перемешку с другими не менее интересными видосами.
Все CodeMining-видео последнего года можно посмотреть на страничке посвященной прошедшему DataFest'у: https://ods.ai/tracks/code-mining-df2021
Если вам что-то понравилось, то велкам поддержать наше скромное ML4Code-направление.
Видео номинированы в разделе
Результаты будут озвучены вживую на трансляции в субботу.
Во славу Дата Ёлке! 🎄🎄🎄
Сап, как говорится в одном небезызвестном сообществе ;).
Мы рады пригласить подписчиков на ежегодное замечательное событие Data Elka, в рамках которого подводятся итоги уходящего года и вручаются памятные подарки за все хорошее лучшим участникам OpenDataScience-сообщества 🤓.
В связи с этим, как организаторы CodeMining-трека, обращаемся к сообществу за помощью с выбором лучших докладов 2021 года.
Свои видео мы их публиковали в рубрике #видоснавыходные в перемешку с другими не менее интересными видосами.
Все CodeMining-видео последнего года можно посмотреть на страничке посвященной прошедшему DataFest'у: https://ods.ai/tracks/code-mining-df2021
Если вам что-то понравилось, то велкам поддержать наше скромное ML4Code-направление.
Видео номинированы в разделе
Industry domains
, голосовать можно тут (рега обязательна).Результаты будут озвучены вживую на трансляции в субботу.
Во славу Дата Ёлке! 🎄🎄🎄
Демосцена
Как-то слишком часто вокруг меня вспоминалась демосцена в последний месяц.
Начиная с прекрасной, но прекратившей свое существование финской Assembly, заканчивая питерским Chaos Constructions, который ещё жив. Ух, какая там когда-то (2000/1) была атмосфера, ночевка в спальниках на конференции, кодинг 24x2/3, нереальные демки и конкурсы по метанию винчестеров и т.п.
Это всё было суперлампово и клёво (слеза).
О технических подробностях того, как это всё делалось, ликбез по алгоритмам, принципам и архитектуре обнаружен в видео с докладом от Александра Кухаренко "Демосцена: в погоне за wow-фактором":
https://www.youtube.com/watch?v=gl_Ikc_tOe4
А для кого это слово новое, можно полистать вики :).
#видоснавыходные
Как-то слишком часто вокруг меня вспоминалась демосцена в последний месяц.
Начиная с прекрасной, но прекратившей свое существование финской Assembly, заканчивая питерским Chaos Constructions, который ещё жив. Ух, какая там когда-то (2000/1) была атмосфера, ночевка в спальниках на конференции, кодинг 24x2/3, нереальные демки и конкурсы по метанию винчестеров и т.п.
Это всё было суперлампово и клёво (слеза).
О технических подробностях того, как это всё делалось, ликбез по алгоритмам, принципам и архитектуре обнаружен в видео с докладом от Александра Кухаренко "Демосцена: в погоне за wow-фактором":
https://www.youtube.com/watch?v=gl_Ikc_tOe4
А для кого это слово новое, можно полистать вики :).
#видоснавыходные
YouTube
Александр Кухаренко — Демосцена: в погоне за wow-фактором
Ближайшая конференция — C++ Russia 2025, 20—21 марта, Москва + online. Подробности и билеты: https://jrg.su/9Sszhd
— —
Как написать программу, делающую «невозможное»? Как и чем удивляют зрителя (и друг друга) сценеры?
Ликбез по алгоритмам, принципам и архитектуре.…
— —
Как написать программу, делающую «невозможное»? Как и чем удивляют зрителя (и друг друга) сценеры?
Ликбез по алгоритмам, принципам и архитектуре.…