Buy used:
$6.52
$3.99 delivery July 24 - 30. Details
Or fastest delivery July 18 - 23. Details
Condition: Used: Good
Comment: 3-8 average business day shipping. 97% + we ship same or next business day. Shipping transit days depend on distance from our California location & pls keep track of bad weather, can cause delays. We use an expeditor as well as direct drops at US Postal Service twice daily Pacific Time. End delivery is always US Postal Service. Customer service in the California/United States Only, Pacific Time M-F. PLEASE READ CONDITION NOTES: Every copy graded & checked, we always downgrade. Functional copy for everyday use. Tight binding, no food or drink stains, no tobacco smell. May have written notes, highlighting that do not obscure text, reading or use. May have overstock mark on spine. Never former libris. May or may not have dust cover and please check condition, we are happy to check for you. DJ's may be MISSING, have small nicks and tears or taped and intact. Any lower condition we downgrade to acceptable. Please message any questions.
Access codes and supplements are not guaranteed with used items.
Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

Follow the author

Something went wrong. Please try your request again later.

Toward Zero-Defect Programming 1st Edition

4.6 4.6 out of 5 stars 3 ratings

Toward Zero-Defect Programming describes current methods for writing (nearly) bug-free programs. These methods are based on practices developed at IBM and elsewhere under the name Cleanroom Software Engineering. The successful application of these methods in commercial projects over the past fifteen years has produced defect rates that are, at least, an order of magnitude lower than industry averages. Remarkably, this reduction in defects comes at no net cost; on the contrary, it is often accompanied by increased productivity and shorter overall development time!
In a concise and well-illustrated presentation, Stavely shows how these methods can be applied in three key areas of software development:

specification
verification
testing.
Requiring formal specifications, and requiring that the code be proved mathematically to agree with the specifications, forces software engineers to program more simply and more clearly, eliminating many defects as a consequence. Performing verification as part of a team process uncovers additional defects and encourages careful examination of the program for efficiency and other quality aspects. Testing the program, to compensate for human fallibility in the preceding steps, catches (nearly) all remaining bugs.

Highlights
Explains Cleanroom methods for developing high-quality software.
Encourages a team process for program verification.
Illustrates the importance of incremental development.
The author departs somewhat from IBM Cleanroom methods in simplifying the procedures that readers must learn. His aim is to make specification and verification readily accessible to any student or practitioner who can write well-structured programs. No great mathematical sophistication is assumed. Although the books examples are written in a number of programming languages to explain different points, the largest number are in C; therefore, a prior knowledge of C is useful.


Amazon First Reads | Editors' picks at exclusive prices

Editorial Reviews

From the Back Cover

Read a paper by the author describing a course taught using this book.

Toward Zero-Defect Programming describes current methods for writing (nearly) bug-free programs. These methods are based on practices developed at IBM and elsewhere under the name Cleanroom Software Engineering. The successful application of these methods in commercial projects over the past fifteen years has produced defect rates that are, at least, an order of magnitude lower than industry averages. Remarkably, this reduction in defects comes at no net cost; on the contrary, it is often accompanied by increased productivity and shorter overall development time!

In a concise and well-illustrated presentation, Stavely shows how these methods can be applied in three key areas of software development:

  1. specification
  2. verification
  3. testing.

    Requiring formal specifications, and requiring that the code be proved mathematically to agree with the specifications, forces software engineers to program more simply and more clearly, eliminating many defects as a consequence. Performing verification as part of a team process uncovers additional defects and encourages careful examination of the program for efficiency and other quality aspects. Testing the program, to compensate for human fallibility in the preceding steps, catches (nearly) all remaining bugs.

    Highlights
    • Explains Cleanroom methods for developing high-quality software.
    • Encourages a team process for program verification.
    • Illustrates the importance of incremental development.

      The author departs somewhat from IBM Cleanroom methods in simplifying the procedures that readers must learn. His aim is to make specification and verification readily accessible to any student or practitioner who can write well-structured programs. No great mathematical sophistication is assumed. Although the book’s examples are written in a number of programming languages to explain different points, the largest number are in C; therefore, a prior knowledge of C is useful.

About the Author

Allan M. Stavely was a faculty member in the Computer Science Department at New Mexico Tech for more than twenty years. He has also been a visiting staff member at IBM Research in San Jose, California; at Hewlett-Packard Labs in Bristol, England; and at IBM UK Laboratories at Hursley Park, Winchester, England. Much of his teaching, and most of his research, have focused on software engineering, formal methods, and improved methods of programming in general. Dr. Stavely is now an independent consultant, and can be reached at astavely@acm.org; he has web pages at http://www.nmt.edu/~astavely.



0201385953AB05072001

Product details

  • Publisher ‏ : ‎ Addison-Wesley Professional; 1st edition (January 1, 1998)
  • Language ‏ : ‎ English
  • Paperback ‏ : ‎ 240 pages
  • ISBN-10 ‏ : ‎ 0201385953
  • ISBN-13 ‏ : ‎ 978-0201385953
  • Item Weight ‏ : ‎ 13.6 ounces
  • Dimensions ‏ : ‎ 6.25 x 0.5 x 9.25 inches
  • Customer Reviews:
    4.6 4.6 out of 5 stars 3 ratings

About the author

Follow authors to get new release updates, plus improved recommendations.
Allan M. Stavely
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Discover more of the author’s books, see similar authors, read author blogs and more

Customer reviews

4.6 out of 5 stars
4.6 out of 5
3 global ratings

Top reviews from the United States

Reviewed in the United States on January 19, 2000
Dr. Allan Stavely has done for the Cleanroom Software Engineering method what Martin Fowler did for the Unified Modeling Language in his book "UML Distilled." He's analyzed the best and most useful parts of the Cleanroom method and found a great way to present them. After reading this book, you'll be controlling defect rates and shortening development times on your own software projects.
For those not in the know, the Cleanroom method is a set of practices pioneered by the late Harlan Mills. The idea is to use some simplified mathematical formalism along with group verifications. The result? You shift time away from hack-and-slash debugging towards review. Often, the entire start-to-finish development time is shortened.
With object-oriented languages and template instantiation times, this is a really good thing: the compile-debug-test cycle is far too painful and too slow to support today's shortened deadlines.
The key to Cleanroom is that the mathematical formalism is simplified and "just enough." Stavely demonstrates the typical structures found in programs and shows how intended function statements (the math part) are used in the group review (the verification part) to discover defects in the code. Later, a testing group exercises the paths through the code that users are most likely to take, giving statistical metrics on mean-time to failure and feedback into the quality of the method's practice.
Stavely's conversational writing style makes grasping the material efficient. Each chapter focus on just one aspect of the method, and exercises at the end test how well you grasped the material. Although Stavely includes hints to the answers for selected questions, I would've preferred complete answers to all the questions. That'd make the book more useful outside of a classroom setting.
Transcripts of review sessions show how the method succeeds in the group review. Although hypothetical, Stavely based them on actual review sessions taken by his coworkers and students over the years. They help guide newcomers to the method on how to conduct the verification step.
Overall, this is a great introduction to the Cleanroom method and after finishing the book you'll be able to introduce it to your own group in no time. Buy a copy for everyone on your team!
13 people found this helpful
Report
Reviewed in the United States on November 20, 2009
Minimizing defects when writing software is a goal that all programmers seek. Typically, a programmer will reflect and develop strategies after the "heat of the battle." Books that provide a systematic approach to a particular aspect -- that of logical correctness -- are not that common -- particularly those directed towards programmers rather than academicians -- so any addition to the literature is welcomed.

Before reading this book, I was unfamiliar with either Cleanroom Software Engineering or Harlan Mills, who is credited with conceiving the method. It was developed by IBM in the 70s, and adopted more widely in the company in the 80s. Since that time, its influence has spread beyond IBM.

In my reading, the heart of the method is a logical formalism which represents the operation and flow of a program in a language-neutral fashion. This is described straightforwardly in the text, and other aspects of the software development process are described from the CSE point of view.

For the programmer, this approach most basically moves the focus from "what am I doing" to "how am I doing it." Considerations of logical branching and set completeness of operations come to the fore through this analysis. This is an essential step in moving from a coder to a programmer. In a team setting, this provides a "style neutral" approach to identifying the logical structure of each member's program contribution.

I feel somewhat about this formalism they way I felt about flow charts in college. The concept is good. The visual provided by flow charts is helpful as a training approach. But, the formalism simply replicates the logic of the application.

At the same time, well-constructed code with well-chosen function and variable names can pretty much emulate the symbolic representation of CSE. So, I'd go a step further and suggest that one simply model one's coding style on the formalism. That avoids the double work and duplication of the program logic.
5 people found this helpful
Report
Reviewed in the United States on March 22, 2019
Full Disclosure: Al was one of my CS instructors, and I was an advanced reader for another of his books.
The book has a number of practical techniques for writing zero defect code. A lot of the techniques have been proposed for years, but this brings them into one book.
If you do mission-critical software, or just want code that *works*, get this book.