Dolores R. Wallace

Learn More
Exhaustive testing of computer software is intractable, but empirical studies of software failures suggest that testing can in some cases be effectively exhaustive. We show that software failures in a variety of domains were caused by combinations of relatively few conditions. These results have important implications for testing. If all faults in a system(More)
E ffective software can mean software that is low cost, reliable, rapidly developed, safe, or has some other relevant attribute. To determine whether a particular technique is effective, we need a way to measure it. Merely saying that a technique is effective conveys no real information. Instead, we need measurements applied to each software attribute so we(More)
1 This author performed the work while an employee of NIST and is now working for Unisys at the NASA Goddard Space Flight Center. Most complex systems today contain software, and systems failures activated by software faults can provide lessons for software development practices and software quality assurance. This paper presents an analysis of(More)
Although experimentation is an accepted approach toward scientific validation in most scientific disciplines, it only recently has gained acceptance within the software development community. In this paper we discuss a 12-model classification scheme for performing experimentation within the software development domain. We evaluate over 600 published papers(More)
This paper describes a program slicing tool, unravel, that can assist in the evaluation of high integrity software by using program slices to extract a single computation from a program for examination and test. The tool, available through the National Institute of Standards and Technology, can currently be used to evaluate software written in ANSI C and is(More)
When to apply a new technology in an organization is a critical decision for every software development organization. Earlier work defines a set of methods that the research community uses when a new technology is developed. This chapter presents a discussion of the set of methods that industrial organizations use before adopting a new technology. First(More)
Most complex systems today contain software, and systems failures activated by software faults can provide lessons for software development practices and software quality assurance. This paper presents an analysis of softwarerelated failures of medical devices that caused no death or injury but led to recalls by the manufacturers. The analysis categorizes(More)
Although the need to transition new technology to improve the process of developing quality software products is well understood, the computer software industry has done a poor job of carrying out that need. All too often new software technology is touted as the next "silver bullet" to be adopted, only to fail and disappear within a very short period. New(More)
Exhaustive testing of computer software is intractable, but empirical studies of software failures suggest that testing can in some cases be effectively exhaustive. Data reported in this study and others show that software failures in a variety of domains were caused by combinations of relatively few conditions. These results have important implications for(More)