Journal influence
Higher Attestation Commission (VAK) - К1 quartile
Russian Science Citation Index (RSCI)
Bookmark
Next issue
№3
Publication date:
16 September 2024
Program synthesizing based on a graph-analytic model description
Date of submission article: 14.09.2017
UDC: 004.896
The article was published in issue no. № 4, 2017 [ pp. 561-566 ]Abstract:The quantity and volumes of the developed software grow annually. It stimulates developers to create new tools enabling to reduce time for the next product development. It also includes testing automation equipment. The demand for new instruments of test automation increases due to increasing number of systems using different programming lan-guages. The relevance of the task of searching universal cross-language testing tools remains high. The paper considers verification of computing processes based on a graph-analytic model (GAM). The key idea of this approach is that the developed program is converted into a GAM description and is compared to the reference GAM description according to which it was created. Further, according to the results of comparing, the program either is recognized as correct, or is sent back for revision. A bottle neck of such approach is development of the program based on GAM and a potential iteration nature of the process. The authors suggest a special utility to solve this problem. This utility performs synthesis of programs for reference descriptions. The paper considers an algorithm of conversion of a GAM description object model into text representation of C# operators and expressions. A research objective is automation of program synthesis in C# by a group of GAM descriptions of a computing process. Within the research, we have created a tool enabling to transform GAM descriptions into program source codes. We have checked the developed utility on GAM descriptions of an array processing program (sorting, turn). The synthesized executed module has been successfully tested in Windows 10 operating system environment. In the future we plan to develop the utility along with new versions of a description language to enrich the possibilities of synthesizable programs.
Аннотация:Количество и объемы создаваемого ПО растут ежегодно. Это побуждает разработчиков к созданию новых инструментов, позволяющих сократить время на разработку очередного продукта, в том числе средств автоматизации тестирования. Необходимость в новых инструментах автоматизации тестирования растет по причине того, что увеличивается количество систем, использующих различные языки программирования. Актуальность задачи поиска универсальных межязыковых средств тестирования остается высокой до сих пор. В работе рассматривается верификация вычислительных процессов на основе графоаналитической модели. Основная идея этого подхода заключается в том, что разработанная программа конвертируется в описание графоаналитической модели и сравнивается с эталонным описанием, по которому она и создавалась; далее по результатам сравнения программа либо признается корректной, либо отправляется на доработку. Узким местом такого подхода являются сама разработка программы на основе графоаналитической модели и потенциальная итеративность процесса. Эту проблему предлагается решить с помощью создания утилиты синтеза программ по эталонным описаниям графоаналитической модели. В данной работе рассматривается алгоритм преобразования объектной модели описания графоаналитической модели в текстовое представление операторов и выражений языка C#. Целью исследования является автоматизация синтеза программ на языке C# по группе описаний графоаналитической модели вычислительного процесса. В рамках данного исследования было создано средство, позволяющее преобразовывать описания графоаналитической модели в исходные коды программ. Разработанная утилита была проверена на описаниях графоаналитической модели программы для обработки массивов (сортировка, поворот). Синтезированный исполняемый модуль успешно протестирован в окружении операционной системы Windows 10. В дальнейшем планируется развивать утилиту вместе с новыми версиями языка описания для расширения возможностей синтезируемых программ.
Authors: A.G. Zykov (zykov_a_g@mail.ru) - The National Research University of Information Technologies, Mechanics and Optics, St. Petersburg, Russia, Ph.D, I.V. Kochetkov (melmacson@gmail.com) - The National Research University of Information Technologies, Mechanics and Optics, St. Petersburg, Russia, V.I. Polyakov (v_i_polyakov@mail.ru) - The National Research University of Information Technologies, Mechanics and Optics (Associate Professor), St. Petersburg, Russia, Ph.D, E.G. Chistikov (frazer@list.ru) - The National Research University of Information Technologies, Mechanics and Optics, St. Petersburg, Russia | |
Keywords: verification, testing, automation, program synthesis, generation of programs, roslyn, graph-analytic model |
|
Page views: 13581 |
PDF version article Full issue in PDF (29.80Mb) |
Синтезирование программ на основе описания графоаналитической модели
DOI: 10.15827/0236-235X.120.561-566
Date of submission article: 14.09.2017
UDC: 004.896
The article was published in issue no. № 4, 2017. [ pp. 561-566 ]
The quantity and volumes of the developed software grow annually. It stimulates developers to create new tools enabling to reduce time for the next product development. It also includes testing automation equipment. The demand for new instruments of test automation increases due to increasing number of systems using different programming lan-guages. The relevance of the task of searching universal cross-language testing tools remains high.
The paper considers verification of computing processes based on a graph-analytic model (GAM). The key idea of this approach is that the developed program is converted into a GAM description and is compared to the reference GAM description according to which it was created. Further, according to the results of comparing, the program either is recognized as correct, or is sent back for revision.
A bottle neck of such approach is development of the program based on GAM and a potential iteration nature of the process. The authors suggest a special utility to solve this problem. This utility performs synthesis of programs for reference descriptions. The paper considers an algorithm of conversion of a GAM description object model into text representation of C# operators and expressions.
A research objective is automation of program synthesis in C# by a group of GAM descriptions of a computing process. Within the research, we have created a tool enabling to transform GAM descriptions into program source codes.
We have checked the developed utility on GAM descriptions of an array processing program (sorting, turn). The synthesized executed module has been successfully tested in Windows 10 operating system environment.
In the future we plan to develop the utility along with new versions of a description language to enrich the possibilities of synthesizable programs.
A.G. Zykov (zykov_a_g@mail.ru) - The National Research University of Information Technologies, Mechanics and Optics, St. Petersburg, Russia, Ph.D, I.V. Kochetkov (melmacson@gmail.com) - The National Research University of Information Technologies, Mechanics and Optics, St. Petersburg, Russia, V.I. Polyakov (v_i_polyakov@mail.ru) - The National Research University of Information Technologies, Mechanics and Optics (Associate Professor), St. Petersburg, Russia, Ph.D, E.G. Chistikov (frazer@list.ru) - The National Research University of Information Technologies, Mechanics and Optics, St. Petersburg, Russia
Ссылка скопирована!
Permanent link: http://swsys.ru/index.php?page=article&id=4350&lang=en |
PDF version article Full issue in PDF (29.80Mb) |
The article was published in issue no. № 4, 2017 [ pp. 561-566 ] |
The article was published in issue no. № 4, 2017. [ pp. 561-566 ]
Perhaps, you might be interested in the following articles of similar topics:Perhaps, you might be interested in the following articles of similar topics:
- Особенности тестирования наборов данных в операционной системе z/OS
- Автоматизация верификации программ с использованием графоаналитических моделей вычислительного процесса
- Программа для автоматизированной верификации ограничений целостности баз данных
- Применение системы KLEE для автоматизации тестирования программ на языках C/C++
- Контроль целостности входных данных при проведении автоматизированного анализа программного обеспечения
Back to the list of articles