Managing Software Development for Survivable Systems
Annals of Software Engineering
Technology Transfer Issues for Formal Methods of Software Specification
CSEET '00 Proceedings of the 13th Conference on Software Engineering Education & Training
Proceedings of the 2nd annual conference on Mid-south college computing
IP Quality: A Design, Not a Verification Problem
ISQED '05 Proceedings of the 6th International Symposium on Quality of Electronic Design
Teaching cleanroom software engineering with object-oriented data abstraction
Journal of Computing Sciences in Colleges
To use or not to use the goto statement: programming styles viewed from Hoare logic
Science of Computer Programming
Software fault avoidance issues
Ubiquity
A formal language and analysis tool for black box specifications
Journal of Computing Sciences in Colleges
Programming and mathematical thinking
ACM Inroads
Hi-index | 0.00 |
From the Publisher: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.