In this paper, we investigate formal test-case generation for high-level mission objectives, specifically reachability, of autonomous systems. We use Kripke structures to represent the high-level decision-making of the agent under test and the abstraction of the test environment. First, we define the notion of a test specification, focusing on a fragment of linear temporal logic represented by sequence temporal logic formulas. Second, we formulate the problem of test graph synthesis to find a test configuration for which the agent must satisfy the test specification to satisfy its mission objectives. We an algorithm, based on network flows, for synthesizing a test graph by restricting transitions, represented by edge deletions, on the original graph induced by the Kripke structures. The algorithm synthesizes the test graph iteratively using an integer linear program. We prove completeness for our algorithm, and we show that the edge deletions in each iteration maintain feasibility of the integer linear program in the subsequent iteration. We formalize the notion of a minimally constrained test graph in terms of maximum flow, and prove the synthesized test graph to be minimally constrained. We demonstrate our algorithm on a simple graph and on gridworlds.
翻译:在本文中,我们为高级任务目标,特别是自主系统的可达性,调查正式的测试情况生成;我们使用Kripke结构来代表正在测试的代理人的高层决策以及测试环境的抽象性。首先,我们定义测试规格的概念,侧重于由序列时间逻辑公式代表的线性时间逻辑碎片。第二,我们提出测试图合成问题,以找到一种测试配置,使代理人必须满足测试规格,才能满足其任务目标。我们根据网络流程,在Kripke结构最初的图表中以边缘删除为代表,通过限制过渡来合成测试图形。算法用整形线性程序迭接地合成测试图。我们证明我们的算法是完整的,我们显示每次循环删除的边缘在随后的循环中保持整形线性程序的可行性。我们根据网络流程正式确定了一个最小限制的测试图形概念,并证明合成的测试图表在最小程度上受到限制。我们用简单图表和电网上展示了我们的算法。