{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,17]],"date-time":"2026-07-17T15:00:22Z","timestamp":1784300422741,"version":"3.55.0"},"reference-count":36,"publisher":"Springer Science and Business Media LLC","issue":"3","license":[{"start":{"date-parts":[[2019,3,16]],"date-time":"2019-03-16T00:00:00Z","timestamp":1552694400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2019,3,16]],"date-time":"2019-03-16T00:00:00Z","timestamp":1552694400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["J Comb Optim"],"published-print":{"date-parts":[[2021,10]]},"DOI":"10.1007\/s10878-019-00398-x","type":"journal-article","created":{"date-parts":[[2019,3,16]],"date-time":"2019-03-16T15:02:41Z","timestamp":1552748561000},"page":"409-426","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":8,"title":["A dynamic approach to detecting, eliminating and fixing memory leaks"],"prefix":"10.1007","volume":"42","author":[{"given":"Bin","family":"Yu","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Cong","family":"Tian","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Nan","family":"Zhang","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-2772-1433","authenticated-orcid":false,"given":"Zhenhua","family":"Duan","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Hongwei","family":"Du","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","published-online":{"date-parts":[[2019,3,16]]},"reference":[{"key":"398_CR1","doi-asserted-by":"crossref","unstructured":"Andrzejak A, Eichler F, Ghanavati M (2017) Detection of memory leaks in C\/C++ code via machine learning. In: IEEE international symposium on software reliability engineering workshops, IEEE, pp 252\u2013258","DOI":"10.1109\/ISSREW.2017.72"},{"issue":"7","key":"398_CR2","doi-asserted-by":"publisher","first-page":"775","DOI":"10.1002\/(SICI)1097-024X(200006)30:7<775::AID-SPE309>3.0.CO;2-H","volume":"30","author":"WR Bush","year":"2000","unstructured":"Bush WR, Pincus JD, Sielaff DJ (2000) A static analyzer for finding dynamic programming errors. Softw-Pract Exp 30(7):775\u2013802","journal-title":"Softw-Pract Exp"},{"key":"398_CR3","doi-asserted-by":"crossref","unstructured":"Cadar C, Engler D (2005) Execution generated test cases: how to make systems code crash itself. In: International SPIN workshop on model checking of software, Springer, pp 2\u201323","DOI":"10.1007\/11537328_2"},{"key":"398_CR4","unstructured":"Cadar C, Dunbar D, Engler DR, et\u00a0al (2008a) KLEE: unassisted and automatic generation of high-coverage tests for complex systems programs. In: USENIX symposium on operating systems design and implementation, pp 209\u2013224"},{"issue":"2","key":"398_CR5","doi-asserted-by":"publisher","first-page":"10:1","DOI":"10.1145\/1455518.1455522","volume":"12","author":"C Cadar","year":"2008","unstructured":"Cadar C, Ganesh V, Pawlowski PM, Dill DL, Engler DR (2008b) EXE: automatically generating inputs of death. ACM Trans Inf Syst Secur 12(2):10:1\u201310:38","journal-title":"ACM Trans Inf Syst Secur"},{"issue":"6","key":"398_CR6","doi-asserted-by":"publisher","first-page":"480","DOI":"10.1145\/1273442.1250789","volume":"42","author":"S Cherem","year":"2007","unstructured":"Cherem S, Princehouse L, Rugina R (2007) Practical memory leak detection using guarded value-flow analysis. SIGPLAN Not 42(6):480\u2013491","journal-title":"SIGPLAN Not"},{"key":"398_CR7","unstructured":"Chou AC (2003) Static analysis for bug finding in systems software. Ph.D. thesis, Stanford University"},{"key":"398_CR8","doi-asserted-by":"crossref","unstructured":"Clause J, Orso A (2010) LEAKPOINT: pinpointing the causes of memory leaks. In: ACM\/IEEE international conference on software engineering, ACM, pp 515\u2013524","DOI":"10.1145\/1806799.1806874"},{"key":"398_CR9","doi-asserted-by":"crossref","unstructured":"Clause J, Li W, Orso A (2007) Dytan: a generic dynamic taint analysis framework. In: International symposium on software testing and analysis, ACM, pp 196\u2013206","DOI":"10.1145\/1273463.1273490"},{"key":"398_CR10","doi-asserted-by":"publisher","DOI":"10.1007\/s10878-018-0328-0","author":"J Cui","year":"2018","unstructured":"Cui J, Tian C, Zhang N, Duan Z, Du H (2018) Verifying schedulability of tasks in ROS-based systems. J Comb Optim. https:\/\/doi.org\/10.1007\/s10878-018-0328-0","journal-title":"J Comb Optim"},{"key":"398_CR11","volume-title":"Temporal logic and temporal logic programming","author":"Z Duan","year":"2005","unstructured":"Duan Z (2005) Temporal logic and temporal logic programming. Science Press, Beijing"},{"issue":"5","key":"398_CR12","doi-asserted-by":"publisher","first-page":"44","DOI":"10.1145\/249069.231389","volume":"31","author":"D Evans","year":"1996","unstructured":"Evans D (1996) Static detection of dynamic memory errors. SIGPLAN Not 31(5):44\u201353","journal-title":"SIGPLAN Not"},{"issue":"3","key":"398_CR13","doi-asserted-by":"publisher","first-page":"860","DOI":"10.1007\/s10878-017-0229-7","volume":"35","author":"C Fu","year":"2018","unstructured":"Fu C, Chau V, Li M, Xue CJ (2018a) Race to idle or not: balancing the memory sleep time with dvs for energy minimization. J Comb Optim 35(3):860\u2013894","journal-title":"J Comb Optim"},{"key":"398_CR14","doi-asserted-by":"crossref","unstructured":"Fu S, Cui B, Guo T, Song X (2018b) C++ memory detection tool based on dynamic instrumentation. In: International conference on emerging internetworking, data & web technologies. Springer, pp 663\u2013674","DOI":"10.1007\/978-3-319-75928-9_59"},{"key":"398_CR15","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: ACM\/IEEE international conference on software engineering, IEEE, pp 459\u2013470","DOI":"10.1109\/ICSE.2015.64"},{"issue":"1","key":"398_CR16","doi-asserted-by":"publisher","first-page":"310","DOI":"10.1145\/1047659.1040331","volume":"40","author":"B Hackett","year":"2005","unstructured":"Hackett B, Rugina R (2005) Region-based shape analysis with tracked locations. SIGPLAN Not 40(1):310\u2013323","journal-title":"SIGPLAN Not"},{"key":"398_CR17","unstructured":"Hastings R, Joyce B (1992) Purify: fast detection of memory leaks and access errors. In: The winter 1992 USENIX conference, Citeseer, pp 125\u2013138"},{"issue":"11","key":"398_CR18","doi-asserted-by":"publisher","first-page":"156","DOI":"10.1145\/1037187.1024412","volume":"39","author":"M Hauswirth","year":"2004","unstructured":"Hauswirth M, Chilimbi TM (2004) Low-overhead memory leak detection using adaptive statistical profiling. SIGPLAN Not 39(11):156\u2013164","journal-title":"SIGPLAN Not"},{"issue":"5","key":"398_CR19","doi-asserted-by":"publisher","first-page":"168","DOI":"10.1145\/780822.781150","volume":"38","author":"DL Heine","year":"2003","unstructured":"Heine DL, Lam MS (2003) A practical flow-sensitive and context-sensitive C and C++ memory leak detector. SIGPLAN Not 38(5):168\u2013181","journal-title":"SIGPLAN Not"},{"issue":"109","key":"398_CR20","first-page":"7","volume":"2003","author":"G Insolvibile","year":"2003","unstructured":"Insolvibile G (2003) Advanced memory allocation. Linux J 2003(109):7","journal-title":"Linux J"},{"issue":"1","key":"398_CR21","doi-asserted-by":"publisher","first-page":"61","DOI":"10.1504\/IJES.2017.081723","volume":"9","author":"MM Joy","year":"2017","unstructured":"Joy MM, Rammig FJ (2017) A hybrid methodology to detect memory leaks in soft real-time embedded systems software. Int J Embed Syst 9(1):61\u201373","journal-title":"Int J Embed Syst"},{"issue":"1","key":"398_CR22","doi-asserted-by":"publisher","first-page":"31","DOI":"10.1145\/1190215.1190224","volume":"42","author":"M Jump","year":"2007","unstructured":"Jump M, McKinley KS (2007) Cork: dynamic memory leak detection for garbage-collected languages. SIGPLAN Not 42(1):31\u201338","journal-title":"SIGPLAN Not"},{"key":"398_CR23","doi-asserted-by":"crossref","unstructured":"Jung Y, Yi K (2008) Practical memory leak detector based on parameterized procedural summaries. In: International symposium on memory management, ACM, pp 131\u2013140","DOI":"10.1145\/1375634.1375653"},{"issue":"4","key":"398_CR24","doi-asserted-by":"publisher","first-page":"1550","DOI":"10.1007\/s10878-015-9840-7","volume":"31","author":"D Kim","year":"2016","unstructured":"Kim D, Wang W, Li D, Lee JL, Wu W, Tokuta AO (2016) A joint optimization of data ferry trajectories and communication powers of ground sensors for long-term environmental monitoring. J Comb Optim 31(4):1550\u20131568","journal-title":"J Comb Optim"},{"issue":"6","key":"398_CR25","doi-asserted-by":"publisher","first-page":"278","DOI":"10.1145\/1273442.1250766","volume":"42","author":"C Lattner","year":"2007","unstructured":"Lattner C, Lenharth A, Adve V (2007) Making context-sensitive points-to analysis with heap cloning practical for the real world. SIGPLAN Not 42(6):278\u2013289","journal-title":"SIGPLAN Not"},{"issue":"6","key":"398_CR26","doi-asserted-by":"publisher","first-page":"89","DOI":"10.1145\/1273442.1250746","volume":"42","author":"N Nethercote","year":"2007","unstructured":"Nethercote N, Seward J (2007) Valgrind: a framework for heavyweight dynamic binary instrumentation. SIGPLAN Not 42(6):89\u2013100","journal-title":"SIGPLAN Not"},{"key":"398_CR27","doi-asserted-by":"crossref","unstructured":"Nguyen HH, Rinard M (2007) Detecting and eliminating memory leaks using cyclic memory allocation. In: International symposium on memory management, ACM, pp 15\u201330","DOI":"10.1145\/1296907.1296912"},{"key":"398_CR28","doi-asserted-by":"crossref","unstructured":"Orlovich M, Rugina R (2006) Memory leak analysis by contradiction. In: International static analysis symposium, Springer, pp 405\u2013424","DOI":"10.1007\/11823230_26"},{"key":"398_CR29","doi-asserted-by":"crossref","unstructured":"Shingari D, Arunkumar A, Wu C (2015) Characterization and throttling-based mitigation of memory interference for heterogeneous smartphones. In: IEEE international symposium on workload characterization, IEEE, pp 22\u201333","DOI":"10.1109\/IISWC.2015.9"},{"key":"398_CR30","doi-asserted-by":"crossref","unstructured":"Sui Y, Ye D, Xue J (2012) Static memory leak detection using full-sparse value-flow analysis. In: International symposium on software testing and analysis, ACM, pp 254\u2013264","DOI":"10.1145\/2338965.2336784"},{"key":"398_CR31","doi-asserted-by":"publisher","DOI":"10.1007\/s10878-018-0343-1","author":"M Wang","year":"2018","unstructured":"Wang M, Tian C, Zhang N, Duan Z, Du H (2018) Verifying a scheduling protocol of safety-critical systems. J Comb Optim. https:\/\/doi.org\/10.1007\/s10878-018-0343-1","journal-title":"J Comb Optim"},{"key":"398_CR32","doi-asserted-by":"crossref","unstructured":"Xie Y, Aiken A (2005) Context-and path-sensitive memory leak detection. In: European software engineering conference held jointly with ACM SIGSOFT international symposium on foundations of software engineering, ACM, pp 115\u2013125","DOI":"10.1145\/1095430.1081728"},{"key":"398_CR33","doi-asserted-by":"publisher","first-page":"2","DOI":"10.1016\/j.tcs.2017.07.032","volume":"749","author":"K Yang","year":"2018","unstructured":"Yang K, Duan Z, Tian C, Zhang N (2018) A compiler for MSVL and its applications. Theor Comput Sci 749:2\u201316","journal-title":"Theor Comput Sci"},{"issue":"11","key":"398_CR34","doi-asserted-by":"publisher","first-page":"118,101","DOI":"10.1007\/s11432-015-0882-6","volume":"59","author":"N Zhang","year":"2016","unstructured":"Zhang N, Duan Z, Tian C (2016a) Model checking concurrent systems with MSVL. Sci China-Inf Sci 59(11):118,101","journal-title":"Sci China-Inf Sci"},{"issue":"2","key":"398_CR35","doi-asserted-by":"publisher","first-page":"577","DOI":"10.1007\/s10878-014-9776-3","volume":"31","author":"N Zhang","year":"2016","unstructured":"Zhang N, Yang M, Gu B, Duan Z, Tian C (2016b) Verifying safety critical task scheduling systems in PPTL axiom system. J Comb Optim 31(2):577\u2013603","journal-title":"J Comb Optim"},{"key":"398_CR36","doi-asserted-by":"crossref","unstructured":"Zhao JL, He L, He B (2016) C++ memory check tool based on dynamic binary instrumentation platform. In: International conference on broadband and wireless computing, communication and applications. Springer, pp 3\u201311","DOI":"10.1007\/978-3-319-49106-6_1"}],"container-title":["Journal of Combinatorial Optimization"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10878-019-00398-x.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s10878-019-00398-x\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10878-019-00398-x.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,10,30]],"date-time":"2021-10-30T06:30:51Z","timestamp":1635575451000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s10878-019-00398-x"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,3,16]]},"references-count":36,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2021,10]]}},"alternative-id":["398"],"URL":"https:\/\/doi.org\/10.1007\/s10878-019-00398-x","relation":{},"ISSN":["1382-6905","1573-2886"],"issn-type":[{"value":"1382-6905","type":"print"},{"value":"1573-2886","type":"electronic"}],"subject":[],"published":{"date-parts":[[2019,3,16]]},"assertion":[{"value":"16 March 2019","order":1,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}