We present a novel decision tree-based synthesis algorithm of ranking functions for verifying program termination. Our algorithm is integrated into the workflow of CounterExample Guided Inductive Synthesis (CEGIS). CEGIS is an iterative learning model where, at each iteration, (1) a synthesizer synthesizes a candidate solution from the current examples, and (2) a validator accepts the candidate solution if it is correct, or rejects it providing counterexamples as part of the next examples. Our main novelty is in the design of a synthesizer: building on top of a usual decision tree learning algorithm, our algorithm detects cycles in a set of example transitions and uses them for refining decision trees. We have implemented the proposed method and obtained promising experimental results on existing benchmark sets of (non-)termination verification problems that require synthesis of piecewise-defined lexicographic affine ranking functions.
翻译:我们提出了一个用于核实程序终止的排序函数的新型基于决定的树合成算法。我们的算法被纳入了反抽样引导感化合成(CEGIS)的工作流程中。 CEGIS是一个反复学习模式,在每次迭代中,1个合成器综合了当前实例中的一种候选解决方案,2个验证器接受候选解决方案,如果它正确的话,或者拒绝作为下一个实例提供反例。我们的主要新颖之处在于设计一个合成器:在通常的决策树学习算法的基础上,我们的算法在一系列样板转换中检测周期并利用这些循环来精炼决定树。我们实施了拟议方法,并在现有的基准(非)定界核查问题上取得了有希望的实验结果,这需要综合精密定义的词谱缩线排序功能。