Automated Verification of Concurrent Search Structures

Automated Verification of Concurrent Search Structures

DOI: 10.1145/2480359.2429111 151 Vafeiadis, V. (2008). Modular fine-grained concurrency verification. Ph.D. thesis, University of Cambridge, UK. 107, 151 Vafeiadis, V. (2009). Shape-value abstraction for verifying linearizability.

Author: Krishna Siddharth

Publisher: Springer Nature

ISBN: 9783031018060

Category: Mathematics

Page: 182

View: 212

Search structures support the fundamental data storage primitives on key-value pairs: insert a pair, delete by key, search by key, and update the value associated with a key. Concurrent search structures are parallel algorithms to speed access to search structures on multicore and distributed servers. These sophisticated algorithms perform fine-grained synchronization between threads, making them notoriously difficult to design correctly. Indeed, bugs have been found both in actual implementations and in the designs proposed by experts in peer-reviewed publications. The rapid development and deployment of these concurrent algorithms has resulted in a rift between the algorithms that can be verified by the state-of-the-art techniques and those being developed and used today. The goal of this book is to show how to bridge this gap in order to bring the certified safety of formal verification to high-performance concurrent search structures. Similar techniques and frameworks can be applied to concurrent graph and network algorithms beyond search structures.
Categories: Mathematics

Verification of Sequential and Concurrent Programs

Verification of Sequential and Concurrent Programs

[1976b] Verifying properties of parallel programs: an axiomatic approach, Comm. ... M. Poel, and J. Zwiers [2001] Concurrency Verification – Introduction to Compositional and Noncom- positional Methods, Cambridge University Press.

Author: Krzysztof Apt

Publisher: Springer Science & Business Media

ISBN: 9781848827448

Category: Computers

Page: 502

View: 703

HIS BOOK CONTAINS a most comprehensive text that presents syntax-directed and compositional methods for the formal veri?- T cation of programs. The approach is not language-bounded in the sense that it covers a large variety of programming models and features that appear in most modern programming languages. It covers the classes of - quential and parallel, deterministic and non-deterministic, distributed and object-oriented programs. For each of the classes it presents the various c- teria of correctness that are relevant for these classes, such as interference freedom, deadlock freedom, and appropriate notions of liveness for parallel programs. Also, special proof rules appropriate for each class of programs are presented. In spite of this diversity due to the rich program classes cons- ered, there exist a uniform underlying theory of veri?cation which is synt- oriented and promotes compositional approaches to veri?cation, leading to scalability of the methods. The text strikes the proper balance between mathematical rigor and - dactic introduction of increasingly complex rules in an incremental manner, adequately supported by state-of-the-art examples. As a result it can serve as a textbook for a variety of courses on di?erent levels and varying durations. It can also serve as a reference book for researchers in the theory of veri?- tion, in particular since it contains much material that never before appeared in book form. This is specially true for the treatment of object-oriented p- grams which is entirely novel and is strikingly elegant.
Categories: Computers

Modeling Verification and Exploration of Task Level Concurrency in Real Time Embedded Systems

Modeling  Verification and Exploration of Task Level Concurrency in Real Time Embedded Systems

... and during subsequent synthesis steps to verify constraints satisfiability of an intermediate synthesis results. The memory usage is an important cost metric during the clustering and scheduling of the task concurrency management ...

Author: Filip Thoen

Publisher: Springer Science & Business Media

ISBN: 9781461544371

Category: Computers

Page: 438

View: 432

system is a complex object containing a significant percentage of elec A tronics that interacts with the Real World (physical environments, humans, etc. ) through sensing and actuating devices. A system is heterogeneous, i. e. , is characterized by the co-existence of a large number of components of disparate type and function (for example, programmable components such as micro processors and Digital Signal Processors (DSPs), analog components such as AID and D/A converters, sensors, transmitters and receivers). Any approach to system design today must include software concerns to be viable. In fact, it is now common knowledge that more than 70% of the development cost for complex systems such as automotive electronics and communication systems are due to software development. In addition, this percentage is increasing constantly. It has been my take for years that the so-called hardware-software co-design problem is formulated at a too low level to yield significant results in shorten ing design time to the point needed for next generation electronic devices and systems. The level of abstraction has to be raised to the Architecture-Function co-design problem, where Function refers to the operations that the system is supposed to carry out and Architecture is the set of supporting components for that functionality. The supporting components as we said above are heteroge neous and contain almost always programmable components.
Categories: Computers

Parameterized Verification of Synchronized Concurrent Programs

Parameterized Verification of Synchronized Concurrent Programs

Model checking [32, 37, 111] is a technique for formal verification that aims at automatically establishing the ... It was initially introduced for verifying finite-state concurrent systems, and extending it to infinite-state systems is ...

Author: Zeinab Ganjei

Publisher: Linköping University Electronic Press

ISBN: 9789179296971

Category:

Page: 192

View: 171

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.
Categories:

Compositional Verification of Concurrent and Real Time Systems

Compositional Verification of Concurrent and Real Time Systems

Background Concurrency is an important technique widely used in modern systems. Concurrency occurs in a system when there are multiple and simultaneously active computing agents interacting with one another. Examples include concurrent ...

Author: Eric Y.T. Juan

Publisher: Springer Science & Business Media

ISBN: 9781461510093

Category: Computers

Page: 196

View: 965

With the rapid growth of networking and high-computing power, the demand for large-scale and complex software systems has increased dramatically. Many of the software systems support or supplant human control of safety-critical systems such as flight control systems, space shuttle control systems, aircraft avionics control systems, robotics, patient monitoring systems, nuclear power plant control systems, and so on. Failure of safety-critical systems could result in great disasters and loss of human life. Therefore, software used for safety critical systems should preserve high assurance properties. In order to comply with high assurance properties, a safety-critical system often shares resources between multiple concurrently active computing agents and must meet rigid real-time constraints. However, concurrency and timing constraints make the development of a safety-critical system much more error prone and arduous. The correctness of software systems nowadays depends mainly on the work of testing and debugging. Testing and debugging involve the process of de tecting, locating, analyzing, isolating, and correcting suspected faults using the runtime information of a system. However, testing and debugging are not sufficient to prove the correctness of a safety-critical system. In contrast, static analysis is supported by formalisms to specify the system precisely. Formal verification methods are then applied to prove the logical correctness of the system with respect to the specification. Formal verifica tion gives us greater confidence that safety-critical systems meet the desired assurance properties in order to avoid disastrous consequences.
Categories: Computers

CONCUR 99 Concurrency Theory

CONCUR 99  Concurrency Theory

Computer-aided verification. IEEE Spectrum, 33(6):61–67, 1996. R. Cleaveland, J. Parrow, and B. Steffen. The concurrency workbench: A semantics-based tool for the verification of finite-state systems. ACM Trans. on Programming Languages ...

Author: Jos C.M. Baeten

Publisher: Springer

ISBN: 9783540483205

Category: Mathematics

Page: 584

View: 700

This book constitutes the proceedings of the 10th International Conference on Concurrency Theory, CONCUR'99, held in Eindhoven, The Netherlands in August 1999. The 32 revised full papers presented together with four invited contributions were selected from a total of 91 submissions. The papers address all areas of semantics, logics, and verification techniques for concurrent systems, in particular process algebras, Petri nets, event-structures, real-time systems, hybrid systems, stochastic systems, decidability, model-checking, verification, refinement, term and graph rewriting, distributed programming, logic constraint programming, typing systems, etc.
Categories: Mathematics

Specification and Verification of Concurrent Systems

Specification and Verification of Concurrent Systems

[Hai&2] [Ben83] [Rap85] [Fer&6] [Lin86] [Sargö] [Ura87] [Sarā7] B. Hailpern; "Verifying Concurrent Processes using Temporal Logic"; Lecture Notes in Computer Science, Springer, 1982. M.B.Ari, A.Pnueli, Z.Manna; "The Temporal Logic of ...

Author: Charles Rattray

Publisher: Springer Science & Business Media

ISBN: 9781447135340

Category: Computers

Page: 612

View: 908

This volume contains papers presented at the BCS-FACS Workshop on Specification and Verification of Concurrent Systems held on 6-8 July 1988, at the University of Stirling, Scotland. Specification and verification techniques are playing an increasingly important role in the design and production of practical concurrent systems. The wider application of these techniques serves to identify difficult problems that require new approaches to their solution and further developments in specification and verification. The Workshop aimed to capture this interplay by providing a forum for the exchange of the experience of academic and industrial experts in the field. Presentations included: surveys, original research, practical experi ence with methods, tools and environments in the following or related areas: Object-oriented, process, data and logic based models and specifi cation methods for concurrent systems Verification of concurrent systems Tools and environments for the analysis of concurrent systems Applications of specification languages to practical concurrent system design and development. We should like to thank the invited speakers and all the authors of the papers whose work contributed to making the Workshop such a success. We were particularly pleased with the international response to our call for papers. Invited Speakers Pierre America Philips Research Laboratories University of Warwick Professor M. Joseph David Freestone British Telecom Organising Committee Charles Rattray Dr Muffy Thomas Dr Simon Jones Dr John Cooke Professor Ken Turner Derek Coleman Maurice Naftalin Dr Peter Scharbach vi Preface We would like to aeknowledge the finaneial eontribution made by SD-Sysems Designers pie, Camberley, Surrey.
Categories: Computers

Concurrency 88

Concurrency 88

International Conference on Concurrency Hamburg, FRG, October 18-19, 1988. Proceedings Friedrich H. Vogt. An Automata - Theoretic Approach to Protocol Verification Moshe Y. Vardi * IBM Almaden Research Center Abstract There are two ...

Author: Friedrich H. Vogt

Publisher: Springer Science & Business Media

ISBN: 3540504036

Category: Computers

Page: 400

View: 453

This volume contains the proceedings of CONCURRENCY 88, an international conference on formal methods for distributed systems, held October 18-19, 1988 in Hamburg. CONCURRENCY 88 responded to great interest in the field of formal methods as a means of mastering the complexity of distributed systems. In addition, the impulse was determined by the fact that the various methodological approaches, such as constructive or property oriented methods, have not had an extensive comparative analysis nor have they been investigated with respect to their possible integration and their practical implications. The following topics were addressed: Specification Languages, Models for Distributed Systems, Verification and Validation, Knowledge Based Protocol Modeling, Fault Tolerance, Distributed Databases. The volume contains 12 invited papers and 14 contributions selected by the program committee. They were presented by authors from Austria, the Federal Republic of Germany, France, Israel, Italy, the Netherlands, the United Kingdom and the United States.
Categories: Computers

CONCUR 2000 Concurrency Theory

CONCUR 2000   Concurrency Theory

The formal verification of concurrent systems is usually seen as an example par excellence of the application of mathematical methods to computer science. Although the practical application of such verification methods will always be ...

Author: Catuscia Palamidessi

Publisher: Springer

ISBN: 9783540446187

Category: Computers

Page: 613

View: 998

This volume contains the proceedings of the 11th International Conference on Concurrency Theory (CONCUR 2000) held in State College, Pennsylvania, USA, during 22-25 August 2000. The purpose of the CONCUR conferences is to bring together researchers, developers, and students in order to advance the theory of concurrency and promote its applications. Interest in this topic is continuously growing, as a consequence of the importance and ubiquity of concurrent systems and their - plications, and of the scienti?c relevance of their foundations. The scope covers all areas of semantics, logics, and veri?cation techniques for concurrent systems. Topics include concurrency related aspects of: models of computation, semantic domains, process algebras, Petri nets, event structures, real-time systems, hybrid systems, decidability, model-checking, veri?cation techniques, re?nement te- niques, term and graph rewriting, distributed programming, logic constraint p- gramming, object-oriented programming, typing systems and algorithms, case studies, tools, and environments for programming and veri?cation. The ?rst two CONCUR conferences were held in Amsterdam (NL) in 1990 and 1991. The following ones in Stony Brook (USA), Hildesheim (D), Uppsala (S), Philadelphia (USA), Pisa (I), Warsaw (PL), Nice (F), and Eindhoven (NL). The proceedings have appeared in Springer LNCS, as Volumes 458, 527, 630, 715, 836, 962, 1119, 1243, 1466, and 1664.
Categories: Computers

CONCUR 2003 Concurrency Theory

CONCUR 2003   Concurrency Theory

However, the operations for access to shared resources and the resource management policies used are quite natural in general in concurrent applications dealing with shared resources. Verification of the described systems can, ...

Author: Roberto M. Amadio

Publisher: Springer Science & Business Media

ISBN: 9783540407539

Category: Computers

Page: 524

View: 876

This book constitutes the refereed proceedings of the 14th International Conference on Concurrency Theory, CONCUR 2003, held in Marseille, France in September 2003. The 29 revised full papers presented together with 4 invited papers were carefully reviewed and selected from 107 submissions. The papers are organized in topical sections on partial orders and asynchronous systems, process algebras, games, infinite systems, probabilistic automata, model checking, model checking and HMSC, security, mobility, compositional methods and real time, and probabilistic models.
Categories: Computers