Cleanroom Software Engineering Crystal Donald. Origins Developed by Dr. Harlan Mills in 1987 Developed by Dr. Harlan Mills in 1987 Name derived from hardware.

Slides:



Advertisements
Similar presentations
SOFTWARE TESTING. Software Testing Principles Types of software tests Test planning Test Development Test Execution and Reporting Test tools and Methods.
Advertisements

System Integration Verification and Validation
Cleanroom Software Engineering By Derek B. Larson.
Cleanroom Software Engineering CIS 376 Bruce R. Maxim UM-Dearborn.
Cleanroom Software Engineering A unique approach to software development.
CLEANROOM SOFTWARE ENGINEERING
Lecture 12 Reengineering Computer-aided Software Engineering Cleanroom Software Engineering.
Cleanroom Engineering and the B-Method: A Comparison Drew Connelly.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Software Testing and Quality Assurance
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
Cleanroom Method CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 20, 2003.
Illinois Institute of Technology
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
SE 555 Software Requirements & Specification Requirements Validation.
Verification and Validation
SE 555 – Software Requirements & Specifications Introduction
9 1 Chapter 9 Database Design Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
COMP 6710 Course NotesSlide 4-0 Auburn University Computer Science and Software Engineering Course Notes Set 4: Cleanroom Software Engineering Computer.
1 Systems Validation & Verification, Quality and Standards (CSE4431) Dr Sita Ramakrishnan School CSSE Monash University.
Principle of Functional Verification Chapter 1~3 Presenter : Fu-Ching Yang.
Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.
Andy Moyer. Cleanroom Software Engineering  What is it?  Goals  Properties of Cleanroom  Cleanroom Technologies  Case Studies  Critiques.
By: David Golke.  Introduction  Architecture Specification ◦ Requirements Analysis ◦ Function Specification ◦ Usage Specification ◦ Increment Planning.
Casey Ehlers April 28 th, Outline of Presentation 1. Background and History of Cleanroom 2. Who Uses Cleanroom Software Development? 3. Basics of.
SE 501 Software Development Processes Dr. Basit Qureshi College of Computer Science and Information Systems Prince Sultan University Lecture for Week 14.
Capability Maturity Model
Software Integration and Documenting
CLEANROOM SOFTWARE ENGINEERING By Alan Spangler Presented By : Vamshi Krishna Merugu.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
Software Quality Chapter Software Quality  How can you tell if software has high quality?  How can we measure the quality of software?  How.
Extreme Programming Software Development Written by Sanjay Kumar.
Software testing techniques Testing Maturity Model Presentation on the seminar Kaunas University of Technology.
CLEANROOM SOFTWARE ENGINEERING.
Verification and Validation Chapter 22 of Ian Sommerville’s Software Engineering.
1 Debugging and Testing Overview Defensive Programming The goal is to prevent failures Debugging The goal is to find cause of failures and fix it Testing.
Software Engineering - Spring 2003 (C) Vasudeva Varma, IIITHClass of 39 CS3600: Software Engineering: Standards in Process Modeling CMM and PSP.
Software testing techniques 2.Verification and validation From I. Sommerville textbook Kaunas University of Technology.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
CS.436 Software Engineering By Ajarn..Sutapart Sappajak,METC,MSIT Chapter 13 Verification and validation Slide 1 1 Chapter 13 Verification and Validation.
SoftwareVerification and Validation
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Chapter 19 Verification and Validation.
Software Testing and Quality Assurance Software Quality Assurance 1.
Cleanroom Software Engineering Getting it right the first time.
1 Introduction to Software Testing. Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Chapter 1 2.
The Cleanroom Approach to Quality Software Development
Software Debugging, Testing, and Verification Presented by Chris Hundersmarck November 10, 2004 Dr. Bi’s SE516.
Anton Krbaťa Ján Budáč  Verification: "Are we building the product right ?„  Validation: "Are we building the right product ?"
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Bzupages.com Verification and Validation.
1 Chapter 26 Cleanroom Software Engineering Cleanroom Developed in early 80’s by Harlan Mills Reported very good results –reliable, high-quality.
Ch-1 Introduction The processes used for executing a software project have major effect on quality of s/w produced and productivity achieved in project…
Formal Methods.
Verification and Validation Assuring that a software system meets a user's needs.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Testing Maturity Model (TMM). Introduction For the past decade, the software industry has put substantial effort in improving the quality of its products.
Software Engineering Issues Software Engineering Concepts System Specifications Procedural Design Object-Oriented Design System Testing.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Project.
Software Quality Assurance and Testing Fazal Rehman Shamil.
SCOPE DEFINITION,VERIFICATION AND CONTROL Ashima Wadhwa.
Software Engineering Lecture 8: Quality Assurance.
 System Requirement Specification and System Planning.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
COMP 6710 Course NotesSlide 4-0 Auburn University Computer Science and Software Engineering Course Notes Set 4: Cleanroom Software Engineering Computer.
Verification and Validation
Software Testing.
Cleanroom Software Engineering
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
Cleanroom Software Engineering
Presentation transcript:

Cleanroom Software Engineering Crystal Donald

Origins Developed by Dr. Harlan Mills in 1987 Developed by Dr. Harlan Mills in 1987 Name derived from hardware cleanrooms Name derived from hardware cleanrooms Goal is zero defect rate Goal is zero defect rate

What is it? Formal design and requirements methods + Statistical Usage Testing ______________________________ Little or No Defects

Why Cleanroom? Quality Quality Most suitable for critical applications Most suitable for critical applications Increased Productivity Increased Productivity Reduces Costs Reduces Costs

Cleanroom Method Steps Requirements Analysis Requirements Analysis High-level Design High-level Design Detailed Design Detailed Design Coding by increment Coding by increment Pretest by increment Pretest by increment Statistical Testing by increment Statistical Testing by increment

Incremental Development Cycle Early and continual quality assessment Early and continual quality assessment Increased user feedback Increased user feedback Repair any process related problems Repair any process related problems Allow requirements changes Allow requirements changes

Mathematically Based Design Referential Transparency (Linger, 1996) Referential Transparency (Linger, 1996) Mapping inputs/outputs of design = actual Mapping inputs/outputs of design = actual Similar to function mappings Similar to function mappings Box Structures Box Structures

Box Structures Map system inputs to system outputs Map system inputs to system outputs Black Box Black Box ((current stimulus, stimulus history)  response) State Box State Box ((c. stimulus, c. state)  (response, new state)) Clear Box Clear Box State transition procedures are defined explicitly

Correctness Verification Replaces unit testing and debugging Replaces unit testing and debugging No constraints on how code is written No constraints on how code is written Code vs. Specification Code vs. Specification Function theoretic static code analysis Function theoretic static code analysis Review done mentally and verbally Review done mentally and verbally Written proofs not required Written proofs not required No compiling of code No compiling of code

Statistical Usage Testing Description of how system will be used Description of how system will be used Defined for all possible code scenarios w/ probability of occurrence Defined for all possible code scenarios w/ probability of occurrence Hierarchical usage breakdown and probability distribution Hierarchical usage breakdown and probability distribution Concentrates on finding defects that are statistically most significant Concentrates on finding defects that are statistically most significant

Formal Methods Overlap Based on mathematical principles Based on mathematical principles Focused on 100% quality Focused on 100% quality F.M. – Complete view of req’ts in advance F.M. – Complete view of req’ts in advance F.M. – Model entire system at once for quality F.M. – Model entire system at once for quality C.R. – Model system incrementally C.R. – Model system incrementally F.M. – Logic as basis, C.R. – Function mapping F.M. – Logic as basis, C.R. – Function mapping FM and CR can be integrated for higher quality FM and CR can be integrated for higher quality

Comparison Typical Development Cleanroom Dev Specification usually incomplete for external behavior Precise and complete description for ext. behavior From specification, code is informal, debug to verify Box Structures used to refine and verify Failures are common and accepted Not accepted Attempted coverage, poor field reliability prediction Usage model based, predict field reliability

Capability Maturity Model (CMM) Overlap CR covers a larger number of (Key Process Areas) KPAs CR covers a larger number of (Key Process Areas) KPAs CMM has 5 Levels CMM has 5 Levels Cleanrooms has high correspondence with Levels 2-5 of CMM (No Ad-hoc processes) Cleanrooms has high correspondence with Levels 2-5 of CMM (No Ad-hoc processes)

Usage Considerations Small teams w/ peer review of work Small teams w/ peer review of work Time spent on design will be greater Time spent on design will be greater But will reduce testing But will reduce testing Training requirements Training requirements

Outside Software Must go through correctness verification Must go through correctness verification Possible introduction of “contaminant” Possible introduction of “contaminant” Likely re-engineering in Cleanroom format Likely re-engineering in Cleanroom format

Debate Advance process of software development Advance process of software development Theoretical foundation for SW development Theoretical foundation for SW developmentvs. Cleanroom is too radical for SW dev. Cleanroom is too radical for SW dev. Still too new and relatively unproven claims Still too new and relatively unproven claims

Conclusion Key Characteristics of Cleanroom SE Key Characteristics of Cleanroom SE Incremental Development Life Cycle Incremental Development Life Cycle Defect Prevention: Quality Assessment thru Statistical Testing Defect Prevention: Quality Assessment thru Statistical Testing Disciplined SE methods required to create correct, verifiable software Disciplined SE methods required to create correct, verifiable software

Resources 24/cr/clean/page1.html UTA 24/cr/clean/page1.html UTA 24/cr/clean/page1.html 24/cr/clean/page1.html php?keycode=64 DACS php?keycode=64 DACS php?keycode=64 php?keycode=64 NG623/Group/SENG623W03_Cleanroom. pdf Paper NG623/Group/SENG623W03_Cleanroom. pdf Paper NG623/Group/SENG623W03_Cleanroom. pdf NG623/Group/SENG623W03_Cleanroom. pdf