As early as 1949, computer pioneers realized that writing a program that executed as planned was no simple task. Turing even saw the need to address the issues of program correctness and termination, foretelling groundbreaking work of Edsger Dijkstra, John McCarthy, Bob Floyd and Tony Hoare, and Sue Owicki and David Gries, among others, two and three decades later.
The term formal methods refers to the application of mathematical techniques for the specification, analysis, design, implementation and subsequent maintenance of complex computer software and hardware. These techniques have proven themselves, when correctly and appropriately applied, to result in systems of the highest quality, which are well documented, more easy to maintain, and which promote software reuse.
With emerging legislation, and increasing emphasis in standards and university curricula, formal methods are set to become even more important in system development. This Kluwer book series, Advances in Formal Methods, aims to present results from the cutting edge of formal methods research and practice. Books in the series will address the use of formal methods in both hardware and software development, and the role of formal methods in the development of safety-critical and real-time systems, hardware-software co-design, testing, simulation and prototyping, software quality assurance, software reuse, security, and many other areas.
The series aims to include both basic and advanced textbooks, monographs, reference books and collections of high quality papers which will address managerial issues, the development process, requirements engineering, tool support, methods integration, metrics, reverse engineering, and issues relating to formal methods education.
It is our aim that, in due course, Advances in Formal Methods will provide a rich source of information for students, teachers, academic researchers and industrial practitioners alike. And I hope that, for many, it will be a first port-of-call for relevant texts and literature.