An Algorithm for Reducing Binary Branchings

In this paper we propose an algorithm suppressing useless boolean tests in object code, for programs translatable into deterministic labeled transition systems. This algorithm is based on the notion of test equivalence, a variant of the classical observational equivalence: a test is useless iff each branch leads to equivalent states, the test labels being considered as invisible actions.