{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,23]],"date-time":"2026-02-23T17:49:02Z","timestamp":1771868942063,"version":"3.50.1"},"reference-count":68,"publisher":"Springer Science and Business Media LLC","issue":"1","license":[{"start":{"date-parts":[[2019,7,26]],"date-time":"2019-07-26T00:00:00Z","timestamp":1564099200000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2019,7,26]],"date-time":"2019-07-26T00:00:00Z","timestamp":1564099200000},"content-version":"vor","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Empir Software Eng"],"published-print":{"date-parts":[[2020,1]]},"DOI":"10.1007\/s10664-019-09731-8","type":"journal-article","created":{"date-parts":[[2019,7,26]],"date-time":"2019-07-26T11:02:52Z","timestamp":1564138972000},"page":"678-718","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":30,"title":["Memory and resource leak defects and their repairs in Java projects"],"prefix":"10.1007","volume":"25","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-2068-4254","authenticated-orcid":false,"given":"Mohammadreza","family":"Ghanavati","sequence":"first","affiliation":[]},{"given":"Diego","family":"Costa","sequence":"additional","affiliation":[]},{"given":"Janos","family":"Seboek","sequence":"additional","affiliation":[]},{"given":"David","family":"Lo","sequence":"additional","affiliation":[]},{"given":"Artur","family":"Andrzejak","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2019,7,26]]},"reference":[{"issue":"4","key":"9731_CR1","doi-asserted-by":"publisher","first-page":"555","DOI":"10.1162\/coli.07-034-R2","volume":"34","author":"R Artstein","year":"2008","unstructured":"Artstein R, Poesio M (2008) Inter-coder agreement for computational linguistics. Comput Linguist 34(4):555\u2013596. \nhttps:\/\/doi.org\/10.1162\/coli.07-034-R2","journal-title":"Comput Linguist"},{"issue":"5","key":"9731_CR2","doi-asserted-by":"publisher","first-page":"470","DOI":"10.1109\/TSE.2017.2689012","volume":"44","author":"A Banerjee","year":"2018","unstructured":"Banerjee A, Chong L K, Ballabriga C, Roychoudhury A (2018) Energypatch: Repairing resource leaks to improve energy-efficiency of android apps. IEEE Trans Softw Eng 44(5):470\u2013490. \nhttps:\/\/doi.org\/10.1109\/TSE.2017.2689012","journal-title":"IEEE Trans Softw Eng"},{"key":"9731_CR3","doi-asserted-by":"publisher","unstructured":"Bond M D, McKinley K S (2006) Bell: Bit-encoding online memory leak detection. In: Proceedings of the 12th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS XII, pp 61\u201372. \nhttps:\/\/doi.org\/10.1145\/1168857.1168866","DOI":"10.1145\/1168857.1168866"},{"key":"9731_CR4","doi-asserted-by":"publisher","unstructured":"Bond MD, McKinley KS (2008) Tolerating memory leaks. In: Proceedings of the 23rd ACM SIGPLAN Conference on Object-oriented Programming Systems Languages and Applications, OOPSLA \u201908, pp 109\u2013126. \nhttps:\/\/doi.org\/10.1145\/1449764.1449774","DOI":"10.1145\/1449764.1449774"},{"key":"9731_CR5","doi-asserted-by":"publisher","unstructured":"Bond M D, Mckinley KS (2009) Leak pruning. In: ACM Conference on architectural support for programming languages and operating systems (ASPLOS), ASPLOS XIV, pp 277\u2013288. \nhttps:\/\/doi.org\/10.1145\/1508244.1508277","DOI":"10.1145\/1508244.1508277"},{"key":"9731_CR6","doi-asserted-by":"publisher","unstructured":"Chen TH, Shang W, Yang J, Hassan AE, Godfrey MW, Nasser M, Flora P (2016) An empirical study on the practice of maintaining object-relational mapping code in java systems. In: Proceedings of the 13th International Conference on Mining Software Repositories, ACM, MSR \u201916, pp 165\u2013176. \nhttps:\/\/doi.org\/10.1145\/2901739.2901758","DOI":"10.1145\/2901739.2901758"},{"key":"9731_CR7","doi-asserted-by":"publisher","unstructured":"Cherem S, Rugina R (2004) Region analysis and transformation for java programs. In: Proceedings of the 4th International Symposium on Memory Management, ISMM \u201904, pp 85\u201396. \nhttps:\/\/doi.org\/10.1145\/1029873.1029884","DOI":"10.1145\/1029873.1029884"},{"key":"9731_CR8","doi-asserted-by":"publisher","unstructured":"Cherem S, Princehouse L, Rugina R (2007) Practical memory leak detection using guarded value-flow analysis. In: Proceedings of the 2007 ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI \u201907, pp 480\u2013491. \nhttps:\/\/doi.org\/10.1145\/1250734.1250789","DOI":"10.1145\/1250734.1250789"},{"key":"9731_CR9","doi-asserted-by":"publisher","unstructured":"Clause J, Orso A (2010) Leakpoint: Pinpointing the causes of memory leaks. In: Proceedings of the 32Nd ACM\/IEEE International Conference on Software Engineering - Volume 1, ICSE \u201910, pp 515\u2013524, \nhttps:\/\/doi.org\/10.1145\/1806799.1806874","DOI":"10.1145\/1806799.1806874"},{"issue":"1","key":"9731_CR10","doi-asserted-by":"publisher","first-page":"37","DOI":"10.1177\/001316446002000104","volume":"20","author":"J Cohen","year":"1960","unstructured":"Cohen J (1960) A coefficient of agreement for nominal scales. Educ Psychol Meas 20(1):37\u201346. \nhttps:\/\/doi.org\/10.1177\/001316446002000104","journal-title":"Educ Psychol Meas"},{"key":"9731_CR11","doi-asserted-by":"publisher","unstructured":"Dillig I, Dillig T, Yahav E, Chandra S (2008) The closer: Automating resource management in java. In: ACM International Symposium on Memory Management (ISMM), pp 1\u201310, \nhttps:\/\/doi.org\/10.1145\/1375634.1375636","DOI":"10.1145\/1375634.1375636"},{"key":"9731_CR12","doi-asserted-by":"publisher","unstructured":"Fang L, Dou L, Xu G H (2015) Perfblower: Quickly detecting memory-related performance problems via amplification. In: 29Th european conference on object-oriented programming, ECOOP 2015, Prague, Czech Republic, pp 296\u2013320. \nhttps:\/\/doi.org\/10.4230\/LIPIcs.ECOOP.2015.296","DOI":"10.4230\/LIPIcs.ECOOP.2015.296"},{"key":"9731_CR13","doi-asserted-by":"crossref","unstructured":"Gao Q, Xiong Y, Mi Y, Zhang L, Yang W, Zhou Z, Xie B, Mei H (2015) Safe memory-leak fixing for c programs. In: Proceedings of the 37th International Conference on Software Engineering - Volume 1, ICSE \u201915, pp 459\u2013470, \nhttp:\/\/dl.acm.org\/citation.cfm?id=2818754.2818812","DOI":"10.1109\/ICSE.2015.64"},{"key":"9731_CR14","doi-asserted-by":"publisher","unstructured":"Ghanavati M, Andrzejak A (2015) Automated memory leak diagnosis by regression testing. In: 2015 IEEE 15th International Working Conference on Source Code Analysis and Manipulation (SCAM), pp 191\u2013200, \nhttps:\/\/doi.org\/10.1109\/SCAM.2015.7335415","DOI":"10.1109\/SCAM.2015.7335415"},{"key":"9731_CR15","doi-asserted-by":"publisher","unstructured":"Ghanavati M, Costa D, Andrzejak A, Seboek J (2018) Memory and resource leak defects in java projects: An empirical study. In: Proceedings of the 38th International Conference on Software Engineering Companion, ICSE \u201918 Companion, pp 410\u2013411, \nhttps:\/\/doi.org\/10.1145\/3183440.3195032","DOI":"10.1145\/3183440.3195032"},{"key":"9731_CR16","doi-asserted-by":"publisher","unstructured":"Guo C, Zhang J, Yan J, Zhang Z, Zhang Y (2013) Characterizing and detecting resource leaks in android applications. In: Proceedings of the 28th IEEE\/ACM International Conference on Automated Software Engineering, ASE\u201913. IEEE Press, Piscataway, pp 389\u2013398, \nhttps:\/\/doi.org\/10.1109\/ASE.2013.6693097","DOI":"10.1109\/ASE.2013.6693097"},{"key":"9731_CR17","doi-asserted-by":"publisher","unstructured":"Hassan AE (2009) Predicting faults using the complexity of code changes. In: Proceedings of the 31st International Conference on Software Engineering, IEEE Computer Society, ICSE \u201909, pp 78\u201388, \nhttps:\/\/doi.org\/10.1109\/ICSE.2009.5070510","DOI":"10.1109\/ICSE.2009.5070510"},{"key":"9731_CR18","doi-asserted-by":"publisher","unstructured":"Hauswirth M, Chilimbi T M (2004) Low-overhead memory leak detection using adaptive statistical profiling. In: Proceedings of the 11th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS XI, pp 156\u2013164. \nhttps:\/\/doi.org\/10.1145\/1024393.1024412","DOI":"10.1145\/1024393.1024412"},{"key":"9731_CR19","doi-asserted-by":"publisher","unstructured":"Heine DL, Lam MS (2003) A practical flow-sensitive and context-sensitive c and c++ memory leak detector. In: Proceedings of the ACM SIGPLAN 2003 Conference on Programming Language Design and Implementation, PLDI \u201903, pp 168\u2013181. \nhttps:\/\/doi.org\/10.1145\/781131.781150","DOI":"10.1145\/781131.781150"},{"key":"9731_CR20","doi-asserted-by":"publisher","DOI":"10.1002\/9780470165171","volume-title":"Automated defect prevention: best practices in software management","author":"D Huizinga","year":"2007","unstructured":"Huizinga D, Kolawa A (2007) Automated defect prevention: best practices in software management. Wiley, USA"},{"key":"9731_CR21","doi-asserted-by":"crossref","unstructured":"Humphrey W (2000) The personal software process (psp). Tech. Rep. CMU\/SEI-2000-TR-022, Software Engineering Institute. Carnegie Mellon University, Pittsburgh. \nhttp:\/\/resources.sei.cmu.edu\/library\/asset-view.cfm?AssetID=5283","DOI":"10.21236\/ADA387024"},{"key":"9731_CR22","doi-asserted-by":"publisher","unstructured":"Jin G, Song L, Shi X, Scherpelz J, Lu S (2012a) Understanding and detecting real-world performance bugs. In: Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI \u201912, pp 77\u201388. \nhttps:\/\/doi.org\/10.1145\/2254064.2254075","DOI":"10.1145\/2254064.2254075"},{"key":"9731_CR23","doi-asserted-by":"publisher","unstructured":"Jin G, Song L, Shi X, Scherpelz J, Lu S (2012b) Understanding and detecting real-world performance bugs. In: Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI \u201912, pp 77\u201388. \nhttps:\/\/doi.org\/10.1145\/2254064.2254075","DOI":"10.1145\/2254064.2254075"},{"key":"9731_CR24","doi-asserted-by":"publisher","unstructured":"Jump M, McKinley KS (2007) Cork: Dynamic memory leak detection for garbage-collected languages. In: ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), pp 31\u201338. \nhttps:\/\/doi.org\/10.1145\/1190216.1190224","DOI":"10.1145\/1190216.1190224"},{"key":"9731_CR25","doi-asserted-by":"publisher","unstructured":"Jung C, Lee S, Raman E, Pande S (2014) Automated memory leak detection for production use. In: Proceedings of the 36th International Conference on Software Engineering, ICSE 2014, pp 825\u2013836. \nhttps:\/\/doi.org\/10.1145\/2568225.2568311","DOI":"10.1145\/2568225.2568311"},{"key":"9731_CR26","doi-asserted-by":"crossref","unstructured":"Kim D, Nam J, Song J, Kim S (2013) Automatic patch generation learned from human-written patches. In: Proceedings of the 2013 International Conference on Software Engineering, ICSE \u201913, pp 802\u2013811, \nhttp:\/\/dl.acm.org\/citation.cfm?id=2486788.2486893","DOI":"10.1109\/ICSE.2013.6606626"},{"key":"9731_CR27","unstructured":"Langner F, Andrzejak A (2013) Detecting software aging in a cloud computing framework by comparing development versions. In: IFIP\/IEEE Symposium on Integrated Network and Service Management (IM), pp 896\u2013899"},{"key":"9731_CR28","unstructured":"Le XBD, Lo D, Le Goues C (2016) History driven program repair. In: IEEE 23rd International Conference on Software Analysis, Evolution and Reengineering, IEEE, SANER \u201916"},{"key":"9731_CR29","doi-asserted-by":"publisher","unstructured":"Liu C, Yang J, Tan L, Hafiz M (2013) R2fix: Automatically generating bug fixes from bug reports. In: Proceedings of the 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation, ICST \u201913, pp 282\u2013291. \nhttps:\/\/doi.org\/10.1109\/ICST.2013.24","DOI":"10.1109\/ICST.2013.24"},{"key":"9731_CR30","doi-asserted-by":"publisher","unstructured":"Lo D, Nagappan N, Zimmermann T (2015) How practitioners perceive the relevance of software engineering research. In: Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering, ACM, New York, NY, USA, ESEC\/FSE 2015, pp 415\u2013425. \nhttps:\/\/doi.org\/10.1145\/2786805.2786809","DOI":"10.1145\/2786805.2786809"},{"key":"9731_CR31","doi-asserted-by":"publisher","unstructured":"Long F, Rinard M (2016) Automatic patch generation by learning correct code. In: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL \u201916, pp 298\u2013312. \nhttps:\/\/doi.org\/10.1145\/2837614.2837617","DOI":"10.1145\/2837614.2837617"},{"key":"9731_CR32","doi-asserted-by":"publisher","unstructured":"Machida F, Xiang J, Tadano K, Maeno Y (2012) Aging-related bugs in cloud computing software. In: Proceedings of the 2012 IEEE 23rd International Symposium on Software Reliability Engineering Workshops, ISSREW \u201912, pp 287\u2013292. \nhttps:\/\/doi.org\/10.1109\/ISSREW.2012.97","DOI":"10.1109\/ISSREW.2012.97"},{"key":"9731_CR33","doi-asserted-by":"publisher","unstructured":"Matias R, Andrzejak A, Machida F, Elias D, Trivedi K (2014) A systematic differential analysis for fast and robust detection of software aging. In: 2014 IEEE 33rd International Symposium on Reliable Distributed Systems, pp 311\u2013320. \nhttps:\/\/doi.org\/10.1109\/SRDS.2014.38","DOI":"10.1109\/SRDS.2014.38"},{"key":"9731_CR34","volume-title":"Code complete: a practical handbook of software construction","author":"S McConnell","year":"1993","unstructured":"McConnell S (1993) Code complete: a practical handbook of software construction. Microsoft Press, USA"},{"key":"9731_CR35","doi-asserted-by":"publisher","unstructured":"Mechtaev S, Yi J, Roychoudhury A (2016) Angelix: Scalable multiline program patch synthesis via symbolic analysis. In: Proceedings of the 38th International Conference on Software Engineering, ICSE \u201916, pp 691\u2013701. \nhttps:\/\/doi.org\/10.1145\/2884781.2884807","DOI":"10.1145\/2884781.2884807"},{"key":"9731_CR36","doi-asserted-by":"crossref","unstructured":"Meng N, Kim M, McKinley KS (2013) Lase: Locating and applying systematic edits by learning from examples. In: Proceedings of the 2013 International Conference on Software Engineering, ICSE \u201913. IEEE Press, Piscataway, pp 502\u2013511. \nhttp:\/\/dl.acm.org\/citation.cfm?id=2486788.2486855","DOI":"10.1109\/ICSE.2013.6606596"},{"key":"9731_CR37","doi-asserted-by":"crossref","unstructured":"Mitchell N, Sevitsky G (2003) Leakbot: An automated and lightweight tool for diagnosing memory leaks in large java applications. In: ECOOP 2003 \u2013 Object-Oriented Programming, pp 351\u2013377","DOI":"10.1007\/978-3-540-45070-2_16"},{"key":"9731_CR38","doi-asserted-by":"crossref","unstructured":"Nguyen HDT, Qi D, Roychoudhury A, Chandra S (2013) Semfix: Program repair via semantic analysis. In: Proceedings of the 2013 International Conference on Software Engineering, ICSE \u201913, pp 772\u2013781, \nhttp:\/\/dl.acm.org\/citation.cfm?id=2486788.2486890","DOI":"10.1109\/ICSE.2013.6606623"},{"key":"9731_CR39","doi-asserted-by":"crossref","unstructured":"Nguyen K, Wang K, Bu Y, Fang L, Hu J, Xu G (2015) Facade: A compiler and runtime for (almost) object-bounded big data applications. In: Proceedings of the Twentieth International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS \u201915, pp 675\u2013690","DOI":"10.1145\/2694344.2694345"},{"key":"9731_CR40","doi-asserted-by":"crossref","unstructured":"Nistor A, Jiang T, Tan L (2013) Discovering, reporting, and fixing performance bugs. In: Proceedings of the 10th Working Conference on Mining Software Repositories, MSR \u201913, pp 237\u2013246, \nhttp:\/\/dl.acm.org\/citation.cfm?id=2487085.2487134","DOI":"10.1109\/MSR.2013.6624035"},{"key":"9731_CR41","doi-asserted-by":"publisher","unstructured":"Novark G, Berger ED, Zorn BG (2009) Efficiently and precisely locating memory leaks and bloat. In: Proceedings of the 2009 ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI \u201909, pp 397\u2013407. \nhttps:\/\/doi.org\/10.1145\/1542476.1542521","DOI":"10.1145\/1542476.1542521"},{"key":"9731_CR42","doi-asserted-by":"publisher","unstructured":"Orlovich M, Rugina R (2006) Memory leak analysis by contradiction. In: Proceedings of the 13th International Conference on Static Analysis, SAS\u201906, pp 405\u2013424. \nhttps:\/\/doi.org\/10.1007\/11823230_26","DOI":"10.1007\/11823230_26"},{"key":"9731_CR43","doi-asserted-by":"publisher","unstructured":"Pan K, Kim S, Whitehead Jr EJ (2009) Toward an understanding of bug fix patterns. Empirical Softw Engg 14(3):286\u2013315. \nhttps:\/\/doi.org\/10.1007\/s10664-008-9077-5","DOI":"10.1007\/s10664-008-9077-5"},{"key":"9731_CR44","unstructured":"Plumbr (2017) \nhttps:\/\/plumbr.eu\/blog\n\n, accessed: 2017-02-01"},{"key":"9731_CR45","doi-asserted-by":"crossref","unstructured":"Rayside D, Mendel L (2007) Object ownership profiling: A technique for finding and fixing memory leaks. In: Proceedings of the Twenty-second IEEE\/ACM International Conference on Automated Software Engineering, ASE \u201907, pp 194\u2013203","DOI":"10.1145\/1321631.1321661"},{"issue":"4","key":"9731_CR46","doi-asserted-by":"publisher","first-page":"557","DOI":"10.1109\/32.799955","volume":"25","author":"CB Seaman","year":"1999","unstructured":"Seaman C B (1999) Qualitative methods in empirical studies of software engineering. IEEE Trans Softw Eng 25(4):557\u2013572. \nhttps:\/\/doi.org\/10.1109\/32.799955","journal-title":"IEEE Trans Softw Eng"},{"key":"9731_CR47","doi-asserted-by":"publisher","unstructured":"Seaman CB, Shull F, Regardie M, Elbert D, Feldmann RL, Guo Y, Godfrey S (2008) Defect categorization: Making use of a decade of widely varying historical data. In: Proceedings of the Second ACM-IEEE International Symposium on Empirical Software Engineering and Measurement, ESEM \u201908, pp 149\u2013157. \nhttps:\/\/doi.org\/10.1145\/1414004.1414030","DOI":"10.1145\/1414004.1414030"},{"key":"9731_CR48","doi-asserted-by":"publisher","unstructured":"Selakovic M, Pradel M (2016) Performance issues and optimizations in javascript: An empirical study. In: Proceedings of the 38th International Conference on Software Engineering, ACM, New York, NY, USA, ICSE \u201916, pp 61\u201372. \nhttps:\/\/doi.org\/10.1145\/2884781.2884829","DOI":"10.1145\/2884781.2884829"},{"key":"9731_CR49","doi-asserted-by":"crossref","unstructured":"Shaham R, Yahav E, Kolodner EK, Sagiv M (2003) Establishing local temporal heap safety properties with applications to compile-time memory management. In: Proceedings of the 10th International Conference on Static Analysis, SAS\u201903, pp 483\u2013503, \nhttp:\/\/dl.acm.org\/citation.cfm?id=1760267.1760304","DOI":"10.1007\/3-540-44898-5_27"},{"key":"9731_CR50","volume-title":"Software engineering","author":"I Sommerville","year":"2010","unstructured":"Sommerville I (2010) Software engineering, 9th edn. Addison-Wesley Publishing Company, USA","edition":"9th edn."},{"key":"9731_CR51","doi-asserted-by":"publisher","unstructured":"Song L, Lu S (2014) Statistical debugging for real-world performance problems. In: Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications, OOPSLA \u201914, pp 561\u2013578. \nhttps:\/\/doi.org\/10.1145\/2660193.2660234","DOI":"10.1145\/2660193.2660234"},{"key":"9731_CR52","doi-asserted-by":"publisher","unstructured":"Sor V, O\u00fc P, Treier T, Srirama SN (2013) Improving statistical approach for memory leak detection using machine learning. In: 2013 IEEE International Conference on Software Maintenance, pp 544\u2013547. \nhttps:\/\/doi.org\/10.1109\/ICSM.2013.92","DOI":"10.1109\/ICSM.2013.92"},{"issue":"6","key":"9731_CR53","doi-asserted-by":"publisher","first-page":"1665","DOI":"10.1007\/s10664-013-9258-8","volume":"19","author":"L Tan","year":"2014","unstructured":"Tan L, Liu C, Li Z, Wang X, Zhou Y, Zhai C (2014) Bug characteristics in open source software. Empirical Softw Engg 19(6):1665\u20131705. \nhttps:\/\/doi.org\/10.1007\/s10664-013-9258-8","journal-title":"Empirical Softw Engg"},{"key":"9731_CR54","doi-asserted-by":"publisher","unstructured":"van Tonder R, Goues CL (2018) Static automated program repair for heap properties. In: Proceedings of the 40th International Conference on Software Engineering, ICSE \u201918. ACM, New York, pp 151\u2013162. \nhttps:\/\/doi.org\/10.1145\/3180155.3180250","DOI":"10.1145\/3180155.3180250"},{"key":"9731_CR55","doi-asserted-by":"publisher","unstructured":"Torlak E, Chandra S (2010) Effective interprocedural resource leak detection. In: Proceedings of the 32Nd ACM\/IEEE International Conference on Software Engineering - Volume 1, ICSE \u201910, pp 535\u2013544, \nhttps:\/\/doi.org\/10.1145\/1806799.1806876","DOI":"10.1145\/1806799.1806876"},{"key":"9731_CR56","doi-asserted-by":"publisher","unstructured":"Weimer W, Necula GC (2004) Finding and preventing run-time error handling mistakes. In: Proceedings of the 19th Annual ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications, OOPSLA \u201904. ACM, New York, pp 419\u2013431. \nhttps:\/\/doi.org\/10.1145\/1028976.1029011","DOI":"10.1145\/1028976.1029011"},{"key":"9731_CR57","doi-asserted-by":"publisher","unstructured":"Weimer W, Necula GC (2005) Mining temporal specifications for error detection. In: Proceedings of the 11th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, Springer-Verlag, Berlin, Heidelberg, TACAS\u201905, pp 461\u2013476. \nhttps:\/\/doi.org\/10.1007\/978-3-540-31980-1_30","DOI":"10.1007\/978-3-540-31980-1_30"},{"key":"9731_CR58","doi-asserted-by":"publisher","unstructured":"Weimer W, Nguyen T, Le Goues C, Forrest S (2009) Automatically finding patches using genetic programming. In: Proceedings of the 31st International Conference on Software Engineering, ICSE \u201909, pp 364\u2013374. \nhttps:\/\/doi.org\/10.1109\/ICSE.2009.5070536","DOI":"10.1109\/ICSE.2009.5070536"},{"key":"9731_CR59","doi-asserted-by":"publisher","unstructured":"Wu R, Zhang H, Kim S, Cheung SC (2011) Relink: Recovering links between bugs and changes. In: Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, ESEC\/FSE \u201911, pp 15\u201325. \nhttps:\/\/doi.org\/10.1145\/2025113.2025120","DOI":"10.1145\/2025113.2025120"},{"key":"9731_CR60","doi-asserted-by":"publisher","unstructured":"Xie Y, Aiken A (2005) Context- and path-sensitive memory leak detection. In: Proceedings of the 10th European Software Engineering Conference Held Jointly with 13th ACM SIGSOFT International Symposium on Foundations of Software Engineering, ESEC\/FSE-13, pp 115\u2013125. \nhttps:\/\/doi.org\/10.1145\/1081706.1081728","DOI":"10.1145\/1081706.1081728"},{"key":"9731_CR61","doi-asserted-by":"publisher","unstructured":"Xu G, Rountev A (2008) Precise memory leak detection for java software using container profiling. In: Proceedings of the 30th International Conference on Software Engineering, ICSE \u201908, pp 151\u2013160. \nhttps:\/\/doi.org\/10.1145\/1368088.1368110","DOI":"10.1145\/1368088.1368110"},{"key":"9731_CR62","doi-asserted-by":"publisher","unstructured":"Xu G, Mitchell N, Arnold M, Rountev A, Sevitsky G (2010) Software bloat analysis: Finding, removing, and preventing performance problems in modern large-scale object-oriented applications. In: FSE\/SDP Workshop on Future of Software Engineering Research (FoSER), pp 421\u2013426. \nhttps:\/\/doi.org\/10.1145\/1882362.1882448","DOI":"10.1145\/1882362.1882448"},{"key":"9731_CR63","doi-asserted-by":"publisher","unstructured":"Xu G, Bond MD, Qin F, Rountev A (2011) Leakchaser: Helping programmers narrow down causes of memory leaks. In: Proceedings of the 32Nd ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI \u201911, pp 270\u2013282. \nhttps:\/\/doi.org\/10.1145\/1993498.1993530","DOI":"10.1145\/1993498.1993530"},{"issue":"3","key":"9731_CR64","doi-asserted-by":"publisher","first-page":"17,1","DOI":"10.1145\/2491509.2491511","volume":"22","author":"G Xu","year":"2013","unstructured":"Xu G, Rountev A (2013) Precise memory leak detection for java software using container profiling. ACM Trans Softw Eng Methodol 22(3):17,1\u201317,28. \nhttps:\/\/doi.org\/10.1145\/2491509.2491511","journal-title":"ACM Trans Softw Eng Methodol"},{"key":"9731_CR65","doi-asserted-by":"publisher","unstructured":"Yan D, Xu G, Yang S, Rountev A (2014) Leakchecker: Practical static memory leak detection for managed languages. In: Proceedings of Annual IEEE\/ACM International Symposium on Code Generation and Optimization, CGO \u201914, pp 87:87\u201387:97. \nhttps:\/\/doi.org\/10.1145\/2544137.2544151","DOI":"10.1145\/2544137.2544151"},{"key":"9731_CR66","doi-asserted-by":"publisher","unstructured":"Yan H, Sui Y, Chen S, Xue J (2016) Automated memory leak fixing on value-flow slices for c programs. In: Proceedings of the 31st Annual ACM Symposium on Applied Computing, SAC \u201916, pp 1386\u20131393. \nhttps:\/\/doi.org\/10.1145\/2851613.2851773","DOI":"10.1145\/2851613.2851773"},{"key":"9731_CR67","doi-asserted-by":"publisher","unstructured":"Yin Z, Yuan D, Zhou Y, Pasupathy S, Bairavasundaram L (2011) How do fixes become bugs? In: Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, ESEC\/FSE \u201911. ACM, New York, pp 26\u201336. \nhttps:\/\/doi.org\/10.1145\/2025113.2025121","DOI":"10.1145\/2025113.2025121"},{"key":"9731_CR68","doi-asserted-by":"crossref","unstructured":"Zhong H, Su Z (2015) An empirical study on real bug fixes. In: Proceedings of the 37th International Conference on Software Engineering - Volume 1, ICSE \u201915, pp 913\u2013923, \nhttp:\/\/dl.acm.org\/citation.cfm?id=2818754.2818864","DOI":"10.1109\/ICSE.2015.101"}],"container-title":["Empirical Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-019-09731-8.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s10664-019-09731-8\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-019-09731-8.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2020,7,24]],"date-time":"2020-07-24T23:20:30Z","timestamp":1595632830000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s10664-019-09731-8"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,7,26]]},"references-count":68,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2020,1]]}},"alternative-id":["9731"],"URL":"https:\/\/doi.org\/10.1007\/s10664-019-09731-8","relation":{},"ISSN":["1382-3256","1573-7616"],"issn-type":[{"value":"1382-3256","type":"print"},{"value":"1573-7616","type":"electronic"}],"subject":[],"published":{"date-parts":[[2019,7,26]]},"assertion":[{"value":"26 July 2019","order":1,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}