Системы анализа и обработки данных

СИСТЕМЫ АНАЛИЗА И ОБРАБОТКИ ДАННЫХ

ISSN (печатн.): 2782-2001          ISSN (онлайн): 2782-215X
English | Русский

Последний выпуск
№3(99) Июль-Сентябрь 2025

Сворачивание циклов в сетях Петри

Выпуск № 4 (61) Октябрь - Декабрь 2015
Авторы:

А.А. ВОЕВОДА ,
И.Л. РЕВА ,
Д.О. РОМАННИКОВ ,
DOI: http://dx.doi.org/10.17212/1814-1196-2015-4-152-158
Аннотация


Существенным недостатком способов анализа программного обеспечения (ПО), основанных на переборе всех возможных начальных вариантов, является «взрывной» рост числа вариантов анализа (в различных методах этот термин называется по-разному: в проверке моделей – размер тотального множества переходов, в сетях Петри – пространство состояний и т. д.), который приводит к невозможности анализа ПО. Одним из основных источников значительного увеличения числа вариантов для анализа являются конструкции с програм-мными циклами, особенно содержащие условные операторы внутри цикла. Потенциально такие циклы могут приводить к фактически бесконечному числу вариантов для анализа. В работе предлагается метод упрощения анализа ПО, который предполагает преобразование выражений в циклах с целью уменьшения количества вариантов анализа (сокращение размера тотального множества переходов или поиск идентичных участков пространства состояний). Рассматриваемый способ основывается на представлении выражений в цикле в виде функции, зависящей от числа итераций. При этом выражения в цикле преобразовываются в нерекуррентные соотношения, а анализ ПО сводится к решению набора систем нелинейных уравнений или к другим видам анализа полученных выражений. Необходимо заметить, что анализ полученных функций также является достаточно сложной задачей, но ее решение авторам кажется более перспективным, чем решения, основанные на полном переборе. В работе приводятся примеры применения данного метода для преобразования выражений в цикле к функциям от числа итераций, а также примеры анализа программ с помощью анализа полученных функций.
Ключевые слова: программное обеспечение, цепи рекуррентности, рекуррентные соотношения, проверка моделей, сети Петри, пространство состояний, программные циклы, символьный анализ, граф состояния, пространство переходов
А.А. ВОЕВОДА
630073, РФ, г. Новосибирск, пр. Карла Маркса, 20, Новосибирский государственный технический университет, доктор технических наук, профессор. Е-mail:
voevoda@ucit.ru
Orcid:

И.Л. РЕВА
630073, РФ, г. Новосибирск, пр. Карла Маркса, 20, Новосибирский государственный технический университет, кандидат технических наук, доцент. Е-mail:
reva@corp.nstu.ru
Orcid:

Д.О. РОМАННИКОВ
630073, РФ, г. Новосибирск, пр. Карла Маркса, 20, Новосибирский государственный технический университет, кандидат технических наук, доцент. Е-mail:
rom2006@gmail.com
Orcid:

Список литературы
1. Орлов С.А. Технология разработки программного обеспечения. – СПб.: Питер, 2012. – 609 с.

2. Романников Д.О. Разработка программного обеспечения с применением UML диаграмм и сетей Петри для систем управления локальным оборудованием: дис. … канд. техн. наук. – Новосибирск, 2012. – 195 с.

3. Коротиков С.В. Применение сетей Петри в разработке программного обеспечения центров дистанционного контроля и управления: дис. … канд. техн. наук. – Новосибирск, 2007. – 216 с.

4. Марков А.В. Автоматизация проектирования и анализа программного обеспечения с использованием языка UML и сетей Петри: дис. … канд. техн. наук. – Новосибирск, 2015. – 176 с.

5. Clarke E.M., Grumberg O., Peled D. Model checking. – Cambridge: MIT Press, 1999. – 330 p.

6. Карпов Ю.Г. Model checking. Верификация параллельных и распределенных программных систем. – СПб.: БХВ-Петербург, 2010. – 560 с.

7. Воевода А.А., Романников Д.О. Сравнение методов преобразования программного цикла с использованием символьной нотации // Сборник научных трудов НГТУ. – 2015. – № 1 (79). – С. 65–76.

8. Engelen R.A. van The CR# algebra and its application in loop analysis and optimization: technical report TR-041223 / Florida State University. – Florida, 2004. – 13 p.

9. Scholz B., Blieberger J., Fahringer T. Symbolic pointer analysis for detecting memory leaks // Proceedings of the 2000 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation (PEPM'00). – New York, 1999. – P. 104–113.

10. Burgstaller V., Scholz V., Blieberger V. A symbolic analysis framework for static analysis of imperative programming languages // Journal of Systems and Software. – 2012. – Vol. 85, iss. 6. – P. 1418–1439.

11. A unified framework for nonlinear dependence testing and symbolic analysis / R.A. van Engelen , J. Birch, Y. Shou, B. Walsh, K.A. Gallivan // Supercomputing: Proceedings of the 18th Annual International Conference, (ICS'04), 2004. – New York, 2004. – P. 106–115.

12. Воевода А.А., Романников Д.О. Символьные метки в сетях Петри при анализе программ // Сборник научных трудов НГТУ. – 2015. – № 2 (80). – С. 80–86.

13. Cousot V., Cousot R. A gentle introduction to formal verification of computer systems by abstract interpretation // Logics and Languages for Reliability and Security / J. Esparza, O. Grumberg, M. Broy, eds. – Washington: IOS Press, 2010. – P. 1–29. – (NATO science for peace and security series. Sub-series D. Information and communication security; vol. 25).

14. Bachmann O., Wang P.S., Zima E.V. Chains of recurrences – a method to expedite the evaluation of closed-form functions // Proceedings of the International Symposium on Symbolic and Algebraic Computation, ISSAC'94, Oxford, England, UK, 20–22 July 1994. – New York: ASM, 1994. – P. 242–249.

15. Kislenkov V., Mitrofanov V., Zima E. Multidimensional chains of recurrences // Proceedings of the 1998 International Symposium on Symbolic and Algebraic Computation, ISSAC'98, Rostock, Germany, 13–15 August 1998. – New York: ASM, 1998. – P. 199–206.

16. Bachmann O. Chains of recurrences: PhD diss. of philosophy / Kent State University. – Kent, 1996. – 145 p.

 
Просмотров аннотации: 1998
Скачиваний полного текста: 1383
Просмотров интерактивной версии: 0