Characterizing the differences between pre- and post- release versions of software

Many software producers utilize beta programs to predict post-release quality and to ensure that their products meet quality expectations of users. Prior work indicates that software producers need to adjust predictions to account for usage environments and usage scenarios differences between beta populations and post-release populations. However, little is known about how usage characteristics relate to field quality and how usage characteristics differ between beta and post-release. In this study, we examine application crash, application hang, system crash, and usage information from millions of Windows® users to 1) examine the effects of usage characteristics differences on field quality (e.g. which usage characteristics impact quality), 2) examine usage characteristics differences between beta and post-release (e.g. do impactful usage characteristics differ), and 3) report experiences adjusting field quality predictions for Windows. Among the 18 usage characteristics that we examined, the five most important were: the number of application executed, whether the machines was pre-installed by the original equipment manufacturer, two sub-populations (two language/geographic locales), and whether Windows was 64-bit (not 32-bit). We found each of these usage characteristics to differ between beta and post-release, and by adjusting for the differences, accuracy of field quality predictions for Windows improved by ~59%.

[1]  Roger C. Cheung,et al.  A User-Oriented Software Reliability Model , 1978, IEEE Transactions on Software Engineering.

[2]  Martin Höst,et al.  Sensitivity of Website Reliability to Usage Profile Changes , 2007, The 18th IEEE International Symposium on Software Reliability (ISSRE '07).

[3]  Brendan Murphy,et al.  Predicting the Reliability of Mass-Market Software in the Marketplace Based on Beta Usage: a Study of Windows Vista and WIndows 7 , 2011 .

[4]  Mary Shaw,et al.  Experiences and results from initiating field defect prediction and product test prioritization efforts at ABB Inc. , 2006, ICSE.

[5]  A. Hassan,et al.  An Industrial Case Study of Customizing Operational Profiles Using Log Compression , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[6]  Song Xue,et al.  Reliability Assessment of Mass-Market Software: Insights from Windows Vista® , 2008, 2008 19th International Symposium on Software Reliability Engineering (ISSRE).

[7]  Ping Zhang,et al.  Predictors of customer perceived software quality , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[8]  Galen C. Hunt,et al.  Debugging in the (very) large: ten years of implementation and experience , 2009, SOSP '09.

[9]  Archana Ganapathi,et al.  Windows XP Kernel Crash Analysis , 2006, LISA.

[10]  John D. Musa,et al.  Software reliability measurement , 1984, J. Syst. Softw..

[11]  Gregory Tassey,et al.  Prepared for what , 2007 .

[12]  Wen-Li Wang,et al.  User-oriented reliability modeling for a Web system , 2003, 14th International Symposium on Software Reliability Engineering, 2003. ISSRE 2003..

[13]  HuntGalen,et al.  Debugging in the (very) large , 2011 .

[14]  Brendan Murphy Automating Software Failure Reporting , 2004, ACM Queue.

[15]  Myra B. Cohen,et al.  Probe Distribution Techniques to Profile Events in Deployed Software , 2006, 2006 17th International Symposium on Software Reliability Engineering.

[16]  Madeline Diep,et al.  Profiling deployed software: assessing strategies and testing opportunities , 2005, IEEE Transactions on Software Engineering.

[17]  Andy Podgurski,et al.  Corroborating User Assessments of Software Behavior to Facilitate Operational Testing , 2007, The 18th IEEE International Symposium on Software Reliability (ISSRE '07).

[18]  Lori L. Pollock,et al.  Automated Oracle Comparators for TestingWeb Applications , 2007, The 18th IEEE International Symposium on Software Reliability (ISSRE '07).

[19]  Sebastian G. Elbaum,et al.  Software reliability as a function of user execution patterns , 1999, Proceedings of the 32nd Annual Hawaii International Conference on Systems Sciences. 1999. HICSS-32. Abstracts and CD-ROM of Full Papers.

[20]  John D. Musa,et al.  Software reliability - measurement, prediction, application , 1987, McGraw-Hill series in software engineering and technology.

[21]  Raymond A. Marie,et al.  Reliability estimation for statistical usage testing using Markov chains , 2004, 15th International Symposium on Software Reliability Engineering.