Abstract

Strong (logic&term) equivalence of programs is the weakest decidable equivalence relation which approximates the functional equivalence of programs. In this paper we develop a new variant of the algorithm for checking strong equivalence of programs. A distinguished feature of our algorithm is that it relies completely on the algebra of finite substitutions which includes the operations of composition and antiunification. The paper begins with a short introduction to the theory of first-order substitutions. In the next section the formal first-order model of sequential programs and strong equivalence are defined. We also describe a preliminary variant of equivalence checking algorithm. This algorithm deals with composition and antiunification operations on finite substitutions. Since the complexity of these operations depends on data structures that represent substitutions, we consider in Section 4 graph-theoretic representations of substitutions as well as upper and lower bounds on the complexity of basic operations on substitutions. To reduce the complexity of equivalence checking algorithm for sequential programs we introduce in Section 5 a new class of truncated substitutions and study the basic algebraic properties of composition and antiunification operations on truncated substitutions. In Section 6 we showed that both operations on truncated substitutions can be performed in time O(n^2). Finally, in Section 7 using the properties of truncated substitutions we introduced an improved version of the equivalence checking algorithm and proved that its time complexity is O(n^6) on the size of programs to be checked.

Highlights

  • ВведениеДве программы p 1 и p 2 считаются логико-термально эквивалентными, если для любой синтаксически допустимой трассы tr ¢ в одной из программ существует такая трасса tr¢¢ в другой программе, что в обеих трассах логические условия (предикаты) проверяются в одной и той же последовательности для одних и тех же наборов значений переменных

  • Полученная верхняя оценка сложности задачи проверки логико-термальной эквивалентности программ существенно меньше ранее известных полиномиальных оценок сложности указанной задачи

  • Интерес к л-т эквивалентности программ был обусловлен двумя ее свойствами: 1) л-т эквивалентность программ p 1 и p 2 влечет функциональную эквивалентность этих программ [2], 2) отношение л-т эквивалентности программ разрешимо за полиномиальное время [2,3]

Read more

Summary

Введение

Две программы p 1 и p 2 считаются логико-термально эквивалентными, если для любой синтаксически допустимой трассы tr ¢ в одной из программ существует такая трасса tr¢¢ в другой программе, что в обеих трассах логические условия (предикаты) проверяются в одной и той же последовательности для одних и тех же наборов значений переменных. На основании этих алгоритмов в статье [24] был предложен новый алгоритм проверки л-т эквивалентности программ и показано его применение для решения новой задачи анализа программ – задачи унификации программ. В третьем разделе статьи коротко определяются модель стандартных схем программ и отношение л-т эквивалентности программ в этой модели, а также описан алгоритм проверки л-т эквивалентности программ в том виде, в котором он был предложен в статье [24]. Эти оценки свидетельствуют о том, что для повышения эффективности алгоритма проверки л-т эквивалентности программ класс подстановок, используемых в этом алгоритме, должен быть существенно сокращен. В шестом разделе статьи введена операция редуцированной антиунификации (определение 3) и установлены некоторые ее алгебраические свойства (теоремы 7-9), необходимые для применения этой операции в модифицированном алгоритме проверки л-т эквивалентности программ. На основе этой оценки в теореме 11 последнего раздела статьи получен основной результат работы – верхняя оценка сложности по времени O(n6 ) для модифицированного алгоритма проверки л-т эквивалентности программ

Алгебра конечных подстановок
Модель последовательных программ императивных
Графовые представления подстановок
Редуцированные подстановки
Для любой пары подстановок h 1
Сложность вычисления редуцированной антиунификации подстановок
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call