Where Do Most Software Flaws Come From?

There are a variety of different ways in which a product can be made better, ranging from more clearly understanding customer needs to minimizing faults in the software system. It is the latter that is the focus of this chapter. Only by understanding the mistakes we make can we determine what remedies need to be applied to improve either the products or the processes. Monitoring faults is a relatively simple matter, either as they are found or in project retrospectives (often referred to as “project post-mortems”).

[1]  Victor R. Basili,et al.  An Empirical Study of a Syntactic Complexity Family , 1983, IEEE Transactions on Software Engineering.

[2]  Myron Lipow,et al.  Software reliability : a study of large project reality , 1978 .

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

[4]  Dewayne E. Perry,et al.  EMPIRICAL STUDY OF SOFTWARE INTERFACE FAULTS - AN UPDATE. , 1987 .

[5]  Victor R. Basili,et al.  A Methodology for Collecting Valid Software Engineering Data , 1984, IEEE Transactions on Software Engineering.

[6]  Elaine J. Weyuker,et al.  Collecting and categorizing software error data in an industrial environment , 2018, J. Syst. Softw..

[7]  Sarfraz Khurshid,et al.  Evaluation of Semantic Interference Detection in Parallel Changes: an Exploratory Experiment , 2007, 2007 IEEE International Conference on Software Maintenance.

[8]  Elaine J. Weyuker,et al.  Predicting the location and number of faults in large software systems , 2005, IEEE Transactions on Software Engineering.

[9]  B. R. Rowland,et al.  The 3B20D Processor & DMERT operating system: Software development system , 1983, The Bell System Technical Journal.

[10]  Alexander L. Wolf,et al.  Acm Sigsoft Software Engineering Notes Vol 17 No 4 Foundations for the Study of Software Architecture , 2022 .

[11]  Dewayne E. Perry,et al.  Software Faults in Evolving a Large, Real-Time System: a Case Study , 1993, ESEC.

[12]  S. Siegel,et al.  Nonparametric Statistics for the Behavioral Sciences , 2022, The SAGE Encyclopedia of Research Design.

[13]  Robert L. Glass,et al.  Persistent Software Errors , 1981, IEEE Transactions on Software Engineering.

[14]  Meir M. Lehman,et al.  Program evolution: processes of software change , 1985 .

[15]  Victor R. Basili,et al.  Software errors and complexity: an empirical investigation , 1993 .

[16]  Harvey P. Siy,et al.  Predicting Fault Incidence Using Software Change History , 2000, IEEE Trans. Software Eng..

[17]  Norman F. Schneidewind,et al.  An Experiment in Software Error Data Collection and Analysis , 1979, IEEE Transactions on Software Engineering.

[18]  Dewayne E. Perry,et al.  Classification and evaluation of defects in a project retrospective , 2002, J. Syst. Softw..

[19]  Hoang Pham Software Reliability , 1999 .

[20]  Harvey P. Siy,et al.  Parallel changes in large scale software development: an observational case study , 1998, TSEM.

[21]  John B. Bowen Standard error classification to support software reliability assessment , 1980, AFIPS '80.

[22]  Albert Endres An analysis of errors and their causes in system programs , 1975 .

[23]  Bill Curtis,et al.  A field study of the software design process for large systems , 1988, CACM.

[24]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[25]  Michael R. Lyu,et al.  What is software reliability? , 1994, Proceedings of COMPASS'94 - 1994 IEEE 9th Annual Conference on Computer Assurance.

[26]  Dewayne E. Perry,et al.  A case study in root cause defect analysis , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[27]  Dewayne E. Perry,et al.  Parallel changes: detecting semantic interferences , 2005, 29th Annual International Computer Software and Applications Conference (COMPSAC'05).

[28]  P. Kidwell,et al.  The mythical man-month: Essays on software engineering , 1996, IEEE Annals of the History of Computing.

[29]  Albert Endres,et al.  An analysis of errors and their causes in system programs , 1975, IEEE Transactions on Software Engineering.

[30]  Elaine J. Weyuker,et al.  The distribution of faults in a large industrial software system , 2002, ISSTA '02.

[31]  Victor R. Basili,et al.  Software errors and complexity: an empirical investigation0 , 1984, CACM.

[32]  Dewayne E. Perry,et al.  Toward understanding the rhetoric of small source code changes , 2005, IEEE Transactions on Software Engineering.