Software system testing and quality assurance
Software system testing and quality assurance
Software errors and complexity: an empirical investigation0
Communications of the ACM
Software—Practice & Experience
Perturbation Techniques for Detecting Domain Errors
IEEE Transactions on Software Engineering
Orthogonal Defect Classification-A Concept for In-Process Measurements
IEEE Transactions on Software Engineering - Special issue on software measurement principles, techniques, and environments
A semantic model of program faults
ISSTA '96 Proceedings of the 1996 ACM SIGSOFT international symposium on Software testing and analysis
An approach to fault modeling and fault seeding using the program dependence graph
Journal of Systems and Software
Further empirical studies of test effectiveness
SIGSOFT '98/FSE-6 Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering
A controlled experiment in program testing and code walkthroughs/inspections
Communications of the ACM
Testing Computer Software
Software Faults in Evolving a Large, Real-Time System: a Case Study
ESEC '93 Proceedings of the 4th European Software Engineering Conference on Software Engineering
A Criticism on the Capture-and-Recapture Method for Software Reliability Assurance
APSEC '95 Proceedings of the Second Asia Pacific Software Engineering Conference
Toward a theory of test data selection
Proceedings of the international conference on Reliable software
Empirical Evaluation of the Textual Differencing Regression Testing Technique
ICSM '98 Proceedings of the International Conference on Software Maintenance
An experimental analysis of program verification methods.
An experimental analysis of program verification methods.
Reviewing 25 Years of Testing Technique Experiments
Empirical Software Engineering
ISESE '04 Proceedings of the 2004 International Symposium on Empirical Software Engineering
Assuring Fault Classification Agreement " An Empirical Evaluation
ISESE '04 Proceedings of the 2004 International Symposium on Empirical Software Engineering
Is mutation an appropriate tool for testing experiments?
Proceedings of the 27th international conference on Software engineering
Predicting the Location and Number of Faults in Large Software Systems
IEEE Transactions on Software Engineering
A Comprehensive Model for Software Rejuvenation
IEEE Transactions on Dependable and Secure Computing
Revisiting the problem of using problem reports for quality assessment
Proceedings of the 2006 international workshop on Software quality
MATRIX: Maintenance-Oriented Testing Requirements Identifier and Examiner
TAIC-PART '06 Proceedings of the Testing: Academic & Industrial Conference on Practice And Research Techniques
A Framework for Comparing Efficiency, Effectiveness and Applicability of Software Testing Techniques
TAIC-PART '06 Proceedings of the Testing: Academic & Industrial Conference on Practice And Research Techniques
Reliability of the Path Analysis Testing Strategy
IEEE Transactions on Software Engineering
A Case Study of Defect Introduction Mechanisms
CAiSE '09 Proceedings of the 21st International Conference on Advanced Information Systems Engineering
Hi-index | 0.00 |
The interrelationship between software faults and failures is quite intricate and obtaining a meaningful characterization of it would definitely help the testing community in deciding on efficient and effective test strategies. Towards this objective, we have investigated and classified failures observed in a large complex telecommunication industry middleware system during 2003- 2006. In this paper, we describe the process used in our study for tracking faults from failures along with the details of failure data. We present the distribution and frequency of the failures along with some interesting findings unravelled while analyzing the origins of these failures. Firstly, though "simple" faults happen, together they account for only less than 10%. The majority of faults come from either missing code or path, or superfluous code, which are all faults that manifest themselves for the first time at integration/system level; not at component level. These faults are more frequent in the early versions of the software, and could very well be attributed to the difficulties in comprehending and specifying the context (and adjacent code) and its dependencies well enough, in a large complex system with time to market pressures. This exposes the limitations of component testing in such complex systems and underlines the need for allocating more resources for higher level integration and system testing.