© 2010

Composing Software Components

A Software-testing Perspective


Table of contents

  1. Front Matter
    Pages 1-13
  2. Dick Hamlet
    Pages 1-13
  3. Components and Component-based Development

    1. Front Matter
      Pages 15-15
    2. Dick Hamlet
      Pages 17-28
    3. Dick Hamlet
      Pages 41-51
  4. Software Testing: Practice and Theory

    1. Front Matter
      Pages 53-53
    2. Dick Hamlet
      Pages 65-75
    3. Dick Hamlet
      Pages 77-94
  5. Composition of Components

    1. Front Matter
      Pages 95-95
    2. Dick Hamlet
      Pages 139-165
    3. Dick Hamlet
      Pages 167-178
  6. Supporting Tools

    1. Front Matter
      Pages 199-199
    2. Dick Hamlet
      Pages 201-203
    3. Dick Hamlet
      Pages 205-218

About this book


Software components and component-based software development (CBSD) are acknowledged as the best approach for constructing quality software at reasonable cost. Composing Software Components: A Software-testing Perspective describes a 10-year investigation into the underlying principles of CBSD. By restricting attention to the simplest cases, startling results are obtained:

  • Components are tested using only executable code. Their behavior is recorded and presented graphically
  • Functional and non-functional behavior of systems synthesized from components are calculated from component tests alone. No access to components themselves is required
  • Fast, accurate tools support every aspect of CBSD from design through debugging

Case studies of CBSD also illuminate software testing in general, particularly an expanded role for unit testing and the treatment of non-functional software properties.

This unique book:

  • Contains more than a dozen case studies of fully worked-out component synthesis, with revealing insights into fundamental testing issues
  • Presents an original, fundamental theory of component composition that includes persistent state and concurrency, based on functional software testing rather than proof-of-programs.
  • Comes with free supporting software with tutorial examples and data for replication of examples. The Perl software has been tested on Linux, Macintosh, and Windows platforms. Full documentation is provided
  • Includes anecdotes and insights from the author’s 50-year career in computing as systems programmer, manager, researcher, and teacher

Composing Software Components: A Software-testing Perspective will help software researchers and practitioners to understand the underlying principles of component testing. Advanced students in computer science, engineering, and mathematics can also benefit from the book as a supplemental text and reference.


(software) engineering design Text component synthesis component-based software development (CBSD) currentjm functional behavior non-functional behavior software components software reliabi software testing software tools system testing theory unit testing

Authors and affiliations

  1. 1.CamasUSA

Bibliographic information

Industry Sectors
IT & Software
Consumer Packaged Goods
Finance, Business & Banking


From the reviews:

“Hamlet … delivers a detailed analysis of component software engineering from a testing viewpoint. … The book also includes some software that supports implementation of theory, presented in a variety of developer environments. … Summing Up: Highly recommended. Graduate students and researchers/faculty.” (L. Benedicenti, Choice, Vol. 48 (9), May, 2011)