{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,9,14]],"date-time":"2023-09-14T07:16:15Z","timestamp":1694675775761},"reference-count":32,"publisher":"Wiley","issue":"8","license":[{"start":{"date-parts":[[2013,10,7]],"date-time":"2013-10-07T00:00:00Z","timestamp":1381104000000},"content-version":"vor","delay-in-days":0,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"funder":[{"name":"NASA IV&V Fairmont, WV","award":["SARP"]},{"name":"NSF","award":["CCF-0916284"]},{"name":"NSF (WVU ADVANCE sponsorship)","award":["HRD-100797"]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Software Testing Verif & Rel"],"published-print":{"date-parts":[[2014,9]]},"abstract":"SUMMARY<\/jats:title>Many papers have been published on analysis and prediction of software faults and\/or failures, but few addressed the software fixes made to correct the faults and prevent failures from reoccurring. This paper contributes towards filling this gap by focusing on empirical characterization of software fixes. The results are based on the data extracted from a safety\u2013critical NASA mission. In particular, 21 large\u2010scale software components (which together constitute over 8000 files and millions of lines of code) were analysed. The unique characteristic of this work is the fact that links were established from software faults (i.e. the root causes) to (potential or observed) failures and consequently to fixes made to correct these faults. Specifically, for the fixes associated with individual failures, the spread across software components and types of software artifacts being fixed was studied. Our results showed that significant number of software failures required fixes in multiple software components and\/or multiple software artifacts (i.e. 15% and 26%, respectively). The results also showed that the patterns of software components that were often fixed together were significantly affected by the software architecture. Furthermore, the types of fixed software artifacts were highly correlated with fault type and they had different distributions for prerelease and post\u2010release failures. Copyright \u00a9 2013 John Wiley & Sons, Ltd.<\/jats:p>","DOI":"10.1002\/stvr.1518","type":"journal-article","created":{"date-parts":[[2013,10,12]],"date-time":"2013-10-12T02:16:08Z","timestamp":1381544168000},"page":"684-705","source":"Crossref","is-referenced-by-count":5,"title":["Exploring the missing link: an empirical study of software fixes"],"prefix":"10.1002","volume":"24","author":[{"given":"Maggie","family":"Hamill","sequence":"first","affiliation":[{"name":"Department of Electrical Engineering and Computer Science Northern Arizona University Flagstaff, AZ USA"}]},{"given":"Katerina","family":"Goseva\u2010Popstojanova","sequence":"additional","affiliation":[{"name":"Lane Department of Computer Science and Electrical Engineering West Virginia University Morgantown, WV USA"}]}],"member":"311","published-online":{"date-parts":[[2013,10,7]]},"reference":[{"key":"e_1_2_11_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/TDSC.2004.2"},{"key":"e_1_2_11_3_1","unstructured":"IEEE standard glossary of software engineering terminology 1990. IEEE Std 610.12\u20101990."},{"key":"e_1_2_11_4_1","unstructured":"Systems and software engineering vocabulary 2010. ISO\/IEC\/IEEE 24765."},{"key":"e_1_2_11_5_1","doi-asserted-by":"crossref","unstructured":"EldhS PunnekkatS HanssonH JonssonP.Component testing is not enough \u2010 a study of software faults in telecom middleware.Testing of Software and Communicting Systems LNCS 4581 Ottawa Canada 2007;74\u201389.","DOI":"10.1007\/978-3-540-73066-8_6"},{"key":"e_1_2_11_6_1","doi-asserted-by":"crossref","unstructured":"ZimmermannT PremrajR ZellerA.Predicting defects for Eclipse.3rd International Workshop on Predictor Models in Software Engineering Minneapolis MN 2007;9\u201316.","DOI":"10.1109\/PROMISE.2007.10"},{"key":"e_1_2_11_7_1","doi-asserted-by":"crossref","unstructured":"OstrandTJ WeyukerEJ.The distribution of faults in a large industrial software system.2002 ACM SIGSOFT International Symposium on Software Testing and Analysis Roma Italy 2002;55\u201364.","DOI":"10.1145\/566172.566181"},{"key":"e_1_2_11_8_1","unstructured":"Goseva\u2010PopstojanovaK HamillM PerugupalliR.Large empirical case study of architecture\u2010based software reliability.16th IEEE International Symposium on Software Reliability Engineering Chicago Illinois 2005;43\u201352."},{"key":"e_1_2_11_9_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.879815"},{"key":"e_1_2_11_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2007.1005"},{"key":"e_1_2_11_11_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2005.49"},{"key":"e_1_2_11_12_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2009.06.055"},{"key":"e_1_2_11_13_1","doi-asserted-by":"crossref","unstructured":"DevineT Goseva\u2010PopstajanovaK KrishnanS LutzRR LiJJ.An empirical study of pre\u2010release software faults in an industrial product line.IEEE International Conference on Software Testing Verification and Validation Montreal QC 2012;181\u2013190.","DOI":"10.1109\/ICST.2012.98"},{"key":"e_1_2_11_14_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2011.103"},{"key":"e_1_2_11_15_1","doi-asserted-by":"crossref","unstructured":"OffuttAJ HayesJH.A semantic model of program faults.1996 ACM SIGSOFT International Symposium on Software Testing and Analysis Mission Beach CA 1996;195\u2013200.","DOI":"10.1145\/229000.226317"},{"key":"e_1_2_11_16_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0166-5316(01)00034-7"},{"key":"e_1_2_11_17_1","unstructured":"ChristmanssonJ ChillaregeR.Generation of an error set that emulates software faults based on field data.26th International Symposium on Fault\u2010Tolerant Computing Sendai Japan 1996;304\u2013313."},{"key":"e_1_2_11_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2006.113"},{"key":"e_1_2_11_19_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2009.3"},{"key":"e_1_2_11_20_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0164-1212(01)00146-7"},{"key":"e_1_2_11_21_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2004.1271171"},{"key":"e_1_2_11_22_1","doi-asserted-by":"publisher","DOI":"10.1002\/bltj.2101"},{"key":"e_1_2_11_23_1","doi-asserted-by":"crossref","unstructured":"SherriffM LakeM WilliamsL.Prioritization of regression tests using singular value decomposition with empirical change records.18th IEEE International Symposium on Software Reliability Denver CO 2007;81\u201390.","DOI":"10.1109\/ISSRE.2007.25"},{"key":"e_1_2_11_24_1","unstructured":"CanforaG CeruloL.How softwarerepositories can help in resolving a new change request.Workshop on Empirical Studies in Reverse Engineering Budapest Hungary 2005;61\u201364."},{"key":"e_1_2_11_25_1","doi-asserted-by":"crossref","unstructured":"CanforaG CeruloL.Supporting change request assignment in open source developement.2006 ACM Symposium on Applied Computing Taichung Taiwan 2006;1767\u20131772.","DOI":"10.1145\/1141277.1141693"},{"key":"e_1_2_11_26_1","unstructured":"AbdelmoezW ShereshevskyM GunnalanR AmmarH YuB BogazziS KorkmazM MiliA.Quantifying software architectures: an analysis of change propagation probabilities.3rd ACS\/IEEE International Conference on Computer Systems and Applications Cairo Egypt 2005;124\u2013131."},{"key":"e_1_2_11_27_1","doi-asserted-by":"crossref","unstructured":"ZimmermannT NagappanN.Predicting subsystem failures using dependency graph complexities.18th IEEE International Symposium on Software Reliability Engineering Trollhattan Sweden 2007;227\u2013236.","DOI":"10.1109\/ISSRE.2007.19"},{"key":"e_1_2_11_28_1","doi-asserted-by":"crossref","unstructured":"ZimmermannT NagappanN.Predicting defects using network analysis on dependency graphs.30th International Conference on Software Engineering Leipzig Germany 2008;531\u2013540.","DOI":"10.1145\/1368088.1368161"},{"key":"e_1_2_11_29_1","doi-asserted-by":"crossref","unstructured":"BirdC NagappanN DevanbuP GallH MurphyB.Putting it all together: using socio\u2010technical networks to predict failures.20th IEEE International Symposium on Software Reliability Engineering Mysuru India 2009;109\u2013119.","DOI":"10.1109\/ISSRE.2009.17"},{"key":"e_1_2_11_30_1","first-page":"359","volume-title":"Handbook of Software Reliability Engineering","author":"Chillarege R","year":"1996"},{"key":"e_1_2_11_31_1","volume-title":"Nonparametric Statistics for the Behavioral Sciences","author":"Siegel S","year":"1988"},{"key":"e_1_2_11_32_1","doi-asserted-by":"publisher","DOI":"10.1109\/MS.2004.1270757"},{"key":"e_1_2_11_33_1","doi-asserted-by":"publisher","DOI":"10.4135\/9781849208604"}],"container-title":["Software Testing, Verification and Reliability"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fstvr.1518","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/stvr.1518","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,9,13]],"date-time":"2023-09-13T18:05:32Z","timestamp":1694628332000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/stvr.1518"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2013,10,7]]},"references-count":32,"journal-issue":{"issue":"8","published-print":{"date-parts":[[2014,9]]}},"alternative-id":["10.1002\/stvr.1518"],"URL":"https:\/\/doi.org\/10.1002\/stvr.1518","archive":["Portico"],"relation":{},"ISSN":["0960-0833","1099-1689"],"issn-type":[{"value":"0960-0833","type":"print"},{"value":"1099-1689","type":"electronic"}],"subject":[],"published":{"date-parts":[[2013,10,7]]}}}