9 research outputs found
Platform Dependent Verification: On Engineering Verification Tools for 21st Century
The paper overviews recent developments in platform-dependent explicit-state
LTL model checking.Comment: In Proceedings PDMC 2011, arXiv:1111.006
Parallel symbolic state-space exploration is difficult, but what is the alternative?
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
æ·±ãåªå ãã¥ãŒãªã¹ãã£ãã¯æ¢çŽ¢ã«ãããœãããŠã§ã¢ã¢ãã«æ€æ»å¹çå
ã¢ãã«æ€æ»æè¡ã¯ïŒå¯Ÿè±¡ãšããã¢ãã«ãåãããå
šç¶æ
ã網çŸ
çã«æ¢çŽ¢ãïŒã¢ãã«ãæºããã¹ãæ§è³ªãžã®é©åã調ã¹ãããšã§ïŒã¢ãã«ã®æ£ãããæ€èšŒããæè¡ã§ããïŒè¿å¹Žã§ã¯ïŒå®è£
ã³ãŒããã®ãã®ãæ±ããœãããŠã§ã¢ã¢ãã«æ€æ»æè¡ã泚ç®ãããŠããïŒæ¬è«æã§æ±ã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
Fokkink, W.J. [Promotor]Pol, J.C. van de [Copromotor
Combating state explosion in the detection of dynamic properties of distributed computations
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