Harlan Mills and his colleagues namely
Linger, Poore, Dyer in the year of 1980 developed a software process that could
promise building zero error software at IBM. This process is now popularly
known as the Cleanroom software engineering. The process was named in
accordance with an analogy with the manufacturing process of the
semiconductors.
The Clean room software engineering process makes use of the
statistical process and its control features. The software systems and
applications thus produced have certified software reliability. The
productivity is also increased as the software has no defects at delivery.
Below
mentioned are some key features of the Cleanroom software engineering process:
- Usage scenarios
- Incremental
development
- Incremental release
- Statistical modeling
- Separate development
- Acceptance testing
- No unit testing
- No debugging
- Formal reviews with
verification conditions
Basic technologies used by the CSE
approach are:
- Incremental
development
- Box structured
specifications
- Statistical usage
testing
- Function theoretic
verification
- The incremental development phase of the CSE involves overlapping of
the incremental development and from beginning of specification to the end of
the test execution it takes around 12 – 18 weeks.
- Partitioning of the
increments is critical as well as difficult.
- Formal specification of the CSE
process involves the following:
- Box structured Designing: Three types of boxes are identified namely black box, state box and clear box.
- Verification properties of the structures and
- Program functions: These are one kind of functions that are used by the clean room approach.
- State boxes are the
description of the state of the system in terms of data structures such as
sequences, sets, lists, records, relations and maps.
- Further, they include
specification of operations and state in-variants.
- Each and every operation that
is carried out needs to take care of the invariant.
- The syntax errors present in a
constructed program in clean-room are checked by a parser but is not run by the
developer.
- A team review is responsible for performing verification which is
driven by a number of verification conditions.
- Productivity is increased by 3–5 times in the verification process as compared to the debugging process.
- Proving
the program is always an option with the developers but it calls for a lot of
math intensive work.
- As an alternate to this, clean room software engineering
approach prefers to use a team code inspection in terms of two things namely:
- Program functions and
- Verification
conditions
- After this, an informal review is
carried out which confirms whether all conditions have been satisfied or not.
- Program
functions are nothing but functions describing the prime program’s function.
- Functional verification steps are:
1.
Specifying
the program by post and pre-conditions.
2.
Parsing
the program in to prime numbers.
3.
Determining
the program functions for SESE’s.
4.
Defining
verification conditions.
5.
Inspection
of all the verification conditions.
- Program functions also define the
conditions under which a program can be executed legally. Such program
functions are called pre-conditions.
- Program functions can even express the
effect the program execution is having up on the state of the system. Such
program functions are called the post conditions.
- Programs are mostly expressed on terms
of the input arguments, instance variables and return values of the program.
- However, they cannot be expressed by local program variables.
- The concept of nested
blocks is supported by a number of modern programming languages and structured
programs always require well nesting.
- The process determining SESE’s also
involves parsing rather than just program functions.
No comments:
Post a Comment