TMPA-2015: The Application of Static Analysis to Optimize the Dynamic Detecti...Iosif Itkin
The Application of Static Analysis to Optimize the Dynamic Detection of Race Conditions
Yakov Roskoshnyy, Dmitry Tsitelov, Vitaly Trifanov, Roman Elizarov,Saint Petersburg State University of Information Technologies, Mechanics and Optics, Saint Petersburg
12 - 14 November 2015
Tools and Methods of Program Analysis in St. Petersburg
TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...Iosif Itkin
Tools & Methods of Program Analysis TMPA-2013
Senov, А , Kostroma State Technological University
Applying OLAP and MapReduce Technologies for Performance Testing Results Processing
TMPA-2013: Shipin System-C Control PointsIosif Itkin
Tools & Methods of Program Analysis (TMPA-2013)
Shipin, А.А., Sokolov, V.А., Chaliy, D.U., Yaroslavl State University
The Usage of Check Points for System-C Program Verification
TMPA-2015: Multi-Module Application Tracing in z/OS EnvironmentIosif Itkin
Multi-Module Application Tracing in z/OS Environment
Rostislav Efremov, Saint Petersburg State University, Saint Petersburg
12 - 14 November 2015
Tools and Methods of Program Analysis in St. Petersburg
TMPA-2015: Automated Testing of Multi-thread Data Structures Solutions Lineri...Iosif Itkin
Automated Testing of Multi-thread Data Structures Solutions Linerializability
Anton Evdokimov, Dmitry Tsitelov, Roman Elizarov, Vitaly Trifanov, Saint Petersburg State University of Information Technologies, Mechanics and Optics, Saint Petersburg
12 - 14 November 2015
Tools and Methods of Program Analysis in St. Petersburg
TMPA-2015: Standards and Standartization in Program Engineering. Why Would Yo...Iosif Itkin
Standards and Standartization in Program Engineering. Why Would You Care?
Nikolay Pakulin, ISP RAS, Moscow
12 - 14 November 2015
Tools and Methods of Program Analysis in St. Petersburg
TMPA-2015: The dynamic Analysis of Executable Code in ELF Format Based on Sta...Iosif Itkin
The dynamic analysis of executable code in ELF format based on static binary instrumentation
Mikhail Yermakov,ISP RAS
12 - 14 November 2015
Tools and Methods of Program Analysis in St. Petersburg
Tools & Methods of Program Analysis (TMPA-2013)
Tsytelov, D., Trifanov, V., Devexperts LLC, St. Petersburg State University
Search of Race Conditions in Java Programs Based on Synchronization Contracts
TMPA-2015: The Application of Static Analysis to Optimize the Dynamic Detecti...Iosif Itkin
The Application of Static Analysis to Optimize the Dynamic Detection of Race Conditions
Yakov Roskoshnyy, Dmitry Tsitelov, Vitaly Trifanov, Roman Elizarov,Saint Petersburg State University of Information Technologies, Mechanics and Optics, Saint Petersburg
12 - 14 November 2015
Tools and Methods of Program Analysis in St. Petersburg
TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...Iosif Itkin
Tools & Methods of Program Analysis TMPA-2013
Senov, А , Kostroma State Technological University
Applying OLAP and MapReduce Technologies for Performance Testing Results Processing
TMPA-2013: Shipin System-C Control PointsIosif Itkin
Tools & Methods of Program Analysis (TMPA-2013)
Shipin, А.А., Sokolov, V.А., Chaliy, D.U., Yaroslavl State University
The Usage of Check Points for System-C Program Verification
TMPA-2015: Multi-Module Application Tracing in z/OS EnvironmentIosif Itkin
Multi-Module Application Tracing in z/OS Environment
Rostislav Efremov, Saint Petersburg State University, Saint Petersburg
12 - 14 November 2015
Tools and Methods of Program Analysis in St. Petersburg
TMPA-2015: Automated Testing of Multi-thread Data Structures Solutions Lineri...Iosif Itkin
Automated Testing of Multi-thread Data Structures Solutions Linerializability
Anton Evdokimov, Dmitry Tsitelov, Roman Elizarov, Vitaly Trifanov, Saint Petersburg State University of Information Technologies, Mechanics and Optics, Saint Petersburg
12 - 14 November 2015
Tools and Methods of Program Analysis in St. Petersburg
TMPA-2015: Standards and Standartization in Program Engineering. Why Would Yo...Iosif Itkin
Standards and Standartization in Program Engineering. Why Would You Care?
Nikolay Pakulin, ISP RAS, Moscow
12 - 14 November 2015
Tools and Methods of Program Analysis in St. Petersburg
TMPA-2015: The dynamic Analysis of Executable Code in ELF Format Based on Sta...Iosif Itkin
The dynamic analysis of executable code in ELF format based on static binary instrumentation
Mikhail Yermakov,ISP RAS
12 - 14 November 2015
Tools and Methods of Program Analysis in St. Petersburg
Tools & Methods of Program Analysis (TMPA-2013)
Tsytelov, D., Trifanov, V., Devexperts LLC, St. Petersburg State University
Search of Race Conditions in Java Programs Based on Synchronization Contracts
Использование отладочных стендов является естественным шагом при внедрении модельно-ориентированного проектирования. Мы хотим показать как быстро и эффективно строить стенды реального времени для проведения безопасных испытаний систем управления.
Доклад посвящен различным способам построения математического описания ОУ с точностью достаточной для разработки алгоритмов управления. Мы продемонстрируем как построить модель, имея математическое описание и данные экспериментов, снятые с объекта. Покажем как совместить имеющиеся модели и эксперименты для повышения точности.
Завершающий доклад дня будет посвящён реализации и верификации разработанных алгоритмов обработки сигналов на конечных целевых платформах. Мы продемонстрируем современный подход к решению этой задачи в рамках концепции МОП, подразумевающий активное использование поведенческой модели алгоритма, а также автоматизацию многих этапов разработки и тестирования.
TMPA-2015: Lexical analysis of dynamically formed string expressionsIosif Itkin
Lexical analysis of dynamically formed string expressions
Marina Polubelova, Semyon Grigorev, Saint Petersburg State University, Saint Petersburg
12 - 14 November 2015
Tools and Methods of Program Analysis in St. Petersburg
Мы покажем, как можно перенести разработанные алгоритмы для работы с Big Data с минимальными изменениями исходных программ. Рассмотрим возможности по распараллеливанию счета на многоядерных процессорах (вычислительных кластерах) и графических процессорах, поддерживающих CUDA.
В рамках этого доклада мы продемонстрируем преимущества сквозного моделирования систем связи, рассмотрим методики повышения точности описания компонентов модели, а также познакомимся с платформами программно-определяемого радио (SDR).
Всё о статическом анализе кода для Java программистаAndrey Karpov
Этот доклад для тех, кто не знаком со статическими анализаторами кода, или знаком, но ещё не внедрил эти инструменты в процесс разработки. Будет описана методология статического анализа и как она используется для выявления ошибок и запахов кода. Будут кратко рассмотрены некоторые популярные инструменты статического анализа для языка Java, а также платформа SonarQube способная объединить и визуализировать отчёты различных анализаторов. Немного заглянем внутрь и поговорим о технологиях, используемых в современных статических анализаторах кода и позволяющих находить разнообразнейшие паттерны ошибок. Затронем вопрос, почему несмотря на уже существующие инструменты наша команда решила сделать ещё один: PVS-Studio for Java :). В конце рассмотрим важный вопрос интеграции инструментов статического анализа в большие старые проекты и почему так важно регулярное использование подобных инструментов.
Anti-fraud solutions in RTB / Вадим Антонюк (IPONWEB)Ontico
Во вступлении мы рассмотрим, какие виды фрода существуют в RTB (bots, ad stacking, spoof sites).
Далее поговорим о том, что из вышеперечисленного мы умеем ловить алгоритмически, и дадим общее описание подхода к кластеризации бид-реквестов на "хорошие" (люди) и "плохие" (боты) с использованием методов machine learning. Обсудим, какой из способов обучения лучше подходит для данной задачи, по каким ключевым признакам кластеризуем, каким методом.
В технической части обсудим область параметров, при которых решалась задача, а именно: размер learning sample 200 млрд. строк бид запросов, при реализации на Hadoop расчет велся в GCE на 140 машинах класса n1-highmem-8 и занимал 22 расчетных часа. Реализация достаточно ресурсозатратная как с точки зрения времени, так и денег, поэтому встал запрос на вычислительную оптимизацию.
В оптимизационной части мы обсудим, как при переходе на Spark framework уже на первой фазе получилось достигнуть выигрыша в производительности в 3 раза по сравнению с Hadoop framework и это далеко не предел. Сейчас проект перехода в активной фазе и к моменту доклада мы ожидаем довести этот показатель до ~10 раз.
На данном докладе мы познакомимся с новейшими методами проектирования сложных междисциплинарных систем (на примере РЛС), и посмотрим, как Модельно-Ориентированное Проектирование (МОП) помогает создавать подобные системы с меньшими трудозатратами.
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...Platonov Sergey
Кто-то верно подметил, что разработчики статических анализатора часто сталкиваются с "проблемой айсберга". Им сложно объяснить разработчикам, почему сложно написать и развивать статические анализаторы кода. Дело в том, что сторонние наблюдатели видят только вершину всего процесса, так как им доступен для изучения только простой интерфейс, который предоставляют анализаторы для взаимодействия с миром. Это ведь не графический редактор с сотнями кнопок и рычажков. В результате и возникает ощущение, что раз прост интерфейс взаимодействия, то и прост продукт. На самом деле статические анализаторы кода — это сложные программы, в которых живут и взаимодействуют разнообразнейшие методы поиска дефектов. В них реализуется множество экспертные системы, выдающие заключения о коде на основе как точных, так и эмпирических алгоритмах. В парном докладе, основатели анализатора PVS-Studio расскажут о том, как незаметно потратить 10 лет, чтобы написать хороший анализатор. Дьявол кроется в деталях!
Tools & Methods of Program Analysis Conference (TMPA-2013)
Alexeenko, А., Protsenko, P., Matveeva, А., Itkin, I., Sharov D., Innovative Trading Systems, LLC, Exactpro Systems LLC
Compatibility Testing of Protocol Connections of Exchange and Broker Systems Clients
Использование отладочных стендов является естественным шагом при внедрении модельно-ориентированного проектирования. Мы хотим показать как быстро и эффективно строить стенды реального времени для проведения безопасных испытаний систем управления.
Доклад посвящен различным способам построения математического описания ОУ с точностью достаточной для разработки алгоритмов управления. Мы продемонстрируем как построить модель, имея математическое описание и данные экспериментов, снятые с объекта. Покажем как совместить имеющиеся модели и эксперименты для повышения точности.
Завершающий доклад дня будет посвящён реализации и верификации разработанных алгоритмов обработки сигналов на конечных целевых платформах. Мы продемонстрируем современный подход к решению этой задачи в рамках концепции МОП, подразумевающий активное использование поведенческой модели алгоритма, а также автоматизацию многих этапов разработки и тестирования.
TMPA-2015: Lexical analysis of dynamically formed string expressionsIosif Itkin
Lexical analysis of dynamically formed string expressions
Marina Polubelova, Semyon Grigorev, Saint Petersburg State University, Saint Petersburg
12 - 14 November 2015
Tools and Methods of Program Analysis in St. Petersburg
Мы покажем, как можно перенести разработанные алгоритмы для работы с Big Data с минимальными изменениями исходных программ. Рассмотрим возможности по распараллеливанию счета на многоядерных процессорах (вычислительных кластерах) и графических процессорах, поддерживающих CUDA.
В рамках этого доклада мы продемонстрируем преимущества сквозного моделирования систем связи, рассмотрим методики повышения точности описания компонентов модели, а также познакомимся с платформами программно-определяемого радио (SDR).
Всё о статическом анализе кода для Java программистаAndrey Karpov
Этот доклад для тех, кто не знаком со статическими анализаторами кода, или знаком, но ещё не внедрил эти инструменты в процесс разработки. Будет описана методология статического анализа и как она используется для выявления ошибок и запахов кода. Будут кратко рассмотрены некоторые популярные инструменты статического анализа для языка Java, а также платформа SonarQube способная объединить и визуализировать отчёты различных анализаторов. Немного заглянем внутрь и поговорим о технологиях, используемых в современных статических анализаторах кода и позволяющих находить разнообразнейшие паттерны ошибок. Затронем вопрос, почему несмотря на уже существующие инструменты наша команда решила сделать ещё один: PVS-Studio for Java :). В конце рассмотрим важный вопрос интеграции инструментов статического анализа в большие старые проекты и почему так важно регулярное использование подобных инструментов.
Anti-fraud solutions in RTB / Вадим Антонюк (IPONWEB)Ontico
Во вступлении мы рассмотрим, какие виды фрода существуют в RTB (bots, ad stacking, spoof sites).
Далее поговорим о том, что из вышеперечисленного мы умеем ловить алгоритмически, и дадим общее описание подхода к кластеризации бид-реквестов на "хорошие" (люди) и "плохие" (боты) с использованием методов machine learning. Обсудим, какой из способов обучения лучше подходит для данной задачи, по каким ключевым признакам кластеризуем, каким методом.
В технической части обсудим область параметров, при которых решалась задача, а именно: размер learning sample 200 млрд. строк бид запросов, при реализации на Hadoop расчет велся в GCE на 140 машинах класса n1-highmem-8 и занимал 22 расчетных часа. Реализация достаточно ресурсозатратная как с точки зрения времени, так и денег, поэтому встал запрос на вычислительную оптимизацию.
В оптимизационной части мы обсудим, как при переходе на Spark framework уже на первой фазе получилось достигнуть выигрыша в производительности в 3 раза по сравнению с Hadoop framework и это далеко не предел. Сейчас проект перехода в активной фазе и к моменту доклада мы ожидаем довести этот показатель до ~10 раз.
На данном докладе мы познакомимся с новейшими методами проектирования сложных междисциплинарных систем (на примере РЛС), и посмотрим, как Модельно-Ориентированное Проектирование (МОП) помогает создавать подобные системы с меньшими трудозатратами.
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...Platonov Sergey
Кто-то верно подметил, что разработчики статических анализатора часто сталкиваются с "проблемой айсберга". Им сложно объяснить разработчикам, почему сложно написать и развивать статические анализаторы кода. Дело в том, что сторонние наблюдатели видят только вершину всего процесса, так как им доступен для изучения только простой интерфейс, который предоставляют анализаторы для взаимодействия с миром. Это ведь не графический редактор с сотнями кнопок и рычажков. В результате и возникает ощущение, что раз прост интерфейс взаимодействия, то и прост продукт. На самом деле статические анализаторы кода — это сложные программы, в которых живут и взаимодействуют разнообразнейшие методы поиска дефектов. В них реализуется множество экспертные системы, выдающие заключения о коде на основе как точных, так и эмпирических алгоритмах. В парном докладе, основатели анализатора PVS-Studio расскажут о том, как незаметно потратить 10 лет, чтобы написать хороший анализатор. Дьявол кроется в деталях!
Tools & Methods of Program Analysis Conference (TMPA-2013)
Alexeenko, А., Protsenko, P., Matveeva, А., Itkin, I., Sharov D., Innovative Trading Systems, LLC, Exactpro Systems LLC
Compatibility Testing of Protocol Connections of Exchange and Broker Systems Clients
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...Iosif Itkin
Vert, Т., Krikun, Т. и Glukhih, М., St. Petersburg State Polytechnic University, Clausthal Technical University
Finding Defects in C and C++ Pointers Using Static Analysis and Logical Inference
Tools & Methods of Program Analysis (TMPA-2013)
Vladimir A. Zakharov, Associate Professor of Mathematical Cybernetics Department, Head of Laboratory of Mathematical Problems of Computer Security, Faculty of Computational Mathematics and Cybernetics, Moscow State University (MSU)
Mathematical Aspects of Program Obfuscation
TMPA-2015: Automated process of creating test scenarios for financial protoco...Iosif Itkin
Automated process of creating test scenarios for financial protocols and connectivity testing
Anna Toropova, Sergey Pavlov, Andrey Soloviev, Alexander Bormotin, Iosif Itkin, Exactpro Systems
12 - 14 November 2015
Tools and Methods of Program Analysis in St. Petersburg
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...yaevents
Александр Петренко, ИСП РАН
Профессор, доктор физико-математических наук, заведующий отделом технологий программирования Института системного программирования (ИСП РАН), профессор ВМК МГУ. Основные работы в областях: формализация требований, генерация тестов на основе формализованных требований и формальных моделей (model based testing – MBT). Приложения: тестирование операционных систем и распределенных систем, тестирование компиляторов, верификация дизайна микропроцессоров, формализация стандартов на API операционных систем и телекоммуникационных протоколов. Сопредседатель оргкомитетов International MBT workshop (http://www.mbrworkshop.org/), Spring Young Researcher Colloquium on Software Engineering – SYRCoSE (http://syrocose.ispras.ru), городского семинара по технологиям разработки и анализа программ ТРАП/SDAT (http://sdat.ispras.ru/).
Тема доклада
Модели в профессиональной инженерии и тестировании программ.
Тезисы
Model Based Software Engineering (MBSE) является расширением подхода к разработке программ на основе моделей. В MBSE в отличие, например, от MDA (Model Driver Architecture) существенное внимание уделяется не только задачам собственно проектирования и разработки кода, но и задачам других фаз жизненного цикла – анализу требований, верификации и валидации, управлению требованиями на всех фазах жизненного цикла. Model Based Testing (MBT) хронологически возник гораздо раньше, чем MBSE и MDA, однако его место в разработке программ в полной мере раскрылось вместе с развитием MBSE. По этой причине MBT и MBSE следует рассматривать в тесной связке. В докладе будут рассмотрены концепции MBSE-MDA-MBT, основные источники и виды моделей, которые используются в этих подходах, методы генерации тестов на основе моделей, известные инструменты для
Современный статический анализ кода: что умеет он, чего не умели линтерыcorehard_by
Статический анализ появился почти 40 лет назад. В своём докладе мы хотим показать, чему за это время научились статические анализаторы. Мы рассмотрим различные методики анализа, как они появлялись и какие ошибки можно найти с помощью них. Посмотрим на примеры ошибок, найденных PVS-Studio в Open Source проектах. Поговорим о том, чем статический анализатор отличается от "линтеров" и некоторых других инструментов, а также какие проблемы решает современный статический анализатор C++ кода, помимо собственно анализа кода.
Павел Беликов
@PVS-Studio, Тула, Россия
Доклад Анатолия Левенчука "Управление жизненным циклом производственного актива: кто чем тут управляет?" на конференции «Жизненный цикл актива. Стандартизация. Интеграция. Интеллектуализация» 26 ноября 2014
Доклад от Parallels:
Методики тестировния производительности database-centric приложений
Описание: При работе над сложными продуктами в database-centric приложениях изменения в коде и тем более в SQL запросах к базе данных могут приводить к неожиданным падениям производительности или же деградации производительности приложения с ростом размера базы данных. Поэтому важно уметь как можно быстрее отлавливать и исправлять причины таких деградаций.
Доклад о том, как устроен процесс мониторинга производительности продукта автоматизации хостинга и облачных сервисов Parallels Automation, для которого определяющим фактором является производительность базы данных.
Компания покажет, как анализирует планы исполнения SQL запросов внутри PostgreSQL, как проверяет насколько быстро и эффективно в целом работают SQL запросы, как определяет стратегию дальнейшей оптимизации.
Вебинар «Диагностика типовых узких мест скорости работы 1С»Igor Marutiak
Вебинар касался достаточно обширного спектра вопросов по оптимизации. Это был общий экскурс на предмет того, как должна проводиться оптимизация, какие методы используются, какие рекомендации 1С по выбору оборудования, способов диагностики проблем.
"Formal verification of C code" Efremov D.V.
The talk covers the issue of developing correct software applying one of the types of static code analysis. The speaker will also address the matters of using such methods, their weaknesses and limitations, as well as the results they can guarantee.
PHDays VII, PDUG section, Moscow, May 24 2017.
"Формальная верификация кода на языке Си" Ефремов Д.В.
Доклад посвящен разработке корректного программного обеспечения с применением одного из видов статического анализа кода. Будут освещены вопросы применения подобных методов, их слабые стороны и ограничения, а также рассмотрены результаты, которые они могут дать. На конкретных примерах будет продемонстрировано, как выглядят разработка спецификаций для кода на языке Си и доказательство соответствия кода спецификациям.
Доклад представлен на конференции PHDays VII (2017) 24 мая в секции PDUG.
Доклад посвящен разработке корректного программного обеспечения с применением одного из видов статического анализа кода. Будут освещены вопросы применения подобных методов, их слабые стороны и ограничения, а также рассмотрены результаты, которые они могут дать. На конкретных примерах будет продемонстрировано, как выглядят разработка спецификаций для кода на языке Си и доказательство соответствия кода спецификациям.
Formal Verification of a Linux Security ModuleDenis Efremov
Формальная верификация модуля безопасности Linux. Презентация про проект AstraVer ИСП РАН. Доклад представлен на сессии коротких докладов летней школы Мастерчейн. НИУ ВШЭ, Москва, 09 июля 2018.
Автоматическая сборка и развертывание на платформе 1CAlexey Lustin
1. Непрерывная интеграция функционала. Методическая практика развертыванияпродукта. Блоки работ необходимые к проведению в рамках передачи релиза конфигурации в production эксплуатацию. Методические рекомендации фирмы 1С по подготовке продукта к непрерывной интеграции.
2. Способы реализации этапов непрерывной интеграции функционала на платформе 1С и сервере непрерывной интеграции
3. Особенности прохождения этапов сборки и развертывания в зависимости от типа задачи - исправление ошибок, изменение кода, изменение структуры метаданных и т.д.
4. Типовые недочеты и способы их исправления в рамках автоматизированной сборки продукта и его последующего развертывания. Типовые сценарии отката развернутой функциональности
Similar to TMPA-2013 Petrenko Pakulin: Technical Solutions and Non-Technical Challenges of Test Automation (20)
Foundations of Software Testing Lecture 4Iosif Itkin
This lecture is a part of the online course on Software Testing for Complex Intelligent Systems and Autonomous Vehicles. The course lectures provide the theoretical basics of testing autonomous systems based on artificial intelligence.
The fourth lecture of the course entitled Foundations of Software Testing reviews the ‘absence-of-errors fallacy’ and other principles of software testing, as well as the types and levels of software testing. The lecture also provides a fuller picture of the understanding of test objectives and methodologies by different schools of thought within the software testing domain.
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...Iosif Itkin
Speaker: Iosif Itkin, co-CEO & co-founder, Exactpro Systems
9th November 2021
Hilton Canary Wharf
Exactpro is an independent software testing business focused on mission-critical financial market infrastructures, primarily exchanges and clearing houses. In his presentation, Iosif will give a brief overview of research on the concept of model-based testing and the principal challenges of its application while testing complex distributed systems. He will also outline the broader context of interaction between humans and complex computer models.
Exactpro FinTech Webinar - Global Exchanges Test OraclesIosif Itkin
The document discusses test oracles, which are mechanisms for determining whether a test has passed or failed. It describes how oracles work by comparing the actual output of a system under test to the expected output determined by the oracle. Several types of oracles are discussed, including hand-crafted oracles, specification-based oracles, and independent implementation oracles. The document emphasizes that all oracles are partial, as it is impossible to create a perfect oracle that evaluates all possible outputs of a system.
Exactpro FinTech Webinar - Global Exchanges FIX ProtocolIosif Itkin
Exactpro’s Global Exchanges Division training session on FIX Trading Protocol.
The essence of the FIX protocol and its place in the overall structure of network protocols, FIX message attributes and the internal data types of the protocol.
Operational Resilience in Financial Market InfrastructuresIosif Itkin
A4Q World Congress 13-16 April 2021
Iosif Itkin
Exactpro provides independent software testing services for mission critical technology that underpins global financial markets – exchanges and clearing houses. Half of the top 20 global exchange groups on all continents around the globe rely on processes, platforms and people from Exactpro to improve their quality and reliability. The company has spent the last 11 years studying operational resilience in this crucial sector. The presentation will outline the key principles for software testing of the systems that process hundreds of millions of orders per day with roundtrip latencies below one hundred microseconds.
20 Simple Questions from Exactpro for Your Enjoyment This Holiday SeasonIosif Itkin
Warmest wishes for a happy holiday season and a wonderful New Year!
We look forward to our continued collaboration in 2020. Thank you for your support.
QA-Financial Forum 2019 in New York
13 November
Iosif Itkin, CEO and co-founder
Elena Treshcheva, Business Development Manager and Researcher
An October 2019 survey by BoE and FCA found that ML in financial organizations has already passed an initial development phase, and the usage of live ML applications is about to dramatically increase over the next three years. Artificial Intelligence systems are used in market surveillance, they are providing intellectual analysis of news feeds, and they are an important part of the conversational agents facing users and helping them with their business needs from identity verification to trading and portfolio management. How to ensure that an AI-powered system is up to its task? And what would that mean from the software testing perspective?
EXTENT 2019: Exactpro Quality Assurance for Financial Market InfrastructuresIosif Itkin
On Complex Software Systems Testing — Alexey Zverev, co-CEO & co-founder, Exactpro
Software Testing and Machine Learning
Mind the Gap. Applying Process Mining
Learning from Failure is not just for Humans
Dancing with Whales. Adaptive Log Classification System
On Traceability and the Illusion of Control
Building Partnerships
Demystifying DLT Testing One Network at a Time
Get the MOST from FIX
Georgia on My Mind
Build Software to Test Software — Iosif Itkin, co-CEO & co-founder, Exactpro
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...Iosif Itkin
Synchronize Europe
18th June 2019
Iosif Itkin, co-CEO and co-founder, Exactpro
Using the ISDA CDM Swaps application, simultaneously execute multiple end-to-end scenarios for DAML applications in capital markets - validate with actual contract data on ledger.
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan ShamraiIosif Itkin
Ivan Shamray, Senior NFT Analyst, Exactpro
20 April 2019 EXTENT Talks, Tbilisi, Georgia
Tbilisi QA Community
EXTENT Talks is a meeting place for IT specialists working in various industries and seeking professional growth, practitioners from IT firms, as well as Quality Assurance enthusiasts of all backgrounds interested in actively participating in local IT events.
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference OpenIosif Itkin
The document summarizes the agenda for the QA Community Tbilisi event on April 20, 2019 in Tbilisi, Georgia. The agenda included presentations on topics like principles of deep testing, quality in space, behavior driven development, test automation, and obstacles of software testing in Georgia. There was also information provided about Exactpro and their history, tools and methods for testing financial systems, and test automation for distributed ledger technology. The document encouraged participants to provide feedback and announced an upcoming prize drawing for those who engaged on the event's Facebook page.
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...Iosif Itkin
The First IEEE International Conference On Artificial Intelligence Testing (2019 IEEE AITest)
Iosif Itkin, Anna Gromova, Anton Sitnikov, Elena Treshcheva, Rostislav Yavorskiy, Evgenii Tsymbalov, Andrey Novikov and Kirill Rudakov
1 Exactpro, UK, Georgia, USA, Russia
2 Skolkovo Institute of Science and Technology, Russia
3 Higher School of Economics, Russia
Speakers: Iosif Itkin, CEO and Co-Founder and Elena Treshcheva, Business Development Manager and Researcher - Exactpro
Exactpro provides software testing services for mission-critical technology that underpins global financial markets. Exactpro clients are regulated by FCA, Bank of England and their counterparts from other countries. During this session, Elena and Iosif will talk about end-to-end software testing for post-trade systems in financial market infrastructures. What are the key challenges in quality assurance at this scale? What kind of cognitive biases affect SDLC? How precise is the knowledge about the systems under test? What constitutes good test evidence? How to deal with complexity in regulated environments?
Behaviour Driven Development: Oltre i limiti del possibileIosif Itkin
The QA Financial Forum: Milan 2019
23 January at the Excelsior Hotel Gallia.
Anna-Maria Lukina, Exactpro Business Development Director
The QA Financial Forum: Milan is one of the leading fintech conferences in Italy. The event focuses on the latest achievements in software risk management and automation of software testing. The predominant theme of the Milan event will be Quality Assurance for the entire Software Development Life Cycle (SDLC).
The topics under discussion will feature:
- Technologies for Automation & AI
- DevOps & CI/CD
- Value Stream Management
- Test Data Management
- Regulatory Compliance
- App Security & DevSecOps
- Testing and quality assurance of Blockchain platforms
The official language of the event is Italian.
On 17th January 2018 Exactpro successfully completed a management buyout from London Stock Exchange Group (LSEG), signed a new multi-year master services agreement with LSEG, and opened its head office in London.
What else has happened in 2018?
I wanted to take the opportunity to reflect on what has been an unusual year for Exactpro.
Integration front to back - Mr. Custodian tear down that wall
The scope of the application level has been continuous extended over the years, albeit with a focus on the area of pre-trade and trade.
Recently, there has been an increased interest to move further into the area of post-trade which is predominantly driven by the ISO 20022 standard. Is there really a need for new FIX messages in areas such as payments and
what are the integration problems needing a resolution?
Panellists
- Iosif Itkin, CEO, Exactpro
- Jim Northey, Co-Chair Global Technical Committee, Americas Region, FIX Trading Community, Chair Elect, ISO TC68 Financial
Services Technical Committee, and Consultant and Industry Standards Liaison, Itiviti
- Barry Young, Director, Aladdin Product Manager, BlackRock
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)Iosif Itkin
Exactpro is supporting the 3rd annual IT-conference YouCon to take place on 14th October in Saratov, Russia. Over 900 programmers, systems engineers and architects, software QA engineers, and marketing specialists will gather to discuss the latest trends in programming technology. It is the largest IT industry event in Saratov.
Iosif Itkin, CEO of Exactpro, part of London Stock Exchange Group, will deliver a "BDD. The Outer Limits" presentation named after Iosif's favorite Sci-Fi series.
The topics to be covered are:
Behavior Driven Development concepts
Applying BDD in trading and clearing systems
Specification by Example and using production data
Combining Model-based testing and BDD
The Outer Limits
There will be an opportunity to ask questions, share thoughts and expertise in BDD, or just chat with a representative at the Exactpro stand at any time during the event.
Don't miss out, stop by and ask how you can get your Exactpro souvenir :)
We look forward to meeting you there!
#Exactpro #Youconsaratov
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
TMPA-2013 Petrenko Pakulin: Technical Solutions and Non-Technical Challenges of Test Automation
1. Технические и «нетехнические»
проблемы автоматизации тестирования
Пакулин Николай Витальевич,
Петренко Александр Константинович,
Институт системного программирования РАН (ИСП РАН)
www.ispras.ru
http://ispras.ru/ru/se
TMPA, Кострома, 2013
2. «Автоматизация тестирования» и
«Тестирование на основе моделей» (MBT)
• Что общего?
• В чем разница?
• Что думают классики?
2
Bob Binder.
Автор Testing Object-Oriented
Software
Любое автоматизированное
тестирование это
тестирование на основе моделей
3. Примеры моделей в
Model Based Testing (MBT)
3
RSL
MSC
FSM /
FA
Грамматика
<assign> ::= <id> “:=” <expr>
<expr> ::= <intexp> | <boolexp>
Программный контракт
(UniTESK, SpecExplorer)
class ArrayList { public virtual void
Insert(int index , object value)
requires 0 <= index && index <= Count;
requires !IsReadOnly && !IsFixedSize;
ensures Count == old(Count) + 1;
ensures value == this[index ];
ensures Forall{int i in 0 : index ; old(this[i])
== this[i]};
ensures Forall{int i in index : old(Count);
old(this[i]) == this[i + 1]};
{ . . . }
axiom s : S, e : Nat :-
first(add(s, e)) ≡
if e > 10 then 2 * first(s)
elsif e > 5 then first(s)
else 0 end
State 2
State1
State 4
State 3
op2
op3
op3
op3
op2
op1
op3
4. Венский метод
Vienna Development Method – VDM (1)
Шаг 0-ой: объявление сорт-типов и определение сигнатур операций
Шаг 1-ый: структуры данных и спецификации для каждой операции
(имплицитные и эксплицитные),
доказательство корректности спецификаций
. . .
Шаг i-й: модификация сигнатур и структур данных и расширение
спецификаций предыдущего шага, доказательство корректности и
согласованности с предыдущим шагом.
В конце возможна трансляция в код на языке программирования.
Операционная семантика языка программирования, синтез
программ
4
Модели
Идея
Код
5. Венский метод
Vienna Development Method – VDM (2)
Имея имплицитную спецификацию <pre-Op, post-Op> и
эксплицитную спецификацию Op нужно доказывать, что
Input
pre-Op(input) => post-Op(input, Op(input))
Это надо доказывать на каждом уровне детализации.
5
6. Венский метод
Vienna Development Method – VDM (3)
Доказательство соответствия моделей разного уровня детализации
Обозначения:
• Op_mod - операция в модельном (спецификационном) пространстве
• Op_impl - операция в реализационном пространстве
• in, out- входные и выходные данные в реализационном пространстве
• IN, OUT - входные и выходные данные в модельном пространстве
• retr - восстанавливающая функция (функция абстракции)
Op_mod
Op_impl
retr retr
in out
OUTIN
6
Модельное пространство
Реализационное пространство
Функция абстракции
7. • Пред-условия абстрактного уровня (далее будем говорить
модели и использовать суффикс _mod) не слабее пред-
условий уточненного уровня (далее будем говорить
реализации и использовать суффикс _impl):
pre-Op_mod(retr(in)) => pre-Op_impl(in)
• При условии, что предусловия не нарушены, результат
выполнения функции Op_mod эквивалентен результату
функции Op_impl, преобразованного функцией retr:
pre-Op_mod(retr(in)) =>
eq(retr(Op_impl(in)), Op_mod(retr(in))),
где eq – функция, задающая определение эквивалентности
значений из области значений функции Op_mod.
7
Постановка задачи верификации.
Модель и реализация заданы явно
8. В этом случае для доказательства соответствия нужно убедиться,
что для каждой уточненной функции:
• Пред-условия модели функции не слабее пред-условий
реализации
pre-Op_mod(retr(in)) => pre-Op_impl(in)
• пост-условие модели выполняется по отношению к
входным данным, полученным трансформацией входных
данных реализации и результатам, полученным
трансформацией выходных данных реализации (при
условии, что пред-условие для модели выполняется)
in: pre-Op_mod(retr(in)) =>
post-Op_mod(retr(in), retr(Op_impl(in)))
8
Постановка задачи верификации.
Модель неявная, реализация явная
9. Требуется показать соответствие на тестовых примерах :
pre-Op_mod(retr(in)) =>
post-Op_mod(retr(in), retr(Op_impl(in)))
или
pre-Op_mod(retr(in)) =>
eq(retr(Op_impl(in)), Op_mod(retr(in)))
При этом надо ответить на вопрос – сколько и каких входных данных
будет достаточно для выполнения качественного тестирования.
9
Постановка задачи верификации при
помощи тестирования на основе
моделей
10. Общая схема генерации тестов в
UniTESK и SpecExplorer
10
Критерий полноты
Модель поведения
Структуры
данных
Инварианты
Пред- и
постусловия
Операции и
события
Варианты исполнения
Виды
состояний
Модель
состояния
Обходчик
автоматов
Оракулы
Виды
параметров
Генератор
Итераторы
данных
Описание автомата
ДействияСостояния
Метрика
покрытия
Тестируемая
система
Генерация тестовой
последовательности на
лету
Предусловия
Постусловия
11. Примеры приложений UniTESK
OS Kernel Verification (Nortel Networks) - 1994–1999
CleanDocs – Requirements management
based on formalization (Nortel Networks) - 1999
UniTESK origination - 1999
IPv6 implementation testing (Microsoft Research) - 2001-2003
Compiler testing (Intel) - 2001–2004
Billing system infrastructure (VimpelCom) - 2005-2011
Linux Standard Base – OLVER (Ministry of Science RF) - 2005-2006
ARINC-653 testing (NIISI et al) - 2007-2013
CRM system testing (Luxoft/Deutsche Bank) - 2003
Tiny OS testing (Luxoft) - 2004
Simulink optimizer (Daimler Chrysler) - 2005
LSB Infrastructure (Linux Foundation, Nokia) - 2007-2011
Hardware design testing (NIISI, MCST) - 2005-2013
IPsec formalization and testing (RFBR) - 2007-2009
Math library testing (NIISI) - 2007-2011
Linux driver verification (RFBR, Ministry of Science RF) - 2007-2013
Avionics tool chain (GosNIIAS) - 2009-2013
Critical avionics testing (Rusys, Lasex) - 2010-2012
DOM formalization and testing (Microsoft) - 2009-2011
Race detection in Linux kernel – KEDR (Google) - 2011-2012
12. Примеры моделей программного обеспечения
встроенных систем управления
12
SCADE (Esterel Technologies) Диаграмма последовательностей
(IBM/Rhapsody)
16. Правила безопасного программирования
(safety rules)
16
ID 0029: Memory cannot be allocated from an
unexisted memory pool
GOALS:
To avoid potential crashes related to incorrect usage
of pool functions: dma_pool_alloc() cannot be
called before a successful creation of pool using
dma_pool_create().
Неформальное описание правила
Формальная модель
запрещенного поведения
Общая идея: формализация описания
«анти-паттернов» корректного программирования
17. Современные проблемы
• Возможности инструментов пока не позволяют
проводить точный анализ систем реальной
сложности и реальных размеров
– Поиск возможностей помодульного анализа
• Реальные программно-аппаратные системы
представляют собой «стек» платформ
– Задача «межплатформенного» анализа
• Разработка спецификаций/моделей требований,
правил корректности и безопасности
17
18. Ближайшие перспективы
• Освоение больших вычислительных
мощностей для решения задач
верификации
• Комбинация различных подходов к
анализу программ, включая техники
на основе provers и solvers
18
19. Каковы плюсы тестирования на
основе моделей?
• Разработка моделей подталкивает к скрупулезному анализу
проекта (многие ошибки выявляются еще на фазе
проектирования)
• MBT достаточно легко позволяет распараллеливать
выполнение тестов (легко загрузить кластер)
• Достаточно просто строить рандомизированные тесты
• Поддерживать и сопровождать большую систему MBT
проще традиционных пакетов регрессионных тестов
• Трудоемкость разработки MBT тестов в большом проекте
меньше по сравнению с традиционными технологиями
19
21. «Медленный старт»
• Тесты только после модели
– Недели и месяцы работы без видимой отдачи
– «Дублирование кода»
– Отсутствие документации. «Читайте код, там всѐ
написано»
– Модификации в коде. Незафиксированные интерфейсы!
• «Где ошибки?»
– Разработка модели должна начинаться на этапе
проектирования
– Ко-верификация
– Непонятная модель
21
22. Проблема планирования
• Выбор уровня качества
– MBT – недешевая активность
– Анализ и выбор возможностей
– Постановка бизнес-целей
• «Они нас отвлекают!» vs «Молчат как
партизаны!»
– Построение политики взаимодействия спецификаторов и
программистов
– Построение процесса разработки
– Выделение ресурсов
22
23. Сложность обучения
• «… и много других страшных слов»
– иерархический расширенный конечный автомат, пред- и
постусловия, темпоральная логика, алгебра термов,
переписывание, обход автомата, …
– В Индии человек с необходимым набором компетенций
занимает позицию Research Director в крупной компании
• Результат или процесс?
– Специалист по MBT и программист мыслят по-разному!
– Модель != реализация
• Подготовка персонала
– Отсутствие подготовки в ВУЗе
– Трехдневный тренинг (???)
23
24. Сложность удержания
обученных кадров
• Как сохранять мотивацию высокоуровнего
тестирования?
– Тестировщик – «человек второго сорта»
– Относительно легко говорить о мотивации разработчиков
инструментов
• Важно, чтобы каждый видел перспективу роста:
– Варианты карьерного роста в компании
– Высокий уровень компетенций – переход в ведущие
разработчики, архитекторы, дизайнеры, …
• Ограниченность рынка
– Большая потребность в специалистах
24