An I/O Efficient Approach for Detecting All Accepting Cycles

IEEE Transactions on Software Engineering(2015)

引用 3|浏览298
暂无评分
摘要
Existing algorithms for I/O LTL (Linear Temporal Logic) model checking usually output a single counterexample for a system which violates the property. However, in real-world applications, such as diagnosis and debugging in software and hardware system designs, people often need to have a set of counterexamples or even all counterexamples. For this purpose, we propose an I/O efficient approach for detecting all accepting cycles, called DAAC (Detecting All Accepting Cycles), where the properties to be verified are in LTL. Different from other algorithms for finding all cycles, DAAC first searches for the accepting strongly connected components (ASCCs), and then finds all accepting cycles of every ASCC, which can avoid searching for a great many paths that are impossible to be extended to accepting cycles. In order to further lower DAAC’s I/O complexity and improve its performance, we propose an intersection computation technique and a dynamic path management technique, and exploit a minimal perfect hash function (MPHF). We carry out both complexity and experimental comparisons with the state-of-the-art algorithms including DAC (Detect Accepting Cycle), MAP (Maximal Accepting Predecessors) and IDDFS (Iterative-Deepening Depth-First Search). The comparative results show that our approach is better on the whole in terms of I/O complexity and practical performance, despite the fact that it finds all counterexamples.
更多
查看译文
关键词
Model checking, detection of all accepting cycles, state space explosion, accepting strongly connected component, breath-first search
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要