标题: | 基于路径之验证技术:理论与应用 Path-Based Verification Techniques: Theory and Application |
作者: | 刘文谦 Wen-Chien Liu 钟干癸 Chyan-Goei Chung 资讯科学与工程研究所 |
关键字: | 正规验证;可达性分析;模型检查;时序逻辑;并行路径;分解式验证方法;基于路径之验证方法;formal verification;reachability analysis;model checking;temporal logic;concurrent path;decompositional verification;path-based verification |
公开日期: | 1999 |
摘要: | 由于并行系统所具有的并行性、通讯与不可决定性等特质,并行系统通常相当复杂,而且难以分析其行为以确保其正确性。在众多分析方法中,正规验证被公认是一种相当有效方法。虽然目前有许多的方法可用以验证并行系统,但是状态爆炸的问题始终使得这些方法无法成功地完整验证真正复杂的系统。该问题是指并性系统中的状态随着系统的大小成指数性的增长。针对此一问题,如果能够将一复杂之系统分解成若干个较小的单元使得每个单元都能够单独被验证,如此验证的复杂度也会因被验证的单元的大小降低,而有指数性的减低。根据此一想法,我们提出了基于路径的验证方法,该方法是将并行系统分解成一组由称为并行路径的个别执行行为所形成的集合。并行路径是一种偏序的行为表示方法,此一方法分别记录并行系统中各模组的相对应执行路径。由于并行路径可经由所有模组的路径的卡氏积自动产生,而且可以被独立验证,对记忆体的需求取决于个别并行路径的程度而非整个系统的大小。因此状态爆炸的问题得以藉由此一“分割并逐一击破”的方法而减轻,此外每个并行路径的验证都是独立的因此可以很容易的并行处理来加快验证的速度。 在本论文中,我们提出针对并行系统之基于路径的验证技巧与基于路径的模型检查技术。前者可用于检查重要的逻辑性质,如死结与活结等。后者则可用于检查由使用者以时序逻辑CTL所指定的的性质。这两种方法可以较低的记忆体验证任何可达性分析与CTL模型检查所能验证的性质。此外,我们也提出若干演算法,透过增加记忆体的使用量来加速验证的效率,以及利用对称验证与平行验证的技术来加速。我们利用两个实际的系统X.21与Gigamax通讯协定来展示所提出方法的有效性。在这两个例子中,与传统的可达性分析与模型检查方法相较,我们的方法都能够有效的使用较少的记忆体进行验证,并且在使用平行验证的技术下,以较短的时间完成验证的工作。 It is a challenging task to analyze the execution behavior and ensure the correctness of concurrent systems because their complexity introduced by the inherent nature of concurrency, communication and nondeterminism. Formal verification has been convinced to be an effective technique for such task. Many approaches have been proposed to verify concurrent systems, but the state explosion problem is the principal obstacle toward successful and complete verifications of complex systems. This problem refers to the phenomenon that the number of states in a concurrent system grows exponentially with the size of the system. One effective approach to alleviating the problem is to decompose the system into smaller units such that each one can be verified independently. The complexity of verifying smaller units is thus much smaller than that of the entire system. Based on this idea, we propose a new approach, called path-based verification approach. This approach is to decompose a concurrent system into a set of individual execution behaviors, denoted as concurrent paths. The concurrent path is partial-order representation recording the corresponding execution paths of individual modules of a concurrent system. The verification of individual concurrent paths then replaces that of the system. Since concurrent paths can be automatically generated through Cartesian product of the execution paths of all modules and they can be verified independently, the memory requirement is limited to the length of individual concurrent paths rather than the size of the entire system. The state explosion problem is hereafter alleviated from such "divide and conquer" approach. Furthermore, the verification can be performed in parallel since the analysis and verification of each concurrent path is independent. In this thesis, we propose path-based verification and path-based model checking techniques for concurrent systems based on the aforementioned idea. The former can verify the most critical properties, such as deadlock and livelock; the latter can the customized properties specified by the temporal logic CTL. Both methods can verify any properties that can be verified by reachability analysis or CTL model checking with less memory requirement. We also propose several algorithms, making trade-off on memory requirement to generate and analyze concurrent paths more efficiently, and utilizing the techniques of symmetric verification and parallel verification to improve efficiency. We also demonstrate the usefulness of our approach to the real systems, X.21 and Gigamax protocols. Both cases show that our approach uses less memory and takes less time if parallel verification technique is utilized than the original reachability analysis and model checking algorithms. |
URI: | http://140.113.39.130/cdrfb3/record/nctu/#NT880392001 http://hdl.handle.net/11536/65395 |
显示于类别: | Thesis |