9 research outputs found

    Parallel symbolic state-space exploration is difficult, but what is the alternative?

    Full text link
    State-space exploration is an essential step in many modeling and analysis problems. Its goal is to find the states reachable from the initial state of a discrete-state model described. The state space can used to answer important questions, e.g., "Is there a dead state?" and "Can N become negative?", or as a starting point for sophisticated investigations expressed in temporal logic. Unfortunately, the state space is often so large that ordinary explicit data structures and sequential algorithms cannot cope, prompting the exploration of (1) parallel approaches using multiple processors, from simple workstation networks to shared-memory supercomputers, to satisfy large memory and runtime requirements and (2) symbolic approaches using decision diagrams to encode the large structured sets and relations manipulated during state-space generation. Both approaches have merits and limitations. Parallel explicit state-space generation is challenging, but almost linear speedup can be achieved; however, the analysis is ultimately limited by the memory and processors available. Symbolic methods are a heuristic that can efficiently encode many, but not all, functions over a structured and exponentially large domain; here the pitfalls are subtler: their performance varies widely depending on the class of decision diagram chosen, the state variable order, and obscure algorithmic parameters. As symbolic approaches are often much more efficient than explicit ones for many practical models, we argue for the need to parallelize symbolic state-space generation algorithms, so that we can realize the advantage of both approaches. This is a challenging endeavor, as the most efficient symbolic algorithm, Saturation, is inherently sequential. We conclude by discussing challenges, efforts, and promising directions toward this goal

    Parallel Breadth-First Search on Distributed Memory Systems

    Full text link

    The Design of a Multicore Extension of the SPIN Model Checker

    Full text link

    深さ優先ヒュヌリスティック探玢による゜フトりェアモデル怜査効率化

    Get PDF
    モデル怜査技術は察象ずするモデルが取りうる党状態を網矅的に探玢しモデルが満たすべき性質ぞの適合を調べるこずでモデルの正しさを怜蚌する技術である近幎では実装コヌドそのものを扱う゜フトりェアモデル怜査技術が泚目されおいる本論文で扱うJava PathFinder (JPF) はJava プログラムを察象ずしたモデル怜査噚でありプログラム䞭の䞍具合の怜出やプログラムの正しさの怜蚌に利甚するこずができる゜フトりェアモデル怜査技術はテスト工皋における䞍具合怜出に有効である通垞のテストは想定される様々な入力や環境パラメヌタに察しおプログラムを動䜜させるこずで䞍具合を掗い出すしかしながらテストにおいおは非決定的にプログラムが実行される郚分があり必ずしも䞍具合が発生する状況を再珟するこずができない䟋えば䞊行プログラムにおいお耇数のスレッドが特定の順序で実行された堎合に発生する䞍具合はその再珟がスレッドの実行順序ずいう非決定芁因に䟝存するためテストおいお再珟できない堎合が発生するこれに察しお゜フトりェアモデル怜査ではそのような非決定的芁因に぀いお党おの遞択肢を詊行するこずで取りうる党おのプログラム状態を再珟するこずで䞍具合の発芋挏れを防ぐこずが可胜ずなるしかしモデル怜査技術はモデルの取りうる状態を党お探玢するためモデルの芏暡に応じお探玢すべき状態数が指数的に増加し珟実的な時間で怜蚌が終了しないずいう状態爆発ぞの察応が課題ずなるずくに゜フトりェアモデル怜査ではプログラムずいう抜象床の䜎いモデルを察象ずするためこの状態爆発の問題が顕著であるそこでこの課題を解決する手法ずしお優先床に基づくヒュヌリスティック探玢手法が提案されおいるヒュヌリスティック探玢では各探玢状態に぀いおその先に䞍具合の含たれる芋蟌みが高いず思われる状態から優先的に探玢を進めるこずによっお䞍具合の発芋を早期化するこずを目的ずしおいる本研究の察象ずするJPF においおも探玢アルゎリズムずしお遞択可胜であるしかし埓来のヒュヌリスティック探玢には二぀課題があった䞀぀は優先床を算出するためのヒュヌリスティックを適切に遞択しないず優先床が均䞀ずなり暪方向に広く探玢を行うこずになり探玢空間の深いずころに到達しづらいずいう点であるもう䞀぀は掻性等の怜蚌に甚いるLinear Temporal Logic (LTL) 怜蚌の実装に適さないずいう点であるLTL 怜蚌に広く掻甚されおいるアルゎリズムは深さ優先探玢をベヌスずしたものであるこれに察しおヒュヌリスティック探玢は探玢空間䞭を任意の順序で探玢するため深さ優先ベヌスのLTL 怜蚌ず組み合わせるこずが困難であるそこで本研究では埓来手法ず異なる考え方に基づくヒュヌリスティック探玢手法を提案する埓来手法は各状態に察しおその先䞍具合に至る可胜性の高さを芋積もり探玢順序を決定する「優先順序付け」探玢であるこれに察しお提案手法は優先床付けは行わず探玢順序は深さ優先のたたずしその代わりに䞍具合に至る芋蟌みが䜎いず刀断した堎合にその先の枝の探玢を打ち切る「枝刈り」探玢である提案手法をDepth First Heuristic Search (DFHS) ず呌ぶ埓来手法の優先床の算出およびDFHS の枝刈りの刀定はいずれも各状態におけるヒュヌリスティックによっお決定する䟋えば実行パスにおける各スレッドのむンタヌリヌブの状態が代衚的な指暙であるさらにDFHS では探玢順序は深さ優先ではあるものの各状態から遷移可胜な枝が耇数存圚する堎合にその状態からどの枝に遷移するかに぀いおのみ順序制埡可胜ずするこのずきの指暙も䟋えばできるだけむンタヌリヌブが発生するような枝を先に遞ぶずいった芳点で指定する枝刈りのヒュヌリスティックず組み合わせるこずで耇合的な効果が期埅できる埓来手法ずDFHS はある意味でコむンの䞡面でありどちらの方匏が有利であるか(あるいはどちらも有効でないか) は探玢空間における䞍具合状態の分垃によっお異なるず考えられるため埓来手法が苊手ずしおいた探玢空間でDFHS が有効にはたらく可胜性がある本研究ではJPF の機胜拡匵機構を掻甚しおDFHS を実装し手法の怜蚌を行ったDFHS は深さ優先探玢を基本ずしおいるためLTL 怜蚌アルゎリズムにも適甚可胜であるそこで本研究ではLTL 怜蚌に぀いおもDFHS の適甚を行ったJPF はアサヌションの確認未捕捉䟋倖の発生デッドロックなどの安党性の怜蚌を䞻県ずしおおり暙準では掻性の怜蚌をサポヌトしおいないそこで掻性等の怜蚌を可胜ずするためにLTL 怜蚌のための探玢゚ンゞンを実装したLTL 怜蚌は察象ずするプログラムがLTL 匏で衚された掻性等の性質を満たすかどうかを怜蚌するLTL 匏をBAijchi オヌトマトンに倉換したものずプログラムの状態空間を掛け合わせた同期積に察しお探玢を実斜するため安党性怜蚌よりもさらに倧きな状態空間の探玢ずなるLTL 怜蚌に぀いおもDFHS の効果が倧きく働くず期埅できるさらにLTL 怜蚌で重芁ずなる公平性の考慮に぀いおDFHS を拡匵したLTL 匏ずしおは公平性条件を蚘述せず反䟋の公平性充足を確認する手法によりさらなる改善を図った拡匵したJPF を甚いお怜蚌ツヌル評䟡甚テストプログラムによるDFHS の評䟡実隓を行った実隓の結果安党性怜蚌LTL 怜蚌ずもに既存手法よりも倚くのケヌスでDFHS が早期に䞍具合を発芋できるこずを瀺しDFHS による効率化が実珟できる可胜性が十分に高いこずを実蚌した本研究による貢献は(1) 安党性怜蚌に぀いお新しいヒュヌリスティック探玢手法を確立しヒュヌリスティック探玢適甚の幅を広げたこず(2) 埓来䞍可胜であったLTL 怜蚌に察しおヒュヌリスティック探玢を実珟したこず(3) 提案手法を実甚のツヌルずしお実装したこずの䞉点である電気通信倧孊201

    On Distributed Verification and Verified Distribution

    Get PDF
    Fokkink, W.J. [Promotor]Pol, J.C. van de [Copromotor

    Combating state explosion in the detection of dynamic properties of distributed computations

    Get PDF
    In the context of asynchronous distributed systems, many important applications depend on the ability to check that all observations of the execution of a distributed program, or distributed computation, satisfy a desired (or undesired) temporal evolution of states, or dynamic property. Examples include the implementation of distributed algorithms, automated testing via oracles, debugging, and building fault-tolerant applications through exception detection and handling. When a distributed program exhibits a high degree of concurrency, the number of possible observations of an execution can grow exponentially, quickly leading to an explosion in the amount of space and time required to check a dynamic property. In the worst case, detection of such properties may be defeated. This is the run-time counterpart of the well-known state explosion problem studied in model checking. In this thesis, we study the problem of state explosion as it arises in the detection of dynamic properties. In particular, we consider the potential of applying well-known techniques for dealing with state explosion from model checking to the case of dynamic property detection. Significant semantic similarities between the two problems means that there is great potential for deriving techniques for dealing with state explosion in dynamic property detection based on existing model checking techniques. However, differences between the contexts in which model checking and dynamic property detection take place mean that not all approaches to dealing with state explosion in model checking may carryover to the run-time case. We investigate these similarities and differences and provide the development and analysis of two approaches for combating state explosion in dynamic property detection based on model checking methods: on-the-fly automata theoretic model checking, and partial order reduction.EThOS - Electronic Theses Online ServiceGBUnited Kingdo
    corecore