A Complexity Reliability Model

A model of software complexity and reliability isdeveloped. It uses an evolutionary process to transitionfrom one software system to the next, while complexitymetrics are used to predict the reliability for eachsystem. Our approach is experimental, using datapertinent to the NASA satellite systems applicationenvironment. We do not use sophisticatedmathematical models that may have little relevance forthe application environment. Rather, we tailor ourapproach to the software characteristics of thesoftware to yield important defect-related predictors ofquality. Systems are tested until the software passesdefect presence criteria and is released. Testingcriteria are based on defect count, defect density, andtesting efficiency predictions exceeding specifiedthresholds. In addition, another type of testingefficiency—a directed graph representing thecomplexity of the software and defects embedded in thecode—is used to evaluate the efficiency of defectdetection in NASA satellite system software.Complexity metrics were found to be good predictorsof defects and testing efficiency in this evolutionaryprocess.

[1]  Norman E. Fenton,et al.  Quantitative Analysis of Faults and Failures in a Complex Software System , 2000, IEEE Trans. Software Eng..

[2]  Lui Sha,et al.  Using Simplicity to Control Complexity , 2001, IEEE Softw..

[3]  Manuel Resinas,et al.  Designing and managing evolving systems using a MAS product line approach , 2007, Sci. Comput. Program..

[4]  Dewayne E. Perry,et al.  Software Evolution and Feedback: Theory and Practice , 2006 .

[5]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[6]  John C. Munson,et al.  Measuring software evolution , 1996, Proceedings of the 3rd International Software Metrics Symposium.

[7]  Shawn A. Bohner,et al.  Software information leaks: a complexity perspective , 2004, Proceedings. Ninth IEEE International Conference on Engineering of Complex Computer Systems.

[8]  Chris F. Kemerer,et al.  Cyclomatic Complexity Density and Software Maintenance Productivity , 1991, IEEE Trans. Software Eng..

[9]  Norman F. Schneidewind Software reliability engineering process , 2006, Innovations in Systems and Software Engineering.

[10]  Meir M. Lehman,et al.  Rules and Tools for Software Evolution Planning and Management , 2001, Ann. Softw. Eng..

[11]  Donald J. Berndt,et al.  Breeding software test cases for complex systems , 2004, 37th Annual Hawaii International Conference on System Sciences, 2004. Proceedings of the.

[12]  José Luiz Fiadeiro,et al.  Designing for software's social complexity , 2007, Computer.

[13]  Mladen A. Vouk,et al.  Field data analysis , 1996 .

[14]  Paul J. Layzell,et al.  Spatial complexity metrics: an investigation of utility , 2005, IEEE Transactions on Software Engineering.

[15]  Claes Wohlin Revisiting measurement of software complexity , 1996, Proceedings 1996 Asia-Pacific Software Engineering Conference.

[16]  Per Runeson,et al.  A Replicated Quantitative Analysis of Fault Distributions in Complex Software Systems , 2007, IEEE Transactions on Software Engineering.

[17]  ResinasManuel,et al.  Designing and managing evolving systems using a MAS product line approach , 2007 .

[18]  Norman F. Schneidewind,et al.  Software Defect Process and Product Model for High Assurance Applications , 2007, J. Aerosp. Comput. Inf. Commun..

[19]  Shawn A. Bohner,et al.  An Era of Change-Tolerant Systems , 2007, Computer.