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. 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(More)
Experimentation helps determine the effectiveness of proposed theories and methods. But computer science has not developed a concise taxonomy of methods for demonstrating the validity of new techniques. E ffective software can mean software that is low cost, reliable, rapidly developed, safe, or has some other relevant attribute. To determine whether a(More)
Although experimentation is an accepted approach toward scientiic validation in most scientiic disciplines, it only recently has gained acceptance within the software development community. In this paper we discuss a 12 model classiication scheme for performing experimentation within the software development domain. We evaluate over 600 published papers in(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)
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)