🗊Презентация Об универсальном анализе кода или «Зачем нам ещё один анализатор, как его можно сделать и куда применять»

Нажмите для полного просмотра!
Об универсальном анализе кода или «Зачем нам ещё один анализатор, как его можно сделать и куда применять», слайд №1Об универсальном анализе кода или «Зачем нам ещё один анализатор, как его можно сделать и куда применять», слайд №2Об универсальном анализе кода или «Зачем нам ещё один анализатор, как его можно сделать и куда применять», слайд №3Об универсальном анализе кода или «Зачем нам ещё один анализатор, как его можно сделать и куда применять», слайд №4Об универсальном анализе кода или «Зачем нам ещё один анализатор, как его можно сделать и куда применять», слайд №5Об универсальном анализе кода или «Зачем нам ещё один анализатор, как его можно сделать и куда применять», слайд №6Об универсальном анализе кода или «Зачем нам ещё один анализатор, как его можно сделать и куда применять», слайд №7Об универсальном анализе кода или «Зачем нам ещё один анализатор, как его можно сделать и куда применять», слайд №8Об универсальном анализе кода или «Зачем нам ещё один анализатор, как его можно сделать и куда применять», слайд №9Об универсальном анализе кода или «Зачем нам ещё один анализатор, как его можно сделать и куда применять», слайд №10Об универсальном анализе кода или «Зачем нам ещё один анализатор, как его можно сделать и куда применять», слайд №11Об универсальном анализе кода или «Зачем нам ещё один анализатор, как его можно сделать и куда применять», слайд №12Об универсальном анализе кода или «Зачем нам ещё один анализатор, как его можно сделать и куда применять», слайд №13Об универсальном анализе кода или «Зачем нам ещё один анализатор, как его можно сделать и куда применять», слайд №14Об универсальном анализе кода или «Зачем нам ещё один анализатор, как его можно сделать и куда применять», слайд №15Об универсальном анализе кода или «Зачем нам ещё один анализатор, как его можно сделать и куда применять», слайд №16Об универсальном анализе кода или «Зачем нам ещё один анализатор, как его можно сделать и куда применять», слайд №17

Вы можете ознакомиться и скачать презентацию на тему Об универсальном анализе кода или «Зачем нам ещё один анализатор, как его можно сделать и куда применять». Доклад-сообщение содержит 17 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Об универсальном анализе кода
или 
«Зачем нам ещё один анализатор, 
как его можно сделать и куда применять»
Описание слайда:
Об универсальном анализе кода или «Зачем нам ещё один анализатор, как его можно сделать и куда применять»

Слайд 2





Зачем SAST?
Описание слайда:
Зачем SAST?

Слайд 3





Ладно, зачем ещё один?
Описание слайда:
Ладно, зачем ещё один?

Слайд 4





SQL-инъекции в 2к17?!
Описание слайда:
SQL-инъекции в 2к17?!

Слайд 5





А языки правда отличаются?
Java
String query      = "SELECT * FROM user WHERE name = " +  name;
Python
query             = "SELECT * FROM user WHERE name = " +  name
C++
std::string query = "SELECT * FROM user WHERE name = " +  name;

PHP
$query            = "SELECT * FROM user WHERE name = " . $name;
Описание слайда:
А языки правда отличаются? Java String query = "SELECT * FROM user WHERE name = " + name; Python query = "SELECT * FROM user WHERE name = " + name C++ std::string query = "SELECT * FROM user WHERE name = " + name; PHP $query = "SELECT * FROM user WHERE name = " . $name;

Слайд 6





Классика
Описание слайда:
Классика

Слайд 7


Об универсальном анализе кода или «Зачем нам ещё один анализатор, как его можно сделать и куда применять», слайд №7
Описание слайда:

Слайд 8





Сужаем область
Цель – расширение класса задач модуля PT.PM путем интеграции подсистемы анализа языка Python.
Почему Python:
популярный (топы: Tiobe, PYPL, RedMonk)
простой (КС-грамматика по Хомскому)
могу, умею, практикую 
Описание слайда:
Сужаем область Цель – расширение класса задач модуля PT.PM путем интеграции подсистемы анализа языка Python. Почему Python: популярный (топы: Tiobe, PYPL, RedMonk) простой (КС-грамматика по Хомскому) могу, умею, практикую 

Слайд 9





Что и как делаем? - 1
Описание слайда:
Что и как делаем? - 1

Слайд 10





Что и как делаем? - 2
Описание слайда:
Что и как делаем? - 2

Слайд 11





Но… - 1
Описание слайда:
Но… - 1

Слайд 12





Но… - 2
decorated
	: decorators (classdef | funcdef | async_funcdef)
<LOTS OF stuff here>
compound_stmt
	: if_stmt | while_stmt | for_stmt | try_stmt 
	| with_stmt | funcdef | classdef 
	| decorated  // added later
	| async_stmt // added even later
Описание слайда:
Но… - 2 decorated : decorators (classdef | funcdef | async_funcdef) <LOTS OF stuff here> compound_stmt : if_stmt | while_stmt | for_stmt | try_stmt | with_stmt | funcdef | classdef | decorated // added later | async_stmt // added even later

Слайд 13





Но… - 3
Описание слайда:
Но… - 3

Слайд 14





Но… - n
INDENTS & DEDENTS
Неэффективные алгоритмы
Мало документации по ANTLR4 в свободном доступе
Устаревшая документация на PT.PM
Меняющийся API PT.PM
И так далее …
Описание слайда:
Но… - n INDENTS & DEDENTS Неэффективные алгоритмы Мало документации по ANTLR4 в свободном доступе Устаревшая документация на PT.PM Меняющийся API PT.PM И так далее …

Слайд 15





Так что в итоге?
Полный рефакторинг грамматики
Порт парсера в C#
Порт AST в UST
Полное покрытие грамматики тестами
Несколько тестов на матчинг шаблонов
Описание слайда:
Так что в итоге? Полный рефакторинг грамматики Порт парсера в C# Порт AST в UST Полное покрытие грамматики тестами Несколько тестов на матчинг шаблонов

Слайд 16





Что дальше?
Увеличение базы шаблонов
Рефакторинг кода
Документация
Покрытие шаблонов тестами
Фикс документации Python
Описание слайда:
Что дальше? Увеличение базы шаблонов Рефакторинг кода Документация Покрытие шаблонов тестами Фикс документации Python

Слайд 17





Спасибо!
Никита Субботин
Github:     inkoit
Telegram: nsubbotin
Mail:	     sub.nik.and@gmail.com
Описание слайда:
Спасибо! Никита Субботин Github: inkoit Telegram: nsubbotin Mail: sub.nik.and@gmail.com



Похожие презентации
Mypresentation.ru
Загрузить презентацию