Introduction to Property Testing

Introduction to Property Testing

Author: Oded Goldreich

Publisher: Cambridge University Press

Published: 2017-11-23

Total Pages: 473

ISBN-13: 1107194059

DOWNLOAD EBOOK

An extensive and authoritative introduction to property testing, the study of super-fast algorithms for the structural analysis of large quantities of data in order to determine global properties. This book can be used both as a reference book and a textbook, and includes numerous exercises.


Property-Based Testing with PropEr, Erlang, and Elixir

Property-Based Testing with PropEr, Erlang, and Elixir

Author: Fred Hebert

Publisher: Pragmatic Bookshelf

Published: 2019-01-17

Total Pages: 466

ISBN-13: 1680506544

DOWNLOAD EBOOK

Property-based testing helps you create better, more solid tests with little code. By using the PropEr framework in both Erlang and Elixir, this book teaches you how to automatically generate test cases, test stateful programs, and change how you design your software for more principled and reliable approaches. You will be able to better explore the problem space, validate the assumptions you make when coming up with program behavior, and expose unexpected weaknesses in your design. PropEr will even show you how to reproduce the bugs it found. With this book, you will be writing efficient property-based tests in no time. Most tests only demonstrate that the code behaves how the developer expected it to behave, and therefore carry the same blind spots as their authors when special conditions or edge cases show up. Learn how to see things differently with property tests written in PropEr. Start with the basics of property tests, such as writing stateless properties, and using the default generators to generate test cases automatically. More importantly, learn how to think in properties. Improve your properties, write custom data generators, and discover what your code can or cannot do. Learn when to use property tests and when to stick with example tests with real-world sample projects. Explore various testing approaches to find the one that's best for your code. Shrink failing test cases to their simpler expression to highlight exactly what breaks in your code, and generate highly relevant data through targeted properties. Uncover the trickiest bugs you can think of with nearly no code at all with two special types of properties based on state transitions and finite state machines. Write Erlang and Elixir properties that generate the most effective tests you'll see, whether they are unit tests or complex integration and system tests. What You Need Basic knowledge of Erlang, optionally ElixirFor Erlang tests: Erlang/OTP >= 20.0, with Rebar >= 3.4.0For Elixir tests: Erlang/OTP >= 20.0, Elixir >= 1.5.0


Algorithmic and Analysis Techniques in Property Testing

Algorithmic and Analysis Techniques in Property Testing

Author: Dana Ron

Publisher: Now Publishers Inc

Published: 2010

Total Pages: 151

ISBN-13: 1601983182

DOWNLOAD EBOOK

Property testing algorithms are ultra"-efficient algorithms that decide whether a given object (e.g., a graph) has a certain property (e.g., bipartiteness), or is significantly different from any object that has the property. To this end property testing algorithms are given the ability to perform (local) queries to the input, though the decisions they need to make usually concern properties with a global nature. In the last two decades, property testing algorithms have been designed for many types of objects and properties, amongst them, graph properties, algebraic properties, geometric properties, and more. In this article we survey results in property testing, where our emphasis is on common analysis and algorithmic techniques. Among the techniques surveyed are the following: a) The self-correcting approach, which was mainly applied in the study of property testing of algebraic properties; b) The enforce and test approach, which was applied quite extensively in the analysis of algorithms for testing graph properties (in the dense-graphs model), as well as in other contexts; c) Szemeredi's Regularity Lemma, which plays a very important role in the analysis of algorithms for testing graph properties (in the dense-graphs model); d) The approach of Testing by implicit learning, which implies efficient testability of membership in many functions classes. e) Algorithmic techniques for testing properties of sparse graphs, which include local search and random walks.


Property Testing

Property Testing

Author: Dana Ron

Publisher: Now Publishers Inc

Published: 2008

Total Pages: 113

ISBN-13: 1601981821

DOWNLOAD EBOOK

This survey focuses on results for testing properties of functions that are of interest to the learning theory community.


Property Testing

Property Testing

Author: Oded Goldreich

Publisher: Springer Science & Business Media

Published: 2010-10-08

Total Pages: 370

ISBN-13: 3642163661

DOWNLOAD EBOOK

Property Testing is the study of super-fast algorithms for approximate decision making. This volume features work presented at a mini-workshop on property testing that took place January 2010 at the Institute for Computer Science, Tsinghua University, China.


Introduction to Software Testing

Introduction to Software Testing

Author: Paul Ammann

Publisher:

Published: 2008-01-28

Total Pages: 352

ISBN-13:

DOWNLOAD EBOOK

Extensively class-tested, this textbook takes an innovative approach to software testing: it defines testing as the process of applying a few well-defined, general-purpose test criteria to a structure or model of the software. It incorporates the latest innovations in testing, including techniques to test modern types of software such as OO, web applications, and embedded software. The book contains numerous examples throughout. An instructor's solution manual, PowerPoint slides, sample syllabi, additional examples and updates, testing tools for students, and example software programs in Java are available on an extensive website.


Software Testing and Analysis

Software Testing and Analysis

Author: Mauro Pezze

Publisher: John Wiley & Sons

Published: 2008

Total Pages: 516

ISBN-13:

DOWNLOAD EBOOK

Teaches readers how to test and analyze software to achieve an acceptable level of quality at an acceptable cost Readers will be able to minimize software failures, increase quality, and effectively manage costs Covers techniques that are suitable for near-term application, with sufficient technical background to indicate how and when to apply them Provides balanced coverage of software testing & analysis approaches By incorporating modern topics and strategies, this book will be the standard software-testing textbook


Computational Complexity and Property Testing

Computational Complexity and Property Testing

Author: Oded Goldreich

Publisher: Springer Nature

Published: 2020-04-03

Total Pages: 391

ISBN-13: 3030436624

DOWNLOAD EBOOK

This volume contains a collection of studies in the areas of complexity theory and property testing. The 21 pieces of scientific work included were conducted at different times, mostly during the last decade. Although most of these works have been cited in the literature, none of them was formally published before. Within complexity theory the topics include constant-depth Boolean circuits, explicit construction of expander graphs, interactive proof systems, monotone formulae for majority, probabilistically checkable proofs (PCPs), pseudorandomness, worst-case to average-case reductions, and zero-knowledge proofs. Within property testing the topics include distribution testing, linearity testing, lower bounds on the query complexity (of property testing), testing graph properties, and tolerant testing. A common theme in this collection is the interplay between randomness and computation.


Current Trends in Theoretical Computer Science

Current Trends in Theoretical Computer Science

Author: Gheorghe P?un

Publisher: World Scientific

Published: 2004

Total Pages: 1319

ISBN-13: 9812562494

DOWNLOAD EBOOK

This book is based on columns and tutorials published in the Bulletin of the European Association for Theoretical Computer Science (EATCS) during the period 2000OCo2003. It presents many of the most active current research lines in theoretical computer science. The material appears in two volumes, OC Algorithms and ComplexityOCO and OC Formal Models and SemanticsOCO, reflecting the traditional division of the field. The list of contributors includes many of the well-known researchers in theoretical computer science. Most of the articles are reader-friendly and do not presuppose much knowledge of the area in question. Therefore, the book constitutes very suitable supplementary reading material for various courses and seminars in computer science. Contents: Vol 1: Algorithms; Computational Complexity; Distributed Computing; Natural Computing; Vol 2: Formal Specification; Logic in Computer Science; Concurrency; Formal Language Theory. Readership: Upper level undergraduates, graduate students and researchers in theoretical computer science and biocomputing."


Principles of Model Checking

Principles of Model Checking

Author: Christel Baier

Publisher: MIT Press

Published: 2008-04-25

Total Pages: 994

ISBN-13: 0262304031

DOWNLOAD EBOOK

A comprehensive introduction to the foundations of model checking, a fully automated technique for finding flaws in hardware and software; with extensive examples and both practical and theoretical exercises. Our growing dependence on increasingly complex computer and software systems necessitates the development of formalisms, techniques, and tools for assessing functional properties of these systems. One such technique that has emerged in the last twenty years is model checking, which systematically (and automatically) checks whether a model of a given system satisfies a desired property such as deadlock freedom, invariants, and request-response properties. This automated technique for verification and debugging has developed into a mature and widely used approach with many applications. Principles of Model Checking offers a comprehensive introduction to model checking that is not only a text suitable for classroom use but also a valuable reference for researchers and practitioners in the field. The book begins with the basic principles for modeling concurrent and communicating systems, introduces different classes of properties (including safety and liveness), presents the notion of fairness, and provides automata-based algorithms for these properties. It introduces the temporal logics LTL and CTL, compares them, and covers algorithms for verifying these logics, discussing real-time systems as well as systems subject to random phenomena. Separate chapters treat such efficiency-improving techniques as abstraction and symbolic manipulation. The book includes an extensive set of examples (most of which run through several chapters) and a complete set of basic results accompanied by detailed proofs. Each chapter concludes with a summary, bibliographic notes, and an extensive list of exercises of both practical and theoretical nature.