Introduction to Property Testing
Title | Introduction to Property Testing PDF eBook |
Author | Oded Goldreich |
Publisher | Cambridge University Press |
Pages | 473 |
Release | 2017-11-23 |
Genre | Computers |
ISBN | 1107194059 |
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
Title | Property-Based Testing with PropEr, Erlang, and Elixir PDF eBook |
Author | Fred Hebert |
Publisher | Pragmatic Bookshelf |
Pages | 466 |
Release | 2019-01-17 |
Genre | Computers |
ISBN | 1680506544 |
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
Property Testing
Title | Property Testing PDF eBook |
Author | Oded Goldreich |
Publisher | Springer Science & Business Media |
Pages | 370 |
Release | 2010-10-08 |
Genre | Computers |
ISBN | 3642163661 |
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.
Property Testing
Title | Property Testing PDF eBook |
Author | Arnab Bhattacharyya |
Publisher | Springer Nature |
Pages | 434 |
Release | 2022-03-08 |
Genre | Computers |
ISBN | 981168622X |
This book introduces important results and techniques in property testing, where the goal is to design algorithms that decide whether their input satisfies a predetermined property in sublinear time, or even in constant time – that is, time is independent of the input size. This book consists of three parts. The first part provides an introduction to the foundations of property testing. The second part studies the testing of specific properties on strings, graphs, functions, and constraint satisfaction problems. Vectors and matrices over real numbers are also covered. The third part is more advanced and explains general conditions, including full characterizations, under which properties are constant-query testable. The first and second parts of the book are intended for first-year graduate students in computer science. They should also be accessible to undergraduate students with the adequate background. The third part can be used by researchers or ambitious graduate students who want to gain a deeper theoretical understanding of property testing.
Algorithmic and Analysis Techniques in Property Testing
Title | Algorithmic and Analysis Techniques in Property Testing PDF eBook |
Author | Dana Ron |
Publisher | Now Publishers Inc |
Pages | 151 |
Release | 2010 |
Genre | Computers |
ISBN | 1601983182 |
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
Title | Property Testing PDF eBook |
Author | Dana Ron |
Publisher | Now Publishers Inc |
Pages | 113 |
Release | 2008 |
Genre | Computers |
ISBN | 1601981821 |
This survey focuses on results for testing properties of functions that are of interest to the learning theory community.
Functional Programming in Scala
Title | Functional Programming in Scala PDF eBook |
Author | Paul Chiusano |
Publisher | Simon and Schuster |
Pages | 457 |
Release | 2014-09-01 |
Genre | Computers |
ISBN | 1638353956 |
Summary Functional Programming in Scala is a serious tutorial for programmers looking to learn FP and apply it to the everyday business of coding. The book guides readers from basic techniques to advanced topics in a logical, concise, and clear progression. In it, you'll find concrete examples and exercises that open up the world of functional programming. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Functional programming (FP) is a style of software development emphasizing functions that don't depend on program state. Functional code is easier to test and reuse, simpler to parallelize, and less prone to bugs than other code. Scala is an emerging JVM language that offers strong support for FP. Its familiar syntax and transparent interoperability with Java make Scala a great place to start learning FP. About the Book Functional Programming in Scala is a serious tutorial for programmers looking to learn FP and apply it to their everyday work. The book guides readers from basic techniques to advanced topics in a logical, concise, and clear progression. In it, you'll find concrete examples and exercises that open up the world of functional programming. This book assumes no prior experience with functional programming. Some prior exposure to Scala or Java is helpful. What's Inside Functional programming concepts The whys and hows of FP How to write multicore programs Exercises and checks for understanding About the Authors Paul Chiusano and Rúnar Bjarnason are recognized experts in functional programming with Scala and are core contributors to the Scalaz library. Table of Contents PART 1 INTRODUCTION TO FUNCTIONAL PROGRAMMING What is functional programming? Getting started with functional programming in Scala Functional data structures Handling errors without exceptions Strictness and laziness Purely functional state PART 2 FUNCTIONAL DESIGN AND COMBINATOR LIBRARIES Purely functional parallelism Property-based testing Parser combinators PART 3 COMMON STRUCTURES IN FUNCTIONAL DESIGN Monoids Monads Applicative and traversable functors PART 4 EFFECTS AND I/O External effects and I/O Local effects and mutable state Stream processing and incremental I/O