This paper describes how to verify cryptographic protocols by a general-purpose program transformation technique with unfolding. The questions of representation and analysis of the protocols as prefix rewriting grammars are discussed. In these aspects Higman and Turchin embeddings on computational paths are considered, and a refinement of Turchin's relation is presented that allows to algorithmically decide the empty word problem for prefix rewriting grammars.
The paper studies the subsequence relation through a notion of an intransitive binary relation on words in traces generated by prefix-rewriting systems. The relation was introduced in 1988 by V.F. Turchin for loop approximation in supercompilation. We study properties of this relation and introduce some refinements of the subsequence relation that inherit the useful features of Turchin's relation.
Supercompilation is a program transformation technique that was first described by V. F. Turchin in the 1970s. In supercompilation, Turchin's relation as a similarity relation on call-stack configurations is used both for call-by-value and call-by-name semantics to terminate unfolding of the program being transformed. In this paper, we give a formal grammar model of call-by-name stack behaviour. We classify the model in terms of the Chomsky hierarchy and then formally prove that Turchin's relation can terminate all computations generated by the model.
In the paper technical systems with counters are considered as logical models. The questions of formalization in temporal logic and automatic analysis via computational tree transformations are discussed.
The paper focuses on the automatic generating of the witnesses for the word equation satisfiability problem by means of specializing an interpreter WI L ( σ i , Eqs), which tests whether a composition of variable substitutions σ i of a given word equation system Eqs produces its solution. We specialize such an interpreter w.r.t. Eqs, while σ i are unknown. We show that several variants of such interpreters, when specialized using the basic unfold/fold methods, are able to construct the whole solution sets for some classes of the word equations whose left-and right-hand sides share variables. We prove that the specialization process w.r.t. the constructed interpreters gives a simple syntactic criterion of the satisfiability of the equations considered, and show that the suggested approach can solve some equations not solvable by Z3str3 and CVC4, the widely-used SMT-solvers.* The reported study was partially supported by Russian Academy of Sciences, research project No. AAAA-A19-119020690043-9. 1 We use the assumption that only the elements c belonging to the function domain are considered, which is expressed by the premise ∃ f (c).AddExprMS((Vs sym )++x expr , xms) = AddExprMS(x expr , Include((Vs sym ), ε, xms)); AddExprMS(s sym ++x expr , xms) = AddExprMS(x expr , Include(s sym , ε, xms)); AddExprMS(ε, (xms)) = xms;
Заметка об автоматическом решении квадратичных уравнений в словах Аннотация. При анализе программ, оперирующих строками, естественным образом возникает задача решения уравнений в словах. На практике часто встречаются такие уравнения, содержащие, самое большее, два вхождения каждой переменной,-так называемые квадратичные уравнения. Для их решения Ю. И. Хмелевским в 1971 году предложен интуитивно ясный алгоритм, имеющий экспоненциальную сложность. В 1999 году В. Дьекертом показано, что задача решения квадратичного уравнения является NP-трудной. В данной заметке изложены и показаны на примерах способы упрощения классического алгоритма Хмелевского, позволяющие добиться лучшей его применимости в автоматическом анализе программ. Ключевые слова и фразы: суперкомпиляция, уравнения в словах, анализ программ. Введение В последнее время возрос интерес исследователей к автоматическому анализу программ, оперирующих строковыми данными [1-5]. Простейший практический пример таких программ: скрипты анализа и изменения содержимого веб-страницы. Сложность анализа таких программ состоит в том, что язык, содержащий встроенный ассоциативный конструктор приписывания и оператор replace, алгоритмически полон. Поэтому в подобных исследованиях рассматриваются частные случаи языков над строковым типом данных, для которых задачу автоматической проверки свойств программ удается сделать разрешимой. В частности, таковы языки над строками не больше определенной длины и языки, содержащие регулярные операции. Исследование выполнено при финансовой поддержке РФФИ в рамках научного проекта №17-07-00285_а и госзадания ФАНО России № АААА-А16-116021760039-0.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.