Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1159733.1159739acmconferencesArticle/Chapter ViewAbstractPublication PagesesemConference Proceedingsconference-collections
Article

Predicting component failures at design time

Published: 21 September 2006 Publication History

Abstract

How do design decisions impact the quality of the resulting software? In an empirical study of 52 ECLIPSE plug-ins, we found that the software design as well as past failure history, can be used to build models which accurately predict failure-prone components in new programs. Our prediction only requires usage relationships between components, which are typically defined in the design phase; thus, designers can easily explore and assess design alternatives in terms of predicted quality. In the ECLIPSE study, 90% of the 5% most failure-prone components, as predicted by our model from design data, turned out to actually produce failures later; a random guess would have predicted only 33%.

References

[1]
J. Anvik, L. Hiew, and G. C. Murphy. Coping with an open bug repository. In Proceedings of eclipse Technology eXchange (eTX) Workshop at OOPSLA, Oct. 2005.
[2]
V. R. Basili, L. C. Briand, and W. L. Melo. A validation of object-oriented design metrics as quality indicators. IEEE Trans. Software Eng., 22(10):751--761, 1996.
[3]
A. B. Binkley and S. R. Schach. Validation of the coupling dependency metric as a predictor of run-time failures and maintenance measures. In Proceedings of the International Conference on Software Engineering, pages 452--455, Apr. 1998.
[4]
D. Cubranic. Project History as a Group Memory: Learning From the Past. PhD thesis, University of British Columbia, Canada, Dec. 2004.
[5]
D. Cubranic, G. C. Murphy, J. Singer, and K. S. Booth. Hipikat: A project memory for software development. IEEE Transactions on Software Engineering, 31(6):446--465, June 2005.
[6]
G. Denaro, S. Morasca, and M. Pezzè. Deriving models of software fault-proneness. In Proceedings of the International Conference on Software Engineering and Knowledge Engineering, pages 361--368, July 2002.
[7]
G. Denaro and M. Pezzè. An empirical evaluation of fault-proneness models. In Proceedings of the International Conference on Software Engineering (ICSE 2002), pages 241--251. ACM, May 2002.
[8]
N. E. Fenton and N. Ohlsson. Quantitative analysis of faults and failures in a complex software system. IEEE Trans. Software Eng., 26(8):797--814, 2000.
[9]
M. Fischer, M. Pinzger, and H. Gall. Analyzing and relating bug report data for feature tracking. In Proc. 10th Working Conference on Reverse Engineering (WCRE 2003), Victoria, British Columbia, Canada, Nov. 2003. IEEE.
[10]
M. Fischer, M. Pinzger, and H. Gall. Populating a release history database from version control and bug tracking systems. In Proc. International Conference on Software Maintenance (ICSM 2003), Amsterdam, Netherlands, Sept. 2003. IEEE.
[11]
T. L. Graves, A. F. Karr, J. S. Marron, and H. P. Siy. Predicting fault incidence using software change history. IEEE Trans. Software Eng., 26(7):653--661, 2000.
[12]
J. P. Hudepohl, S. J. Aud, T. M. Khoshgoftaar, E. B. Allen, and J. Mayrand. Emerald: Software metrics and models on the desktop. IEEE Software, 13(5):56--60, 1996.
[13]
T. M. Khoshgoftaar, E. B. Allen, N. Goel, A. Nandi, and J. McMullan. Detection of software modules with high debug code churn in a very large legacy system. In ISSRE '96: Proceedings of the The Seventh International Symposium on Software Reliability Engineering (ISSRE '96), page 364, Washington, DC, USA, 1996. IEEE Computer Society.
[14]
A. Mockus and L. G. Votta. Identifying reasons for software changes using historic databases. In Proc. International Conference on Software Maintenance (ICSM 2000), pages 120--130, San Jose, California, USA, Oct. 2000. IEEE.
[15]
A. Mockus, P. Zhang, and P. L. Li. Predictors of customer perceived software quality. In Proceedings of the International Conference on Software Engineering (ICSE 2005), pages 225--233. ACM, May 2005.
[16]
K.-H. Moller and D. Paulish. An empirical investigation of software fault distribution. In Proc. IEEE First International Software Metrics Symposium, pages 82--90, May 1993.
[17]
N. Nagappan and T. Ball. Use of relative code churn measures to predict system defect density. In Proceedings of the International Conference on Software Engineering (ICSE 2005), pages 284--292. ACM, May 2005.
[18]
N. Nagappan, T. Ball, and A. Zeller. Mining metrics to predict component failures. In Proceedings of the International Conference on Software Engineering (ICSE 2006). ACM, May 2006.
[19]
N. Ohlsson and H. Alberg. Predicting fault-prone software modules in telephone switches. IEEE Trans. Software Eng., 22(12):886--894, 1996.
[20]
T. J. Ostrand, E. J. Weyuker, and R. M. Bell. Predicting the location and number of faults in large software systems. IEEE Trans. Software Eng., 31(4):340--355, 2005.
[21]
J. Rivières. How to use the Eclipse API, May 2001. http://eclipse.org/articles/Article-API%20use/eclipse-apiusage-rules.html.
[22]
J. Sliwerski, T. Zimmermann, and A. Zeller. When do changes induce fixes? On Fridays. In Proc. International Workshop on Mining Software Repositories (MSR), St. Louis, Missouri, U.S., May 2005.
[23]
R. Subramanyam and M. S. Krishnan. Empirical analysis of ck metrics for object-oriented design complexity: Implications for software defects. IEEE Trans. Software Eng., 29(4):297--310, 2003.
[24]
The Bugzilla Team. The Bugzilla Guide - 2.18 Release, Jan. 2005. http://www.bugzilla.org/docs/2.18/html/.
[25]
T. Zimmermann and P. Weißgerber. Preprocessing CVS data for fine-grained analysis. In Proceedings of International Workshop on Mining Software Repositories (MSR 2004), pages 2--6, Edinburgh, Scotland, UK, May 2004.

Cited By

View all
  • (2025)Impact of methodological choices on the analysis of code metrics and maintenanceJournal of Systems and Software10.1016/j.jss.2024.112263220(112263)Online publication date: Feb-2025
  • (2024)Adaptive Bug Localization Framework for Precision-Driven Bug Localization in Software EngineeringVFAST Transactions on Software Engineering10.21015/vtse.v12i3.183212:3(230-242)Online publication date: 30-Sep-2024
  • (2024)Machine Learning-based Models for Predicting Defective PackagesProceedings of the 2024 8th International Conference on Machine Learning and Soft Computing10.1145/3647750.3647755(25-31)Online publication date: 26-Jan-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ISESE '06: Proceedings of the 2006 ACM/IEEE international symposium on Empirical software engineering
September 2006
388 pages
ISBN:1595932186
DOI:10.1145/1159733
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 21 September 2006

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

ISESE06
Sponsor:

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)15
  • Downloads (Last 6 weeks)4
Reflects downloads up to 08 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2025)Impact of methodological choices on the analysis of code metrics and maintenanceJournal of Systems and Software10.1016/j.jss.2024.112263220(112263)Online publication date: Feb-2025
  • (2024)Adaptive Bug Localization Framework for Precision-Driven Bug Localization in Software EngineeringVFAST Transactions on Software Engineering10.21015/vtse.v12i3.183212:3(230-242)Online publication date: 30-Sep-2024
  • (2024)Machine Learning-based Models for Predicting Defective PackagesProceedings of the 2024 8th International Conference on Machine Learning and Soft Computing10.1145/3647750.3647755(25-31)Online publication date: 26-Jan-2024
  • (2024)Review of Open Software Bug DatasetsInformation Systems and Technologies10.1007/978-3-031-45648-0_1(3-12)Online publication date: 14-Feb-2024
  • (2023)A Dynamic Attributes-driven Graph Attention Network Modeling on Behavioral Finance for Stock PredictionACM Transactions on Knowledge Discovery from Data10.1145/361131118:1(1-29)Online publication date: 6-Sep-2023
  • (2023)SAM: Query-efficient Adversarial Attacks against Graph Neural NetworksACM Transactions on Privacy and Security10.1145/361130726:4(1-19)Online publication date: 13-Nov-2023
  • (2023)(Nothing But) Many Eyes Make All Bugs ShallowProceedings of the 2023 Workshop on Software Supply Chain Offensive Research and Ecosystem Defenses10.1145/3605770.3625216(53-63)Online publication date: 30-Nov-2023
  • (2023)An Experimental Assessment of Using Theoretical Defect Predictors to Guide Search-Based Software TestingIEEE Transactions on Software Engineering10.1109/TSE.2022.314700849:1(131-146)Online publication date: 1-Jan-2023
  • (2023)A memetic algorithm for high‐strength covering array generationIET Software10.1049/sfw2.1213817:4(538-553)Online publication date: 12-Jul-2023
  • (2023)Just‐in‐time defect prediction enhanced by the joint method of line label fusion and file filteringIET Software10.1049/sfw2.1213117:4(378-391)Online publication date: 16-Jun-2023
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media