Parameterized Verification of Synchronized Concurrent Programs

· Linköping Studies in Science and Technology. Dissertations · Linköping University Electronic Press
I-Ebook
192
Amakhasi
Izilinganiso nezibuyekezo aziqinisekisiwe  Funda Kabanzi

Mayelana nale ebook

There is currently an increasing demand for concurrent programs. Checking the correctness of concurrent programs is a complex task due to the interleavings of processes. Sometimes, violation of the correctness properties in such systems causes human or resource losses; therefore, it is crucial to check the correctness of such systems. Two main approaches to software analysis are testing and formal verification. Testing can help discover many bugs at a low cost. However, it cannot prove the correctness of a program. Formal verification, on the other hand, is the approach for proving program correctness. Model checking is a formal verification technique that is suitable for concurrent programs. It aims to automatically establish the correctness (expressed in terms of temporal properties) of a program through an exhaustive search of the behavior of the system. Model checking was initially introduced for the purpose of verifying finite‐state concurrent programs, and extending it to infinite‐state systems is an active research area.

In this thesis, we focus on the formal verification of parameterized systems. That is, systems in which the number of executing processes is not bounded a priori. We provide fully-automatic and parameterized model checking techniques for establishing the correctness of safety properties for certain classes of concurrent programs. We provide an open‐source prototype for every technique and present our experimental results on several benchmarks.

First, we address the problem of automatically checking safety properties for bounded as well as parameterized phaser programs. Phaser programs are concurrent programs that make use of the complex synchronization construct of Habanero Java phasers. For the bounded case, we establish the decidability of checking the violation of program assertions and the undecidability of checking deadlock‐freedom. For the parameterized case, we study different formulations of the verification problem and propose an exact procedure that is guaranteed to terminate for some reachability problems even in the presence of unbounded phases and arbitrarily many spawned processes. Second, we propose an approach for automatic verification of parameterized concurrent programs in which shared variables are manipulated by atomic transitions to count and synchronize the spawned processes. For this purpose, we introduce counting predicates that related counters that refer to the number of processes satisfying some given properties to the variables that are directly manipulated by the concurrent processes. We then combine existing works on the counter, predicate, and constrained monotonic abstraction and build a nested counterexample‐based refinement scheme to establish correctness. Third, we introduce Lazy Constrained Monotonic Abstraction for more efficient exploration of well‐structured abstractions of infinite‐state non‐monotonic systems. We propose several heuristics and assess the efficiency of the proposed technique by extensive experiments using our open‐source prototype. Lastly, we propose a sound but (in general) incomplete procedure for automatic verification of safety properties for a class of fault‐tolerant distributed protocols described in the Heard‐Of (HO for short) model. The HO model is a popular model for describing distributed protocols. We propose a verification procedure that is guaranteed to terminate even for unbounded number of the processes that execute the distributed protocol.

Nikeza le ebook isilinganiso

Sitshele ukuthi ucabangani.

Ulwazi lokufunda

Amasmathifoni namathebulethi
Faka uhlelo lokusebenza lwe-Google Play Amabhuku lwe-Android ne-iPad/iPhone. Livunyelaniswa ngokuzenzakalela ne-akhawunti yakho liphinde likuvumele ukuthi ufunde uxhunywe ku-inthanethi noma ungaxhunyiwe noma ngabe ukuphi.
Amakhompyutha aphathekayo namakhompyutha
Ungalalela ama-audiobook athengwe ku-Google Play usebenzisa isiphequluli sewebhu sekhompuyutha yakho.
Ama-eReaders namanye amadivayisi
Ukuze ufunde kumadivayisi e-e-ink afana ne-Kobo eReaders, uzodinga ukudawuniloda ifayela futhi ulidlulisele kudivayisi yakho. Landela imiyalelo Yesikhungo Sosizo eningiliziwe ukuze udlulise amafayela kuma-eReader asekelwayo.