It would obviously be very valuable to know in advance which files in the next release of a large software system are most likely to contain the largest numbers of faults. To accomplish this, we developed a negative binomial regression model and used it to predict the expected number of faults in each file of the next release of a system. The predictions are based on code characteristics and fault and modification history data. We will discuss what we have learned from applying the model to three large industrial systems, each with multiple years of field exposure, and tell you about our success in making accurate predictions and some of the lessons learned and issues that had to be dealt with.
Bio
Elaine Weyuker is a researcher at AT&T Labs who specializes in empirical software engineering and testing research. She is a member of the National Academy of Engineering, an IEEE Fellow, an ACM Fellow and an AT&T Fellow. She is the co-chair of the ACM Committee on Women in Computing (ACM-W) and a member of the Coalition to Diversify Computing's Executive Committee. She was the 2004 recipient of the Harlan D. Mills Award, the Rutgers University 50th Anniversary Outstanding Alumni Award, and the AT&T Chairman's Diversity Award. Before moving to AT&T, she was a computer science professor at the Courant Institute of Mathematical Sciences of NYU.
Thomas Ostrand is a research member of the Management Systems Division at AT&T Labs in Florham Park, NJ. He previously was with the Software Research Groups of Siemens Corporate Research, and the Univac Corporation, and was a faculty member of the Computer Science Department at Rutgers University. His current interests are in the practice and theory of software testing, especially experimental evaluation of testing methods. He is presently working on methods to extract and analyze software fault and change data from the development and maintenance history of large software projects. Dr. Ostrand has been on the editorial board of the IEEE Transactions on Software Engineering, and was a member-at-large of the Executive Committee of ACM SIGSOFT from 1993-1997. He has been on the Program Committee of several software engineering and testing conferences and a Program Chair of ISSTA, the ACM International Symposium on Software Testing and Analysis.