This book teaches new methods for specifying, analyzing, and testing software; essentials for creating high-quality software. These methods increase the automation in each of these steps, making them more timely, more thorough, and more effective. The authors work through several realistic case studies in-depth and detail, using a toolkit built on the C# language and the .NET framework. Readers can also apply the methods in analyzing and testing systems in many other languages and frameworks. Intended for professional software developers including testers, and for university students, this book is suitable for courses on software engineering, testing, specification, or applications of formal methods.
About the Author
Jonathan Jacky is a research scientist at the University of Washington in Seattle. He is experienced in embedded control systems, safety-critical systems, signal processing, and scientific computing. He has taught at the Evergreen State College and has been a visiting researcher at Microsoft Research. He is the author of The Way of Z: Practical Programming with Formal Methods. Colin Campbell has worked on model-based testing and analysis techniques for a number of years in industry, including Microsoft Research. He is a principal of the consulting firm Modeled Computation LLC in Seattle (www.modeled-computation.com). His current interests include design analysis, the modeling of reactive and distributed systems, and the integration of components in large systems. Margus Veanes is a researcher in the Foundations of Software Engineering (FSE) group at Microsoft Research and a co-designer and co-developer of the Spec Explorer tool. Wolfram Schulte is a research area manager at Microsoft Research, managing the FSE group, the Programming Languages and Methods (PLM) group, and the Software Design and Implementation (SDI) group.