Skip to main content

Introduction

  • Chapter
  • 189 Accesses

Abstract

The amount and complexity of software developed and used has grown tremendously during the past years. The number of processors on which that software is supposed to run has by far outnumbered human beings [Storey, 1996]. Most of these processors are in fact not “classical” computers like mainframes, workstations, or PCs. Rather they are components of embedded systems which control applications and machinery from car brakes and washing machines to central components of nuclear plants1. The software which is running on the processors has reached many billions of lines of code. Therefore, the development and maintenance of software poses rising demands on software engineering technology. Software and hardware are expected to work error-free, safe, and reliable. Whereas the crash of a word processor or your favorite game may be a nuisance, a malfunction in software controlling a nuclear plant can possibly cost thousands of human lives and can endanger millions more. Many applications exist where a high reliability must be ensured, because failures are costly (with respect to human lives, environmental issues, or money). Such applications can be found in nearly all areas, e.g., aviation, (nuclear) power plants, medicine, transportation, space technologies, process control, or banking. Reliability must not only be guaranteed with respect to possible bugs and errors in the software. The safety of a computer system against malevolent attacks (from intruders like hackers or criminal persons) is also of growing importance. Particularly endangered are the extremely fast growing areas of electronic commerce, (tele-) banking, or remote access to computer systems (e.g., remote login). A good collection of hazardous incidents with computer systems is presented in P. Neumann’s book [Neumann, 1995] where also an assessment of computer related risks is given.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD   54.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Schumann, J.M. (2001). Introduction. In: Automated Theorem Proving in Software Engineering. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-22646-9_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-662-22646-9_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-08759-2

  • Online ISBN: 978-3-662-22646-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics