rdf-syntax-grammar
mods:
  schema location: http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-2.xsd
  title info:
    title: Rigorous Software Development
    sub title: An Introduction to Program Verification
  name:
    name part: Almeida, José Bacelar.
    role:
      role term: creator
    role:
      role term: author.
  name:
    name part: Frade, Maria João.
    role:
      role term: author.
  name:
    name part: Pinto, Jorge Sousa.
    role:
      role term: author.
  name:
    name part: Melo de Sousa, Simão.
    role:
      role term: author.
  name:
    name part: SpringerLink (Online service)
  type of resource: text
  origin info:
    place:
      place term: xxk
    date issued: 2011
    issuance: monographic
  language:
    language term: eng
  physical description:
    form: electronic
    form: electronic resource
    reformatting quality: access
    form: remote
    extent: XIII, 307 p. 52 illus. online resource.
  abstract: The use of mathematical methods in the development of software is essential when reliable systems are sought; in particular they are now strongly recommended by the official norms adopted in the production of critical software. Program Verification is the area of computer science that studies mathematical methods for checking that a program conforms to its specification. This text is a self-contained introduction to program verification using logic-based methods, presented in the broader context of formal methods for software engineering. The idea of specifying the behaviour of individual software components by attaching contracts to them is now a widely followed approach in program development, which has given rise notably to the development of a number of behavioural interface specification languages and program verification tools. A foundation for the static verification of programs based on contract-annotated routines is laid out in the book. These can be independently verified, which provides a modular approach to the verification of software. The text assumes only basic knowledge of standard mathematical concepts that should be familiar to any computer science student. It includes a self-contained introduction to propositional logic and first-order reasoning with theories, followed by a study of program verification that combines theoretical and practical aspects -- from a program logic (a variant of Hoare logic for programs containing user-provided annotations) to the use of a realistic tool for the verification of C programs (annotated using the ACSL specification language), through the generation of verification conditions and the static verification of runtime errors.
  table of contents: List of Figures -- 1. Introduction -- 2. An Overview of Formal Methods Tools and Techniques -- 3. Propositional Logic -- 4. First-Order Logic -- 5. Hoare Logic -- 6. Generating Verification Conditions -- 7. Safety Properties -- 8. Procedures and Contracts -- 9. Specifying C Programs -- 10. Verifying C Programs -- Bibliography -- Index.
  note: by José Bacelar Almeida, Maria João Frade, Jorge Sousa Pinto, Simão Melo de Sousa.
  subject:
    topic: Computer science
  subject:
    topic: Software engineering
  subject:
    topic: Computer logic
  subject:
    topic: Computer science
    topic: Mathematics
  subject:
    topic: Computer Science
  subject:
    topic: Software Engineering
  subject:
    topic: Logics and Meanings of Programs
  subject:
    topic: Symbolic and Algebraic Manipulation
  classification: QA76.758
  classification: 005.1
  related item:
    title info:
      title: Springer eBooks
  related item:
    title info:
      title: Undergraduate Topics in Computer Science
  identifier: 9780857290182
  identifier: http://dx.doi.org/10.1007/978-0-85729-018-2
  record info:
    record creation date: 110103
    record change date: 20151103191032.0
    record identifier: 978-0-85729-018-2