Author: Marieke Huisman
Publisher: Springer Nature
ISBN: 3031301676
Category : Computers
Languages : en
Pages : 251
Book Description
This textbook overviews the whole spectrum of formal methods and techniques that are aimed at verifying correctness of software, and how they can be used in practice. It focuses on techniques whereby the user has some control over the properties that are being checked. More specifically, it shows a wide range of techniques covering the whole spectrum: from abstract system design to implementation, from bug finding to full proofs, and from techniques that are push-button by design and give a yes/no answer to techniques that require the user to provide explicit guidance to steer the analysis process. Topics and features: Covers a broad spectrum of software verification techniques, from model checking to annotation checking Provides numerous examples to demonstrate the techniques Focuses on how techniques can be used (and the main ideas behind how they work), as opposed to how they are implemented Explains strengths and weaknesses of the techniques, providing insight into when to use which technique in practice This unique textbook has been written primarily for master’s level students in computer science studying embedded systems and specializing in software technology. The book will also be of interest for students studying cyber security and data science technology, as well as for system or software developers interested in techniques that offer formal guarantees about software.
Concise Guide to Software Verification
Author: Marieke Huisman
Publisher: Springer Nature
ISBN: 3031301676
Category : Computers
Languages : en
Pages : 251
Book Description
This textbook overviews the whole spectrum of formal methods and techniques that are aimed at verifying correctness of software, and how they can be used in practice. It focuses on techniques whereby the user has some control over the properties that are being checked. More specifically, it shows a wide range of techniques covering the whole spectrum: from abstract system design to implementation, from bug finding to full proofs, and from techniques that are push-button by design and give a yes/no answer to techniques that require the user to provide explicit guidance to steer the analysis process. Topics and features: Covers a broad spectrum of software verification techniques, from model checking to annotation checking Provides numerous examples to demonstrate the techniques Focuses on how techniques can be used (and the main ideas behind how they work), as opposed to how they are implemented Explains strengths and weaknesses of the techniques, providing insight into when to use which technique in practice This unique textbook has been written primarily for master’s level students in computer science studying embedded systems and specializing in software technology. The book will also be of interest for students studying cyber security and data science technology, as well as for system or software developers interested in techniques that offer formal guarantees about software.
Publisher: Springer Nature
ISBN: 3031301676
Category : Computers
Languages : en
Pages : 251
Book Description
This textbook overviews the whole spectrum of formal methods and techniques that are aimed at verifying correctness of software, and how they can be used in practice. It focuses on techniques whereby the user has some control over the properties that are being checked. More specifically, it shows a wide range of techniques covering the whole spectrum: from abstract system design to implementation, from bug finding to full proofs, and from techniques that are push-button by design and give a yes/no answer to techniques that require the user to provide explicit guidance to steer the analysis process. Topics and features: Covers a broad spectrum of software verification techniques, from model checking to annotation checking Provides numerous examples to demonstrate the techniques Focuses on how techniques can be used (and the main ideas behind how they work), as opposed to how they are implemented Explains strengths and weaknesses of the techniques, providing insight into when to use which technique in practice This unique textbook has been written primarily for master’s level students in computer science studying embedded systems and specializing in software technology. The book will also be of interest for students studying cyber security and data science technology, as well as for system or software developers interested in techniques that offer formal guarantees about software.
Concise Guide to Software Testing
Author: Gerard O'Regan
Publisher: Springer Nature
ISBN: 3030284948
Category : Computers
Languages : en
Pages : 309
Book Description
This practically-focused textbook provides a concise and accessible introduction to the field of software testing, explaining the fundamental principles and offering guidance on applying the theory in an industrial environment. Topics and features: presents a brief history of software quality and its influential pioneers, as well as a discussion of the various software lifecycles used in software development; describes the fundamentals of testing in traditional software engineering, and the role that static testing plays in building quality into a product; explains the process of software test planning, test analysis and design, and test management; discusses test outsourcing, and test metrics and problem solving; reviews the tools available to support software testing activities, and the benefits of a software process improvement initiative; examines testing in the Agile world, and the verification of safety critical systems; considers the legal and ethical aspects of software testing, and the importance of software configuration management; provides key learning topics and review questions in every chapter, and supplies a helpful glossary at the end of the book. This easy-to-follow guide is an essential resource for undergraduate students of computer science seeking to learn about software testing, and how to build high quality and reliable software on time and on budget. The work will also be of interest to industrialists including software engineers, software testers, quality professionals and software managers, as well as the motivated general reader.
Publisher: Springer Nature
ISBN: 3030284948
Category : Computers
Languages : en
Pages : 309
Book Description
This practically-focused textbook provides a concise and accessible introduction to the field of software testing, explaining the fundamental principles and offering guidance on applying the theory in an industrial environment. Topics and features: presents a brief history of software quality and its influential pioneers, as well as a discussion of the various software lifecycles used in software development; describes the fundamentals of testing in traditional software engineering, and the role that static testing plays in building quality into a product; explains the process of software test planning, test analysis and design, and test management; discusses test outsourcing, and test metrics and problem solving; reviews the tools available to support software testing activities, and the benefits of a software process improvement initiative; examines testing in the Agile world, and the verification of safety critical systems; considers the legal and ethical aspects of software testing, and the importance of software configuration management; provides key learning topics and review questions in every chapter, and supplies a helpful glossary at the end of the book. This easy-to-follow guide is an essential resource for undergraduate students of computer science seeking to learn about software testing, and how to build high quality and reliable software on time and on budget. The work will also be of interest to industrialists including software engineers, software testers, quality professionals and software managers, as well as the motivated general reader.
Concise Guide to Software Engineering
Author: Gerard O'Regan
Publisher: Springer Nature
ISBN: 3031078160
Category : Computers
Languages : en
Pages : 457
Book Description
This textbook presents a concise introduction to the fundamental principles of software engineering, together with practical guidance on how to apply the theory in a real-world, industrial environment. The wide-ranging coverage encompasses all areas of software design, management, and quality. Topics and features: presents a broad overview of software engineering, including software lifecycles and phases in software development, and project management for software engineering; examines the areas of requirements engineering, software configuration management, software inspections, software testing, software quality assurance, and process quality; covers topics on software metrics and problem solving, software reliability and dependability, and software design and development, including Agile approaches; explains formal methods, a set of mathematical techniques to specify and derive a program from its specification, introducing the Z specification language; discusses software process improvement, describing the CMMI model, and introduces UML, a visual modelling language for software systems; reviews a range of tools to support various activities in software engineering, and offers advice on the selection and management of a software supplier; describes such innovations in the field of software as distributed systems, service-oriented architecture, software as a service, cloud computing, and embedded systems; includes key learning topics, summaries and review questions in each chapter, together with a useful glossary. This practical and easy-to-follow textbook/reference is ideal for computer science students seeking to learn how to build high quality and reliable software on time and on budget. The text also serves as a self-study primer for software engineers, quality professionals, and software managers.
Publisher: Springer Nature
ISBN: 3031078160
Category : Computers
Languages : en
Pages : 457
Book Description
This textbook presents a concise introduction to the fundamental principles of software engineering, together with practical guidance on how to apply the theory in a real-world, industrial environment. The wide-ranging coverage encompasses all areas of software design, management, and quality. Topics and features: presents a broad overview of software engineering, including software lifecycles and phases in software development, and project management for software engineering; examines the areas of requirements engineering, software configuration management, software inspections, software testing, software quality assurance, and process quality; covers topics on software metrics and problem solving, software reliability and dependability, and software design and development, including Agile approaches; explains formal methods, a set of mathematical techniques to specify and derive a program from its specification, introducing the Z specification language; discusses software process improvement, describing the CMMI model, and introduces UML, a visual modelling language for software systems; reviews a range of tools to support various activities in software engineering, and offers advice on the selection and management of a software supplier; describes such innovations in the field of software as distributed systems, service-oriented architecture, software as a service, cloud computing, and embedded systems; includes key learning topics, summaries and review questions in each chapter, together with a useful glossary. This practical and easy-to-follow textbook/reference is ideal for computer science students seeking to learn how to build high quality and reliable software on time and on budget. The text also serves as a self-study primer for software engineers, quality professionals, and software managers.
Guide to Software Verification with Frama-C
Author: Nikolai Kosmatov
Publisher: Springer Nature
ISBN: 3031556089
Category :
Languages : en
Pages : 708
Book Description
Publisher: Springer Nature
ISBN: 3031556089
Category :
Languages : en
Pages : 708
Book Description
Concise Guide to Formal Methods
Author: Gerard O'Regan
Publisher: Springer
ISBN: 3319640216
Category : Mathematics
Languages : en
Pages : 336
Book Description
This invaluable textbook/reference provides an easy-to-read guide to the fundamentals of formal methods, highlighting the rich applications of formal methods across a diverse range of areas of computing. Topics and features: introduces the key concepts in software engineering, software reliability and dependability, formal methods, and discrete mathematics; presents a short history of logic, from Aristotle’s syllogistic logic and the logic of the Stoics, through Boole’s symbolic logic, to Frege’s work on predicate logic; covers propositional and predicate logic, as well as more advanced topics such as fuzzy logic, temporal logic, intuitionistic logic, undefined values, and the applications of logic to AI; examines the Z specification language, the Vienna Development Method (VDM) and Irish School of VDM, and the unified modelling language (UML); discusses Dijkstra’s calculus of weakest preconditions, Hoare’s axiomatic semantics of programming languages, and the classical approach of Parnas and his tabular expressions; provides coverage of automata theory, probability and statistics, model checking, and the nature of proof and theorem proving; reviews a selection of tools available to support the formal methodist, and considers the transfer of formal methods to industry; includes review questions and highlights key topics in every chapter, and supplies a helpful glossary at the end of the book. This stimulating guide provides a broad and accessible overview of formal methods for students of computer science and mathematics curious as to how formal methods are applied to the field of computing.
Publisher: Springer
ISBN: 3319640216
Category : Mathematics
Languages : en
Pages : 336
Book Description
This invaluable textbook/reference provides an easy-to-read guide to the fundamentals of formal methods, highlighting the rich applications of formal methods across a diverse range of areas of computing. Topics and features: introduces the key concepts in software engineering, software reliability and dependability, formal methods, and discrete mathematics; presents a short history of logic, from Aristotle’s syllogistic logic and the logic of the Stoics, through Boole’s symbolic logic, to Frege’s work on predicate logic; covers propositional and predicate logic, as well as more advanced topics such as fuzzy logic, temporal logic, intuitionistic logic, undefined values, and the applications of logic to AI; examines the Z specification language, the Vienna Development Method (VDM) and Irish School of VDM, and the unified modelling language (UML); discusses Dijkstra’s calculus of weakest preconditions, Hoare’s axiomatic semantics of programming languages, and the classical approach of Parnas and his tabular expressions; provides coverage of automata theory, probability and statistics, model checking, and the nature of proof and theorem proving; reviews a selection of tools available to support the formal methodist, and considers the transfer of formal methods to industry; includes review questions and highlights key topics in every chapter, and supplies a helpful glossary at the end of the book. This stimulating guide provides a broad and accessible overview of formal methods for students of computer science and mathematics curious as to how formal methods are applied to the field of computing.
Leveraging Applications of Formal Methods, Verification and Validation. Specification and Verification
Author: Tiziana Margaria
Publisher: Springer Nature
ISBN: 3031753801
Category :
Languages : en
Pages : 416
Book Description
Publisher: Springer Nature
ISBN: 3031753801
Category :
Languages : en
Pages : 416
Book Description
Concise Guide to Software Verification
Author: Marieke Huisman
Publisher:
ISBN: 9783031301681
Category :
Languages : en
Pages : 0
Book Description
Ever since the beginnings of the development of software, researchers have been thinking about how to guarantee its correctness. Formal methods are techniques that can be used to improve software reliability and robustness. This concise volume overviews the whole spectrum of formal methods and techniques that are aimed at verifying correctness of software, and how they can be used in practice. It focuses on techniques whereby the user has some control over the properties that are being checked. More specifically, it shows a wide range of techniques covering the whole spectrum: from abstract system design to implementation, from bug finding to full proofs, and from techniques that are push-button by design and give a yes/no answer to techniques that require the user to provide explicit guidance to steer the analysis process. Topics and features: Covers a broad spectrum of software verification techniques, from model checking to annotation checking Provides numerous examples to demonstrate the techniques Focuses on how techniques can be used (and the main ideas behind how they work), as opposed to how they are implemented Explains strengths and weaknesses of the techniques, providing insight into when to use which technique in practice This unique textbook has been written primarily for master's level students in computer science studying embedded systems and specializing in software technology. The book will also be of interest for students studying cyber security and data science technology, as well as for system or software developers interested in techniques that offer formal guarantees about software. Marieke Huisman is Professor at the Faculty of Electrical Engineering, Mathematics and Computer Science of the University of Twente, The Netherlands, and Anton Wijs is Assistant Professor at the Department of Mathematics and Computer Science of the Eindhoven University of Technology, The Netherlands.
Publisher:
ISBN: 9783031301681
Category :
Languages : en
Pages : 0
Book Description
Ever since the beginnings of the development of software, researchers have been thinking about how to guarantee its correctness. Formal methods are techniques that can be used to improve software reliability and robustness. This concise volume overviews the whole spectrum of formal methods and techniques that are aimed at verifying correctness of software, and how they can be used in practice. It focuses on techniques whereby the user has some control over the properties that are being checked. More specifically, it shows a wide range of techniques covering the whole spectrum: from abstract system design to implementation, from bug finding to full proofs, and from techniques that are push-button by design and give a yes/no answer to techniques that require the user to provide explicit guidance to steer the analysis process. Topics and features: Covers a broad spectrum of software verification techniques, from model checking to annotation checking Provides numerous examples to demonstrate the techniques Focuses on how techniques can be used (and the main ideas behind how they work), as opposed to how they are implemented Explains strengths and weaknesses of the techniques, providing insight into when to use which technique in practice This unique textbook has been written primarily for master's level students in computer science studying embedded systems and specializing in software technology. The book will also be of interest for students studying cyber security and data science technology, as well as for system or software developers interested in techniques that offer formal guarantees about software. Marieke Huisman is Professor at the Faculty of Electrical Engineering, Mathematics and Computer Science of the University of Twente, The Netherlands, and Anton Wijs is Assistant Professor at the Department of Mathematics and Computer Science of the Eindhoven University of Technology, The Netherlands.
Developing Safety-Critical Software
Author: Leanna Rierson
Publisher: CRC Press
ISBN: 1351834053
Category : Computers
Languages : en
Pages : 612
Book Description
The amount of software used in safety-critical systems is increasing at a rapid rate. At the same time, software technology is changing, projects are pressed to develop software faster and more cheaply, and the software is being used in more critical ways. Developing Safety-Critical Software: A Practical Guide for Aviation Software and DO-178C Compliance equips you with the information you need to effectively and efficiently develop safety-critical, life-critical, and mission-critical software for aviation. The principles also apply to software for automotive, medical, nuclear, and other safety-critical domains. An international authority on safety-critical software, the author helped write DO-178C and the U.S. Federal Aviation Administration’s policy and guidance on safety-critical software. In this book, she draws on more than 20 years of experience as a certification authority, an avionics manufacturer, an aircraft integrator, and a software developer to present best practices, real-world examples, and concrete recommendations. The book includes: An overview of how software fits into the systems and safety processes Detailed examination of DO-178C and how to effectively apply the guidance Insight into the DO-178C-related documents on tool qualification (DO-330), model-based development (DO-331), object-oriented technology (DO-332), and formal methods (DO-333) Practical tips for the successful development of safety-critical software and certification Insightful coverage of some of the more challenging topics in safety-critical software development and verification, including real-time operating systems, partitioning, configuration data, software reuse, previously developed software, reverse engineering, and outsourcing and offshoring An invaluable reference for systems and software managers, developers, and quality assurance personnel, this book provides a wealth of information to help you develop, manage, and approve safety-critical software more confidently.
Publisher: CRC Press
ISBN: 1351834053
Category : Computers
Languages : en
Pages : 612
Book Description
The amount of software used in safety-critical systems is increasing at a rapid rate. At the same time, software technology is changing, projects are pressed to develop software faster and more cheaply, and the software is being used in more critical ways. Developing Safety-Critical Software: A Practical Guide for Aviation Software and DO-178C Compliance equips you with the information you need to effectively and efficiently develop safety-critical, life-critical, and mission-critical software for aviation. The principles also apply to software for automotive, medical, nuclear, and other safety-critical domains. An international authority on safety-critical software, the author helped write DO-178C and the U.S. Federal Aviation Administration’s policy and guidance on safety-critical software. In this book, she draws on more than 20 years of experience as a certification authority, an avionics manufacturer, an aircraft integrator, and a software developer to present best practices, real-world examples, and concrete recommendations. The book includes: An overview of how software fits into the systems and safety processes Detailed examination of DO-178C and how to effectively apply the guidance Insight into the DO-178C-related documents on tool qualification (DO-330), model-based development (DO-331), object-oriented technology (DO-332), and formal methods (DO-333) Practical tips for the successful development of safety-critical software and certification Insightful coverage of some of the more challenging topics in safety-critical software development and verification, including real-time operating systems, partitioning, configuration data, software reuse, previously developed software, reverse engineering, and outsourcing and offshoring An invaluable reference for systems and software managers, developers, and quality assurance personnel, this book provides a wealth of information to help you develop, manage, and approve safety-critical software more confidently.
Guide to Discrete Mathematics
Author: Gerard O'Regan
Publisher: Springer Nature
ISBN: 3030815889
Category : Computers
Languages : en
Pages : 459
Book Description
This stimulating textbook presents a broad and accessible guide to the fundamentals of discrete mathematics, highlighting how the techniques may be applied to various exciting areas in computing. The text is designed to motivate and inspire the reader, encouraging further study in this important skill. Features: This book provides an introduction to the building blocks of discrete mathematics, including sets, relations and functions; describes the basics of number theory, the techniques of induction and recursion, and the applications of mathematical sequences, series, permutations, and combinations; presents the essentials of algebra; explains the fundamentals of automata theory, matrices, graph theory, cryptography, coding theory, language theory, and the concepts of computability and decidability; reviews the history of logic, discussing propositional and predicate logic, as well as advanced topics such as the nature of theorem proving; examines the field of software engineering, including software reliability and dependability and describes formal methods; investigates probability and statistics and presents an overview of operations research and financial mathematics.
Publisher: Springer Nature
ISBN: 3030815889
Category : Computers
Languages : en
Pages : 459
Book Description
This stimulating textbook presents a broad and accessible guide to the fundamentals of discrete mathematics, highlighting how the techniques may be applied to various exciting areas in computing. The text is designed to motivate and inspire the reader, encouraging further study in this important skill. Features: This book provides an introduction to the building blocks of discrete mathematics, including sets, relations and functions; describes the basics of number theory, the techniques of induction and recursion, and the applications of mathematical sequences, series, permutations, and combinations; presents the essentials of algebra; explains the fundamentals of automata theory, matrices, graph theory, cryptography, coding theory, language theory, and the concepts of computability and decidability; reviews the history of logic, discussing propositional and predicate logic, as well as advanced topics such as the nature of theorem proving; examines the field of software engineering, including software reliability and dependability and describes formal methods; investigates probability and statistics and presents an overview of operations research and financial mathematics.
Test Engineering
Author: Patrick O'Connor
Publisher: John Wiley & Sons
ISBN:
Category : Technology & Engineering
Languages : en
Pages : 294
Book Description
This reference resource serves as a tool to facilitate development engineers to develop new testing methodologies appropriate for new technological products as they evolve.
Publisher: John Wiley & Sons
ISBN:
Category : Technology & Engineering
Languages : en
Pages : 294
Book Description
This reference resource serves as a tool to facilitate development engineers to develop new testing methodologies appropriate for new technological products as they evolve.