---
title: "Objectives of FTR; cleanroom software engineering"
subject: "Software Engineering"
chapter: 9
key: "semester_5/software_engineering:ftr-cleanroom"
source: https://www.bctengineer.com/q/semester_5/software_engineering/ftr-cleanroom
site: BCT Engineering
---

# Objectives of FTR; cleanroom software engineering

Software Engineering · Chapter 9: Quality management

- Asked in: 2068 Baishakh (old course), 10 marks
- Video: [Cleanroom Software Engineering | Cleanroom Approach Software Development Process](https://www.youtube.com/watch?v=XNENtRpYy2o) — Arihant Online Academy
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_5/software_engineering/ftr-cleanroom
- Whole chapter: https://www.bctengineer.com/md/semester_5/software_engineering/chapter-9

## Question

What are the main objectives of Formal Technical Reviews (FTR)? What is clean room software engineering?

## Short answer

Formal technical reviews uncover errors, verify requirements and standards, ensure uniform development, and make projects manageable. Cleanroom software engineering prevents defects using formal specification, incremental development, structured programming, static verification without execution, and statistical testing to certify reliability.

## Answer

#### Objectives of Formal Technical Reviews (FTR)

A **formal technical review** is a software quality control activity in which a small team of engineers (3–5 people) examines a work product in a planned meeting of less than 2 hours, after each reviewer has prepared for about 1–2 hours. Walkthroughs and inspections are types of FTR.

Main objectives (Pressman):
1. **Uncover errors** in function, logic or implementation in any representation of the software.
2. **Verify** that the software under review meets its requirements.
3. **Ensure** that the software is represented according to predefined standards.
4. **Achieve** software that is developed in a uniform manner across the team.
5. **Make projects more manageable** by giving checkpoints with clear results.

Additional benefits:
- **Defect removal is cheaper early:** design errors make up a large share of all errors, and reviews can find most of them before testing, so they do not get amplified into later phases.
- **Training ground:** junior engineers learn different approaches to analysis, design and coding.
- **Backup and continuity:** more people become familiar with parts of the software they did not write.

**Outcome of an FTR:** the team decides to accept, reject, or accept provisionally, and produces a review issues list and a review summary report. The review leader follows up to make sure the issues are corrected.

#### Cleanroom software engineering

**Cleanroom software engineering** is a formal approach to software development whose aim is to **prevent defects** rather than find and remove them later. The name comes from cleanrooms used in semiconductor manufacturing, where dust is kept out instead of being cleaned up afterwards. It was developed by Harlan Mills and colleagues at IBM.

**Key strategies** (Sommerville):
1. **Formal specification:** the software is specified using a formal model, such as a state-transition model of how the system responds to stimuli.
2. **Incremental development:** the system is divided into increments that are developed and certified separately, with critical functions in early increments.
3. **Structured programming:** only a limited set of control and data abstraction constructs is used; the program is developed by stepwise refinement of the specification.
4. **Static verification:** the code is checked by rigorous inspections and mathematical correctness arguments. **Developers do not unit test or execute their code.**
5. **Statistical testing:** each integrated increment is tested statistically using an **operational profile** to estimate its reliability.

Pressman describes the same ideas using **box structure specification**: a black box (external behaviour), a state box (state and data) and a clear box (procedural design), followed by correctness verification of each box.

**Teams**
- **Specification team:** develops and maintains the formal system specification.
- **Development team:** develops and verifies the software (no execution).
- **Certification team:** develops statistical tests from the specification and certifies the reliability.

```text
 Formally specify --> Define increments
        |                   |
        v                   v
 Develop operational    Construct structured
 profile                program
        |                   |
        v                   v
 Design statistical     Formally verify code
 tests                      |
        |                   v
        +-------> Integrate increment
                            |
                            v
                Test integrated system
                (certify reliability)
```

**Advantages**
- Very low defect density in delivered software; IBM-reported projects had only a few errors per thousand lines of code.
- Reliability is certified with statistical evidence.
- Lower testing and maintenance cost.

**Limitations**
- Needs skilled staff trained in formal methods.
- Formal specification and verification take time and effort at the start.
- Less suitable for projects with unstable or unclear requirements, such as user-interface-heavy systems.

**Difference from conventional development:** conventional practice relies on unit testing and debugging to remove defects, while cleanroom relies on correct design and verification so that defects are not introduced in the first place.

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. Which is a main objective of formal technical reviews?
   A. Replace all testing
   B. Uncover errors in function, logic or implementation in any representation of the software
   C. Measure programmer salaries
   D. Delay the project
   Answer: B. FTR objectives include uncovering errors, verifying requirements, ensuring standards and uniform development. (Key point: Objectives of FTR)

2. What is the central aim of cleanroom software engineering?
   A. Find and remove defects by heavy debugging
   B. Prevent defects through formal specification and verification rather than removing them later
   C. Skip specification
   D. Test only after release
   Answer: B. Like keeping dust out of semiconductor cleanrooms, cleanroom prevents defects from being introduced. (Key point: Cleanroom aim)

3. In cleanroom, how is code checked by the development team?
   A. By unit testing and debugging
   B. By beta testing
   C. By rigorous inspections and mathematical correctness arguments, without executing it
   D. By ignoring it until integration
   Answer: C. Developers do not unit test or run their code; static verification is used. (Key point: Developers do not execute code)

4. Who develops the statistical tests and certifies reliability in cleanroom?
   A. The specification team
   B. The development team
   C. The review leader
   D. The certification team
   Answer: D. The certification team builds statistical tests from the specification using an operational profile and certifies reliability. (Key point: Cleanroom statistical testing)

## Related in Software Engineering

- [Formal technical review; Garvin’s quality dimensions](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Aftr-garvin) — Software Engineering, chapter 9
- [Short note: component-based software engineering](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Acbse-note) — Software Engineering, chapter 6

## Related in other subjects

- [Objectives of appraisal; financial, technical appraisal](https://www.bctengineer.com/question.md?key=semester_7%2Fproject_engineering%3Aappraisal-objectives-financial-technical) — Project Engineering, chapter 2
- [Traffic engineering objectives; Engset formula](https://www.bctengineer.com/question.md?key=semester_8%2Ftelecommunications%3Atraffic-objectives-engset) — Telecommunications, chapter 6
- [Scope and objectives of metrology](https://www.bctengineer.com/question.md?key=semester_3%2Fmetrology%3Ascope-objectives-of-metrology) — Metrology, chapter 1
- [Earthing objectives, factors and plate earthing size](https://www.bctengineer.com/question.md?key=semester_6%2Findustrial_power_distribution_and_illumination%3Aearthing-objectives-plate-40ohm-m) — Industrial Power Distribution and Illumination, chapter 2
