Formal Approaches to Software Testing


Book Description

Testing often accounts for more than 50% of the required e?ort during system development.Thechallengeforresearchistoreducethesecostsbyprovidingnew methods for the speci?cation and generation of high-quality tests. Experience has shown that the use of formal methods in testing represents a very important means for improving the testing process. Formal methods allow for the analysis andinterpretationofmodelsinarigorousandprecisemathematicalmanner.The use of formal methods is not restricted to system models only. Test models may alsobeexamined.Analyzingsystemmodelsprovidesthepossibilityofgenerating complete test suites in a systematic and possibly automated manner whereas examining test models allows for the detection of design errors in test suites and their optimization with respect to readability or compilation and execution time. Due to the numerous possibilities for their application, formal methods have become more and more popular in recent years. The Formal Approaches in Software Testing (FATES) workshop series also bene?ts from the growing popularity of formal methods. After the workshops in Aalborg (Denmark, 2001), Brno (Czech Republic, 2002) and Montr ́ eal (Canada, 2003), FATES 2004 in Linz (Austria) was the fourth workshop of this series. Similar to the workshop in 2003, FATES 2004 was organized in a?liation with the IEEE/ACM Conference on Automated Software Engineering (ASE 2004). FATES 2004 received 41 submissions. Each submission was reviewed by at least three independent reviewers from the Program Committee with the help of some additional reviewers. Based on their evaluations, 14 full papers and one wo- in-progress paper from 11 di?erent countries were selected for presentation.




Formal Approaches to Software Testing


Book Description

This book constitutes the thoroughly refereed post-proceedings of the 5th International Workshop on Formal Approaches to Software Testing, FATES 2005, held in Edinburgh, UK, in July 2005 in conjunction with CAV 2005. The book presents 13 revised full papers together with 1 work-in-progress paper. These address formal approaches to testing and use techniques from areas like theorem proving, model checking, constraint resolution, program analysis, abstract interpretation, Markov chains, and various others.




Formal Methods for Software Engineering


Book Description

Software programs are formal entities with precise meanings independent of their programmers, so the transition from ideas to programs necessarily involves a formalisation at some point. The first part of this graduate-level introduction to formal methods develops an understanding of what constitutes formal methods and what their place is in Software Engineering. It also introduces logics as languages to describe reasoning and the process algebra CSP as a language to represent behaviours. The second part offers specification and testing methods for formal development of software, based on the modelling languages CASL and UML. The third part takes the reader into the application domains of normative documents, human machine interfaces, and security. Use of notations and formalisms is uniform throughout the book. Topics and features: Explains foundations, and introduces specification, verification, and testing methods Explores various application domains Presents realistic and practical examples, illustrating concepts Brings together contributions from highly experienced educators and researchers Offers modelling and analysis methods for formal development of software Suitable for graduate and undergraduate courses in software engineering, this uniquely practical textbook will also be of value to students in informatics, as well as to scientists and practical engineers, who want to learn about or work more effectively with formal theories and methods. Markus Roggenbach is a Professor in the Dept. of Computer Science of Swansea University. Antonio Cerone is an Associate Professor in the Dept. of Computer Science of Nazarbayev University, Nur-Sultan. Bernd-Holger Schlingloff is a Professor in the Institut für Informatik of Humboldt-Universität zu Berlin. Gerardo Schneider is a Professor in the Dept. of Computer Science and Engineering of University of Gothenburg. Siraj Ahmed Shaikh is a Professor in the Institute for Future Transport and Cities of Coventry University. The companion site for the book offers additional resources, including further material for selected chapters, prepared lab classes, a list of errata, slides and teaching material, and virtual machines with preinstalled tools and resources for hands-on experience with examples from the book. The URL is: https://sefm-book.github.io




Formal Approaches to Software Testing


Book Description

This book constitutes the thoroughly refereed post-proceedings of the Third International Workshop on Formal Approaches to Testing of Software, FATES 2003, held in Montreal, Quebec, Canada, on October 6th, 2003. The 18 revised full papers presented were carefully selected from 43 submissions during two rounds of reviewing and improvement. The papers are organized in topical sections on program testing and analysis, test theory and test derivation algorithms, and test methods and test tools.




Best Practices for the Formal Software Testing Process


Book Description

This is the digital version of the printed book (Copyright © 2004). Testing is not a phase. Software developers should not simply throw software over the wall to test engineers when the developers have finished coding. A coordinated program of peer reviews and testing not only supplements a good software development process, it supports it. A good testing life cycle begins during the requirements elucidation phase of software development, and concludes when the product is ready to install or ship following a successful system test. Nevertheless, there is no one true way to test software; the best one can hope for is to possess a formal testing process that fits the needs of the testers as well as those of the organization and its customers. A formal test plan is more than an early step in the software testing process-it's a vital part of your software development life cycle. This book presents a series of tasks to help you develop a formal testing process model, as well as the inputs and outputs associated with each task. These tasks include: review of program plans development of the formal test plan creation of test documentation (test design, test cases, test software, and test procedures) acquisition of automated testing tools test execution updating the test documentation tailoring the model for projects of all sizes Whether you are an experienced test engineer looking for ways to improve your testing process, a new test engineer hoping to learn how to perform a good testing process, a newly assigned test manager or team leader who needs to learn more about testing, or a process improvement leader, this book will help you maximize your effectiveness.




Formal Engineering for Industrial Software Development


Book Description

In any serious engineering discipline, it would be unthinkable to construct a large system without having a precise notion of what is to be built and without verifying how the system is expected to function. Software engineering is no different in this respect. Formal methods involve the use of mathematical notation and calculus in software development; such methods are difficult to apply to large-scale systems with practical constraints (e.g., limited developer skills, time and budget restrictions, changing requirements). Here Liu claims that formal engineering methods may bridge this gap. He advocates the incorporation of mathematical notation into the software engineering process, thus substantially improving the rigor, comprehensibility and effectiveness of the methods commonly used in industry. This book provides an introduction to the SOFL (Structured Object-Oriented Formal Language) method that was designed and industry-tested by the author. Written in a style suitable for lecture courses or for use by professionals, there are numerous exercises and a significant real-world case study, so the readers are provided with all the knowledge and examples needed to successfully apply the method in their own projects.




Formal Approaches to Software Testing and Runtime Verification


Book Description

This book constitutes the thoroughly refereed post-proceedings of the First Combined International Workshops on Formal Approaches to Software Testing, FATES 2006, and on Runtime Verification, RV 2006, held within the scope of FLoC 2006, the Federated Logic Conference in Seattle, WA, USA in August 2006. Coverage discusses formal approaches to test and analyze programs and monitor and guide their executions by using various techniques.




Formal Methods and Software Engineering


Book Description

This book constitutes the refereed proceedings of the 18th International Conference on Formal Engineering Methods, ICFEM 2016, held in Tokyo, Japan, in November 2016. The 27 revised full papers presented together with three invited talks were carefully reviewed and selected from 64 submissions. The conference focuses in all areas related to formal engineering meth-ods, such as verification and validation, software engineering, formal specification and modeling, software security, and software reliability.




Software Testing Techniques


Book Description

Software Testing Techniques, 2nd Edition is the first book-length work that explicitly addresses the idea that design for testability is as important as testing itself not just by saying that testability is a desirable goal, but by showing the reader how it to do it. Every chapter has testability guidelines that illustrate how the technique discussed in the chapter can be used to make software more easily tested and therefore more reliable and maintainable. Application of all techniques to unit, integration, maintenance, and system testing are discussed throughout this book.As a self-study text, as a classroom text, as a working reference, it is a book that no programmer, independent software tester, software engineer, testing theorist, system designer, or software project manager can be without.




Verification, Validation and Testing in Software Engineering


Book Description

"This book explores different applications in V & V that spawn many areas of software development -including real time applications- where V & V techniques are required, providing in all cases examples of the applications"--Provided by publisher.