It takes more e?ort to verify that digital system designs are correct than it does to design them, and as systems get more complex the proportion of cost spent on veri?cation is increasing (one estimate is that veri?cation complexity rises as the square of design complexity). Although this veri?cation crisis was predicted decades ago, it is only recently that powerful methods based on mathematical logic and automata theory have come to the designers’ rescue. The ?rst such method was equivalence checking, which automates Boolean algebra calculations.Nextcamemodelchecking,whichcanautomatically verify that designs have – or don’t have – behaviours of interest speci?ed in temporal logic. Both these methods are available today in tools sold by all the major design automation vendors. It is an amazing fact that ideas like Boolean algebra and modal logic, originating frommathematicians andphilosophersbeforemodern computers were invented, have come to underlie computer aided tools for creating hardware designs. The recent success of ’formal’ approaches to hardware veri?cation has lead to the creation of a new methodology: assertion based design, in which formal properties are incorporated into designs and are then validated by a combination of dynamic simulation and static model checking. Two industrial strength property languages based on tem- ral logic are undergoing IEEE standardisation. It is not only hardwaredesignand veri?cation that is changing: new mathematical approaches to software veri?cation are starting to be - ployed. Microsoft provides windows driver developers with veri?cation tools based on symbolic methods.
"This classroom-tested undergraduate textbook is unique in presenting logic and automata theory as a single subject...I highly recommend this book to you as the best route I know into the concepts underlying modern industrial formal verification." - Dr. Michael J.C. Gordon FRS, The University of Cambridge Computer Laboratory
"This is a valuable book in my opinion. I learned a good deal from reading it, and encountered many attractive topic treatments and fresh insights, throughout. I certainly plan to add it to my reference shelf and recommend it to my students and colleagues. It covers automata in depth, providing good intuitions along the way, and culminating with applications that are used every day in the field. In this respect, it is a departure from the conventional textbooks on complexity and computability, although these 'tradtional' aspects remain well represented. The book is well organized for coordinated use in several courses, ranging from core udnergraduate to senior and graduate level topics." - Professor Steven D. Johnson, Indiana University