{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,17]],"date-time":"2026-03-17T18:51:50Z","timestamp":1773773510993,"version":"3.50.1"},"publisher-location":"Cham","reference-count":39,"publisher":"Springer International Publishing","isbn-type":[{"value":"9783319234038","type":"print"},{"value":"9783319234045","type":"electronic"}],"license":[{"start":{"date-parts":[[2015,1,1]],"date-time":"2015-01-01T00:00:00Z","timestamp":1420070400000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2015]]},"DOI":"10.1007\/978-3-319-23404-5_13","type":"book-chapter","created":{"date-parts":[[2015,8,26]],"date-time":"2015-08-26T00:57:19Z","timestamp":1440550639000},"page":"179-199","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":10,"title":["PickLock: A Deadlock Prediction Approach under Nested Locking"],"prefix":"10.1007","author":[{"given":"Francesco","family":"Sorrentino","sequence":"first","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2015,8,27]]},"reference":[{"key":"13_CR1","unstructured":"http:\/\/jlint.sourceforge.net\/"},{"key":"13_CR2","unstructured":"http:\/\/commons.apache.org\/dbcp"},{"key":"13_CR3","unstructured":"http:\/\/jakarta.apache.org\/bcel"},{"key":"13_CR4","unstructured":"http:\/\/commons.apache.org"},{"key":"13_CR5","unstructured":"http:\/\/www.hedc.ethz.ch"},{"key":"13_CR6","unstructured":"http:\/\/acs.lbl.gov\/hoschek\/colt"},{"key":"13_CR7","unstructured":"http:\/\/mina.apache.org\/ftpserver"},{"key":"13_CR8","unstructured":"http:\/\/www.javagrande.org\/"},{"key":"13_CR9","unstructured":"http:\/\/weblech.sourceforge.net"},{"issue":"5","key":"13_CR10","doi-asserted-by":"publisher","first-page":"520","DOI":"10.1147\/JRD.2010.2060276","volume":"54","author":"R Agarwal","year":"2010","unstructured":"Agarwal, R., Bensalem, S., Farchi, E., Havelund, K., Nir-Buchbinder, Y., Stoller, S.D., Ur, S., Wang, L.: Detection of deadlock potentials in multi-threaded programs. IBM J. Res. Dev. 54(5), 520\u2013534 (2010)","journal-title":"IBM J. Res. Dev."},{"key":"13_CR11","doi-asserted-by":"crossref","unstructured":"Agarwal, R., Stoller, S.D.: Run-time detection of potential deadlocks for programs with locks, semaphores, and condition variables. In: PADTAD, pp. 51\u201360 (2006)","DOI":"10.1145\/1147403.1147413"},{"key":"13_CR12","doi-asserted-by":"crossref","unstructured":"Agarwal, R., Wang, L., Stoller, S.D.: Detecting potential deadlocks with static analysis and runtime monitoring. In: PADTAD, pp. 191\u2013207 (2005)","DOI":"10.1007\/11678779_14"},{"key":"13_CR13","doi-asserted-by":"crossref","unstructured":"Artho, C., Biere, A.: Applying static analysis to large-scale, multi-threaded java programs. In: Australian Software Engineering Conference, pp. 68\u201375 (2001)","DOI":"10.1109\/ASWEC.2001.948499"},{"key":"13_CR14","doi-asserted-by":"crossref","unstructured":"Bensalem, S., Fernandez, J.C., Havelund, K., Mounier, L.: Confirmation of deadlock potentials detected by runtime analysis. In: PADTAD, pp. 41\u201350 (2006)","DOI":"10.1145\/1147403.1147412"},{"key":"13_CR15","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"208","DOI":"10.1007\/11678779_15","volume-title":"Hardware and Software, Verification and Testing","author":"S Bensalem","year":"2006","unstructured":"Bensalem, S., Havelund, K.: Dynamic deadlock analysis of multi-threaded programs. In: Ur, S., Bin, E., Wolfsthal, Y. (eds.) HVC 2005. LNCS, vol. 3875, pp. 208\u2013223. Springer, Heidelberg (2006)"},{"key":"13_CR16","doi-asserted-by":"crossref","unstructured":"Cai, Y., Chan, W.K.: MagicFuzzer: Scalable deadlock detection for large-scale applications. In: ICSE, pp. 606\u2013616 (2012)","DOI":"10.1109\/ICSE.2012.6227156"},{"key":"13_CR17","doi-asserted-by":"crossref","unstructured":"Chen, F., Farzan, A., Meseguer, J., Rosu, G.: Formal analysis of java programs in javafan. In: CAV, pp. 501\u2013505 (2004)","DOI":"10.1007\/978-3-540-27813-9_46"},{"issue":"7","key":"13_CR18","doi-asserted-by":"publisher","first-page":"577","DOI":"10.1002\/(SICI)1097-024X(199906)29:7<577::AID-SPE246>3.0.CO;2-V","volume":"29","author":"C Demartini","year":"1999","unstructured":"Demartini, C., Iosif, R., Sisto, R.: A deadlock detection tool for concurrent java programs. Softw. Pract. Exper. 29(7), 577\u2013603 (1999)","journal-title":"Softw. Pract. Exper."},{"key":"13_CR19","doi-asserted-by":"publisher","first-page":"237","DOI":"10.1145\/1165389.945468","volume":"37","author":"D Engler","year":"2003","unstructured":"Engler, D., Ashcraft, K.: Racerx: effective, static detection of race conditions and deadlocks. SIGOPS Oper. Syst. Rev. 37, 237\u2013252 (2003)","journal-title":"SIGOPS Oper. Syst. Rev."},{"key":"13_CR20","doi-asserted-by":"crossref","unstructured":"Farzan, A., Madhusudan, P., Razavi, N., Sorrentino, F.: Predicting null-pointer dereferences in concurrent programs. In: SIGSOFT FSE, pp. 47\u201358 (2012)","DOI":"10.1145\/2393596.2393651"},{"key":"13_CR21","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"248","DOI":"10.1007\/978-3-642-02658-4_21","volume-title":"Computer Aided Verification","author":"A Farzan","year":"2009","unstructured":"Farzan, A., Madhusudan, P., Sorrentino, F.: Meta-analysis for atomicity violations under nested locking. In: Bouajjani, A., Maler, O. (eds.) CAV 2009. LNCS, vol. 5643, pp. 248\u2013262. Springer, Heidelberg (2009)"},{"issue":"4","key":"13_CR22","doi-asserted-by":"publisher","first-page":"366","DOI":"10.1007\/s100090050043","volume":"2","author":"K Havelund","year":"2000","unstructured":"Havelund, K., Pressburger, T.: Model checking java programs using java pathfinder. STTT 2(4), 366\u2013381 (2000)","journal-title":"STTT"},{"key":"13_CR23","doi-asserted-by":"crossref","unstructured":"Joshi, P., Naik, M., Sen, K., Gay, D.: An effective dynamic analysis for detecting generalized deadlocks. In SIGSOFT FSE, pp. 327\u2013336 (2010)","DOI":"10.1145\/1882291.1882339"},{"key":"13_CR24","doi-asserted-by":"crossref","unstructured":"Joshi, P., Park, C.S., Sen, K., Naik, M.: A randomized dynamic program analysis technique for detecting real deadlocks. In: PLDI, pp. 110\u2013120 (2009)","DOI":"10.1145\/1543135.1542489"},{"key":"13_CR25","unstructured":"Jula, H., Tralamazza, D.M., Zamfir, C., Candea, G.: Deadlock Immunity: enabling systems to defend against deadlocks. In OSDI, pp. 295\u2013308 (2008)"},{"key":"13_CR26","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"505","DOI":"10.1007\/11513988_49","volume-title":"Computer Aided Verification","author":"V Kahlon","year":"2005","unstructured":"Kahlon, V., Ivan\u010di\u0107, F., Gupta, A.: Reasoning about threads communicating via locks. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 505\u2013518. Springer, Heidelberg (2005)"},{"key":"13_CR27","doi-asserted-by":"crossref","unstructured":"Lu, S., Park, S., Seo, E., Zhou, Y.: Learning from mistakes: a comprehensive study on real world concurrency bug characteristics. In: ASPLOS, pp. 329\u2013339 (2008)","DOI":"10.1145\/1353536.1346323"},{"key":"13_CR28","doi-asserted-by":"crossref","unstructured":"Luo, Z.D., Das, R., Qi, Y.: Multicore SDK: A practical and efficient deadlock detector for real-world applications. In: ICST, pp. 309\u2013318 (2011)","DOI":"10.1109\/ICST.2011.22"},{"key":"13_CR29","doi-asserted-by":"crossref","unstructured":"Naik, M., Park, C.S., Sen, K., Gay, D.: Effective static deadlock detection. In: ICSE, pp. 386\u2013396 (2009)","DOI":"10.1109\/ICSE.2009.5070538"},{"key":"13_CR30","unstructured":"\u015eerb\u0103nu\u0163\u0103, T.F., Chen, F., Ro\u015fu, G.: Maximal causal models for sequentially consistent systems. Technical report, University of Illinois at Urbana-Champaign, October 2011"},{"key":"13_CR31","doi-asserted-by":"crossref","unstructured":"Shanbhag, V.K.: Deadlock-detection in java-library using static-analysis. In: APSEC, pp. 361\u2013368 (2008)","DOI":"10.1109\/APSEC.2008.68"},{"key":"13_CR32","doi-asserted-by":"crossref","unstructured":"Sorrentino, F., Farzan, A., Madhusudan, P.: PENELOPE: weaving threads to expose atomicity violations. In: SIGSOFT FSE, pp. 37\u201346 (2010)","DOI":"10.1145\/1882291.1882300"},{"issue":"2","key":"13_CR33","doi-asserted-by":"publisher","first-page":"203","DOI":"10.1023\/A:1022920129859","volume":"10","author":"W Visser","year":"2003","unstructured":"Visser, W., Havelund, K., Brat, G.P., Park, S., Lerda, F.: Model checking programs. Autom. Softw. Eng. 10(2), 203\u2013232 (2003)","journal-title":"Autom. Softw. Eng."},{"key":"13_CR34","doi-asserted-by":"crossref","unstructured":"von Praun, C.: Detecting synchronization defects in multi-threaded object-oriented programs. In Ph.D. thesis, Swiss Federal Institute of Technology, Zurich (2004)","DOI":"10.1145\/781131.781145"},{"key":"13_CR35","doi-asserted-by":"crossref","unstructured":"von Praun, C., Gross, T.R.: Object race detection. In: OOPSLA, pp. 70\u201382 (2001)","DOI":"10.1145\/504311.504288"},{"key":"13_CR36","unstructured":"Wang, Y., Kelly, T., Kudlur, M., Lafortune, S., Mahlke, S.A.: Gadara: Dynamic deadlock avoidance for multithreaded programs. In OSDI, pp. 281\u2013294 (2008)"},{"key":"13_CR37","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"602","DOI":"10.1007\/11531142_26","volume-title":"ECOOP 2005 - Object-Oriented Programming","author":"A Williams","year":"2005","unstructured":"Williams, A., Thies, W., Awasthi, P.: Static deadlock detection for java libraries. In: Gao, X.-X. (ed.) ECOOP 2005. LNCS, vol. 3586, pp. 602\u2013629. Springer, Heidelberg (2005)"},{"key":"13_CR38","doi-asserted-by":"crossref","unstructured":"Cai, Y., Wu, S., Chan, W.K.: ConLock: a constraint-based approach to dynamic checking on deadlocks in multithreaded programs. In: ICSE, pp. 491\u2013502 (2014)","DOI":"10.1145\/2568225.2568312"},{"key":"13_CR39","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","DOI":"10.1007\/10722468_15","volume-title":"SPIN Model Checking and Software Verification","author":"K Havelund","year":"2000","unstructured":"Havelund, K.: Using runtime analysis to guide model checking of java programs. In: Havelund, K., Penix, J., Visser, W. (eds.) SPIN 2000. LNCS, vol. 1885. Springer, Heidelberg (2000)"}],"container-title":["Lecture Notes in Computer Science","Model Checking Software"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-319-23404-5_13","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,5,30]],"date-time":"2025-05-30T04:38:15Z","timestamp":1748579895000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-319-23404-5_13"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2015]]},"ISBN":["9783319234038","9783319234045"],"references-count":39,"URL":"https:\/\/doi.org\/10.1007\/978-3-319-23404-5_13","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2015]]},"assertion":[{"value":"27 August 2015","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}}]}}