herreid@heawk1.gsfc.nasa.gov ( Leon Herreid ) (05/08/91)
Colleagues, I'm writing a "Software Development Plan" for a system that I estimate is a hundred thousand lines of code (a forty man-year effort). It's a mission planning and data processing facility for a scientific satellite. I'm interested in the Cleanroom methodology described in, for example, Richard H. Cobb and Harlan D. Mills "Engineering Software under Statistical Quality Control" IEEE Software, pages 44-54, November 1990 but I can't find enough practical information on the methodology to adapt it to my situation. Some of the article's references have appealing titles, but my library doesn't have them. I'd appreciate hearing of any easily available references and any applicable experiences you've had. Leon Herreid internet: herreid@xenium.gsfc.nasa.gov
jcm@mstr.hgc.edu (James McKim) (05/09/91)
In article <herreid.673646984@heawk1> herreid@heawk1.gsfc.nasa.gov ( Leon Herreid ) writes: >Colleagues, > >I'm writing a "Software Development Plan" for a system that I estimate >is a hundred thousand lines of code (a forty man-year effort). It's a >mission planning and data processing facility for a scientific >satellite. I'm interested in the Cleanroom methodology described in, >for example, > > Richard H. Cobb and Harlan D. Mills > "Engineering Software under Statistical Quality Control" > IEEE Software, pages 44-54, November 1990 > >but I can't find enough practical information on the methodology to >adapt it to my situation. Some of the article's references have >appealing titles, but my library doesn't have them. > >I'd appreciate hearing of any easily available references and any >applicable experiences you've had. I suggest you contact Mills's company Information Systems Institute 2770 Indian River Blvd Vero Beach, FL 32960 I'm sure they will be more than happy to supply references and, more importantly, they offer training. > >Leon Herreid internet: herreid@xenium.gsfc.nasa.gov Hope this helps. -- Jim *------------------------------------------------------------------------------* Jim McKim (203)-548-2458 | _Give_ people fish and they eat for a day. Internet: jcm@mstr.hgc.edu | _Teach_ people to fish and they eat for a lifetime.
cml@care.cs.umd.edu (Christopher Lott) (05/10/91)
Here's one citation. There are more in the SEL series addressing cleanroom, but I don't have the full listing at hand. NASA, "The Cleanroom Case Study in the Software Engineering Laboratory: Project Description and Early Analysis," Software Engineering Laboratory Series, Report SEL-90-002, March 1990. Single copies available from Systems Development Branch, Code 552, NASA Goddard Space Flight Center, Greenbelt, Maryland 20771. chris... -- Christopher Lott \/ Dept of Comp Sci, Univ of Maryland, College Park, MD 20742 cml@cs.umd.edu /\ 4122 AV Williams Bldg 301 405-2721 <standard disclaimers>
herreid@heawk1.gsfc.nasa.gov ( Leon Herreid ) (05/10/91)
Colleagues, Thank you for your responses to my query about the Cleanroom methodology. Many of you asked to know what I learned. In a nutshell, it works like this. Cleanroom advocates argue that debugging is an inefficient way to remove software defects, that it's more efficient to prevent defects than to remove them. Their technique to prevent defects is (1) to write the user documentation before you design and code, so your goals are defined precisely, and (2) to design and code in a team and without the use of a compiler, linker, and debugger. All the team members read all the code, digging out problems. (You get very readable code this way.) The development team delivers its software to a certification team who compiles and links it, and then exercises it. The exercises are defined by a test team, based on the original specification and on the expected usage pattern. Problems are reported back to the developers who deliver revised source files. My apologies to H. Mills if I have misrepresented his thinking. The following references explained these ideas to me. This is the most careful exposition of the methodology that I've found. As I understand it, Mills originally formulated the methodology in the early 1980's... "Engineering Software under Statistical Quality Control" Richard H. Cobb and Harlan D. Mills IEEE Software, November 1990, pages 44-54 This well known article discusses Cleanroom in general terms. It does not describe the methodology in detail. The date of the article is listed incorrectly in the first reference... "Cleanroom Software Engineering" Harlan D. Mills, Michael Dyer, and Richard C. Linger IEEE Software, September 1987, pages 19-25 There has been some research comparing Cleanroom with other methodologies. This article is based on Selby's PhD research... "Cleanroom Software Development: An Empirical Evaluation" Richard W. Selby, Victor R. Basili, and F. Terry Baker IEEE Trans. on Software Eng., September 1987, pages 1027-1037 Part of the Cleanroom concept is to produce an estimate of the reliability of software. This article describes how to estimate the mean time to failure (MTTF) of a software product... "Certifying the Reliability of Software" P. Allen Currit, Michael Dyer, and Harlan D. Mills IEEE Trans. on Software Eng., January 1986, pages 3-11 Studying these papers will give you a good idea of the Cleanroom methodology. You can follow the references to get more information. I do not know of a publically available 'recipe' that lists all the steps and products, but you can figure it out from the literature. A little brainwork never hurt anybody. Leon Herreid herreid@xenium.gsfc.nasa.gov