{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,15]],"date-time":"2026-05-15T15:12:28Z","timestamp":1778857948033,"version":"3.51.4"},"reference-count":47,"publisher":"Springer Science and Business Media LLC","issue":"2","license":[{"start":{"date-parts":[[2026,3,17]],"date-time":"2026-03-17T00:00:00Z","timestamp":1773705600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2026,3,17]],"date-time":"2026-03-17T00:00:00Z","timestamp":1773705600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"}],"funder":[{"name":"CCF-Huawei Populus Grove Fund","award":["No. FM202305"],"award-info":[{"award-number":["No. FM202305"]}]},{"name":"CCF-Huawei Populus Grove Fund","award":["No. FM202305"],"award-info":[{"award-number":["No. FM202305"]}]},{"name":"CCF-Huawei Populus Grove Fund","award":["No. FM202305"],"award-info":[{"award-number":["No. FM202305"]}]},{"name":"CCF-Huawei Populus Grove Fund","award":["No. FM202305"],"award-info":[{"award-number":["No. FM202305"]}]},{"name":"CCF-Huawei Populus Grove Fund","award":["No. FM202305"],"award-info":[{"award-number":["No. FM202305"]}]},{"DOI":"10.13039\/501100001809","name":"National Natural Science Foundation of China","doi-asserted-by":"publisher","award":["No. 62172299"],"award-info":[{"award-number":["No. 62172299"]}],"id":[{"id":"10.13039\/501100001809","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100001809","name":"National Natural Science Foundation of China","doi-asserted-by":"publisher","award":["No. 62172299"],"award-info":[{"award-number":["No. 62172299"]}],"id":[{"id":"10.13039\/501100001809","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100001809","name":"National Natural Science Foundation of China","doi-asserted-by":"publisher","award":["No. 62172299"],"award-info":[{"award-number":["No. 62172299"]}],"id":[{"id":"10.13039\/501100001809","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100001809","name":"National Natural Science Foundation of China","doi-asserted-by":"publisher","award":["No. 62172299"],"award-info":[{"award-number":["No. 62172299"]}],"id":[{"id":"10.13039\/501100001809","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100001809","name":"National Natural Science Foundation of China","doi-asserted-by":"publisher","award":["No. 62172299"],"award-info":[{"award-number":["No. 62172299"]}],"id":[{"id":"10.13039\/501100001809","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Autom Softw Eng"],"published-print":{"date-parts":[[2026,9]]},"DOI":"10.1007\/s10515-026-00614-z","type":"journal-article","created":{"date-parts":[[2026,3,17]],"date-time":"2026-03-17T05:52:32Z","timestamp":1773726752000},"update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["Two birds one stone: Effective static detection of resource and communication deadlocks in Rust programs"],"prefix":"10.1007","volume":"33","author":[{"given":"Yu","family":"Zhang","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Kaiwen","family":"Zhang","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Guanjun","family":"Liu","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Yuandao","family":"Cai","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Shengchao","family":"Qin","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2026,3,17]]},"reference":[{"key":"614_CR1","unstructured":"AccessKit (2023) UI accessibility infrastructure across platforms and programming languages. https:\/\/github.com\/AccessKit\/accesskit"},{"key":"614_CR2","unstructured":"Andersen, L.O.: Program analysis and specialization for the C programming language (1994)"},{"key":"614_CR3","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: Proceedings of the 2006 Workshop on Parallel and Distributed Systems: Testing and Debugging, pp. 51\u201360 (2006)","DOI":"10.1145\/1147403.1147413"},{"key":"614_CR4","doi-asserted-by":"crossref","unstructured":"Brotherston, J., Brunet, P., Gorogiannis, N., Kanovich, M.: A compositional deadlock detector for Android Java. In: 2021 36th IEEE\/ACM International Conference on Automated Software Engineering (ASE), pp. 955\u2013966 (2021). IEEE","DOI":"10.1109\/ASE51524.2021.9678572"},{"key":"614_CR5","doi-asserted-by":"crossref","unstructured":"Bensalem, S., Havelund, K.: Dynamic deadlock analysis of multi-threaded programs. In: Haifa Verification Conference, pp. 208\u2013223 (2005). Springer","DOI":"10.1007\/11678779_15"},{"key":"614_CR6","doi-asserted-by":"crossref","unstructured":"Bae, Y., Kim, Y., Askar, A., Lim, J., Kim, T.: Rudra: finding memory safety bugs in Rust at the ecosystem scale. In: Proceedings of the ACM SIGOPS 28th Symposium on Operating Systems Principles, pp. 84\u201399 (2021)","DOI":"10.1145\/3477132.3483570"},{"key":"614_CR7","unstructured":"Burble: Blackrock user-mode bluetooth LE library (2023). https:\/\/github.com\/mxk\/burble"},{"key":"614_CR8","doi-asserted-by":"crossref","unstructured":"Cai, Y., Chan, W.-K.: Magicfuzzer: Scalable deadlock detection for large-scale applications. In: 2012 34th International Conference on Software Engineering (ICSE), pp. 606\u2013616 (2012). IEEE","DOI":"10.1109\/ICSE.2012.6227156"},{"issue":"3","key":"614_CR9","doi-asserted-by":"publisher","first-page":"266","DOI":"10.1109\/TSE.2014.2301725","volume":"40","author":"Y Cai","year":"2014","unstructured":"Cai, Y., Chan, W.-K.: Magiclock: Scalable detection of potential deadlocks in large-scale multithreaded programs. IEEE Trans. Software Eng. 40(3), 266\u2013281 (2014)","journal-title":"IEEE Trans. Software Eng."},{"issue":"4","key":"614_CR10","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/3542948","volume":"32","author":"M Cui","year":"2023","unstructured":"Cui, M., Chen, C., Xu, H., Zhou, Y.: Safedrop: Detecting memory deallocation bugs of Rust programs via static data-flow analysis. ACM Trans. Softw. Eng. Methodol. 32(4), 1\u201321 (2023)","journal-title":"ACM Trans. Softw. Eng. Methodol."},{"key":"614_CR11","doi-asserted-by":"crossref","unstructured":"Cai, Y., Meng, R., Palsberg, J.: Low-overhead deadlock prediction. In: Proceedings of the ACM\/IEEE 42nd International Conference on Software Engineering, pp. 1298\u20131309 (2020)","DOI":"10.1145\/3377811.3380367"},{"key":"614_CR12","unstructured":"Conflux-Rust: The official Rust implementation of Conflux protocol (2023). https:\/\/github.com\/Conflux-Chain\/conflux-rust"},{"key":"614_CR13","doi-asserted-by":"crossref","unstructured":"Cai, Y., Ye, C., Shi, Q., Zhang, C.: Peahen: Fast and precise static deadlock detection via context reduction. In: Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, pp. 784\u2013796 (2022)","DOI":"10.1145\/3540250.3549110"},{"issue":"5","key":"614_CR14","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. ACM SIGOPS Oper. Syst. Rev. 37(5), 237\u2013252 (2003)","journal-title":"ACM SIGOPS Oper. Syst. Rev."},{"key":"614_CR15","doi-asserted-by":"crossref","unstructured":"Eslamimehr, M., Palsberg, J.: Sherlock: scalable deadlock detection for concurrent programs. In: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 353\u2013365 (2014)","DOI":"10.1145\/2635868.2635918"},{"key":"614_CR16","doi-asserted-by":"crossref","unstructured":"Havelund, K.: Using runtime analysis to guide model checking of Java programs. In: SPIN Model Checking and Software Verification: 7th International SPIN Workshop, Stanford, CA, USA, August 30-September 1, 2000. Proceedings 7, pp. 245\u2013264 (2000). Springer","DOI":"10.1007\/10722468_15"},{"key":"614_CR17","doi-asserted-by":"crossref","unstructured":"Hu, S., Hua, B., Wang, Y.: Comprehensiveness, automation and lifecycle: A new perspective for Rust security. In: 2022 IEEE 22nd International Conference on Software Quality, Reliability and Security (QRS), pp. 982\u2013991 (2022). IEEE","DOI":"10.1109\/QRS57517.2022.00102"},{"key":"614_CR18","doi-asserted-by":"crossref","unstructured":"Hua, B., Ouyang, W., Jiang, C., Fan, Q., Pan, Z.: Rupair: Towards automatic buffer overflow detection and rectification for Rust. In: Annual Computer Security Applications Conference, pp. 812\u2013823 (2021)","DOI":"10.1145\/3485832.3485841"},{"key":"614_CR19","unstructured":"Hovemeyer, D., Pugh, W.: Finding concurrency bugs in Java. In: Proc. of PODC, vol. 4 (2004)"},{"key":"614_CR20","doi-asserted-by":"crossref","unstructured":"Joshi, P., Naik, M., Sen, K., Gay, D.: An effective dynamic analysis for detecting generalized deadlocks. In: Proceedings of the Eighteenth ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 327\u2013336 (2010)","DOI":"10.1145\/1882291.1882339"},{"issue":"6","key":"614_CR21","doi-asserted-by":"publisher","first-page":"110","DOI":"10.1145\/1543135.1542489","volume":"44","author":"P Joshi","year":"2009","unstructured":"Joshi, P., Park, C.-S., Sen, K., Naik, M.: A randomized dynamic program analysis technique for detecting real deadlocks. ACM Sigplan Notices 44(6), 110\u2013120 (2009)","journal-title":"ACM Sigplan Notices"},{"key":"614_CR22","unstructured":"Jula, H., Tralamazza, D.M., Zamfir, C., Candea, G., et al.: Deadlock immunity: Enabling systems to defend against deadlocks. In: OSDI, vol. 8, pp. 295\u2013308 (2008)"},{"key":"614_CR23","unstructured":"Kaskada: Modern, open-source event-processing (2023). https:\/\/github.com\/kaskada-ai\/kaskada"},{"key":"614_CR24","unstructured":"Klabnik, S., Nichols, C.: The Rust programming language. Accessed 09 Feb 2023 https:\/\/doc.rust-lang.org\/stable\/book\/"},{"key":"614_CR25","doi-asserted-by":"crossref","unstructured":"Kroening, D., Poetzl, D., Schrammel, P., Wachter, B.: Sound static deadlock analysis for C\/Pthreads. In: Proceedings of the 31st IEEE\/ACM International Conference on Automated Software Engineering, pp. 379\u2013390 (2016)","DOI":"10.1145\/2970276.2970309"},{"key":"614_CR26","doi-asserted-by":"crossref","unstructured":"Lattner, C., Adve, V.: LLVM: A compilation framework for lifelong program analysis & transformation. In: International Symposium on Code Generation and Optimization, 2004. CGO 2004, pp. 75\u201386 (2004). IEEE","DOI":"10.1109\/CGO.2004.1281665"},{"key":"614_CR27","doi-asserted-by":"crossref","unstructured":"Li, W., He, D., Gui, Y., Chen, W., Xue, J.: A context-sensitive pointer analysis framework for Rust and its application to call graph construction. In: Proceedings of the 33rd ACM SIGPLAN International Conference on Compiler Construction, pp. 60\u201372 (2024)","DOI":"10.1145\/3640537.3641574"},{"key":"614_CR28","unstructured":"Log4rs: A highly configurable logging framework for Rust (2023). https:\/\/github.com\/estk\/log4rs"},{"key":"614_CR29","doi-asserted-by":"crossref","unstructured":"Li, Z., Wang, J., Sun, M., Lui, J.C.: Mirchecker: detecting bugs in Rust programs via static analysis. In: Proceedings of the 2021 ACM SIGSAC Conference on Computer and Communications Security, pp. 2183\u20132196 (2021)","DOI":"10.1145\/3460120.3484541"},{"key":"614_CR30","doi-asserted-by":"crossref","unstructured":"Naik, M., Park, C.-S., Sen, K., Gay, D.: Effective static deadlock detection. In: 2009 IEEE 31st International Conference on Software Engineering, pp. 386\u2013396 (2009). IEEE","DOI":"10.1109\/ICSE.2009.5070538"},{"key":"614_CR31","doi-asserted-by":"publisher","first-page":"599","DOI":"10.1016\/j.procs.2020.10.085","volume":"177","author":"P Ning","year":"2020","unstructured":"Ning, P., Qin, B.: Stuck-me-not: A deadlock detector on blockchain software in Rust. Proc. Comput. Sci. 177, 599\u2013604 (2020)","journal-title":"Proc. Comput. Sci."},{"key":"614_CR32","doi-asserted-by":"crossref","unstructured":"Qin, B., Chen, Y., Liu, H., Zhang, H., Wen, Q., Song, L., Zhang, Y.: Understanding and detecting real-world safety issues in Rust. IEEE Trans. Softw. Eng. (2024)","DOI":"10.1109\/TSE.2024.3380393"},{"key":"614_CR33","doi-asserted-by":"crossref","unstructured":"Qin, B., Chen, Y., Yu, Z., Song, L., Zhang, Y.: Understanding memory and thread safety practices and issues in real-world Rust programs. In: Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 763\u2013779 (2020)","DOI":"10.1145\/3385412.3386036"},{"key":"614_CR34","unstructured":"Qin, B.: Lockbud (2020). https:\/\/github.com\/BurtonQin\/lockbud"},{"key":"614_CR35","unstructured":"Servo: The embeddable, independent, memory-safe, modular, parallel web rendering engine (2023). https:\/\/github.com\/servo\/servo"},{"key":"614_CR36","doi-asserted-by":"crossref","unstructured":"Sorrentino, F.: Picklock: A deadlock prediction approach under nested locking. In: International SPIN Workshop on Model Checking of Software, pp. 179\u2013199 (2015). Springer","DOI":"10.1007\/978-3-319-23404-5_13"},{"issue":"8","key":"614_CR37","doi-asserted-by":"publisher","first-page":"29","DOI":"10.1145\/2692916.2555262","volume":"49","author":"M Samak","year":"2014","unstructured":"Samak, M., Ramanathan, M.K.: Trace driven dynamic deadlock detection and reproduction. ACM SIGPLAN Notices 49(8), 29\u201342 (2014)","journal-title":"ACM SIGPLAN Notices"},{"key":"614_CR38","doi-asserted-by":"crossref","unstructured":"Sui, Y., Xue, J.: SVF: interprocedural static value-flow analysis in LLVM. In: Proceedings of the 25th International Conference on Compiler Construction, pp. 265\u2013266 (2016)","DOI":"10.1145\/2892208.2892235"},{"key":"614_CR39","unstructured":"Tikv: A distributed transactional key-value database (2023). https:\/\/github.com\/tikv\/tikv"},{"key":"614_CR40","doi-asserted-by":"publisher","unstructured":"Tan, T., Li, Y.: Tai-e: A static analysis framework for Java by harnessing the best designs of classics. arXiv preprint (2022) https:\/\/doi.org\/10.48550\/arXiv.2208.00337","DOI":"10.48550\/arXiv.2208.00337"},{"key":"614_CR41","unstructured":"Tock: A secure embedded operating system for microcontrollers (2023). https:\/\/github.com\/tock\/tock"},{"key":"614_CR42","unstructured":"Tokio: Concurrency permutation testing tool for Rust (2023). https:\/\/github.com\/tokio-rs\/loom"},{"key":"614_CR43","doi-asserted-by":"crossref","unstructured":"Vall\u00e9e-Rai, R. Co, P., Gagnon, E., Hendren, L., Lam, P., Sundaresan, V.: Soot: A Java bytecode optimization framework. In: CASCON First Decade High Impact Papers, pp. 214\u2013224 (2010)","DOI":"10.1145\/1925805.1925818"},{"key":"614_CR44","doi-asserted-by":"crossref","unstructured":"Williams, A., Thies, W., Ernst, M.D.: Static deadlock detection for Java libraries. In: ECOOP 2005-Object-Oriented Programming: 19th European Conference, Glasgow, UK, July 25\u201329, 2005. Proceedings 19, pp. 602\u2013629 (2005). Springer","DOI":"10.1007\/11531142_26"},{"key":"614_CR45","doi-asserted-by":"publisher","unstructured":"Yu, Z., Song, L., Zhang, Y.: Fearless concurrency? Understanding concurrent programming safety in real-world Rust software. arXiv preprint (2019) https:\/\/doi.org\/10.48550\/arXiv.1902.01906","DOI":"10.48550\/arXiv.1902.01906"},{"key":"614_CR46","doi-asserted-by":"crossref","unstructured":"Zhou, J., Silvestro, S., Liu, H., Cai, Y., Liu, T.: Undead: Detecting and preventing deadlocks in production software. In: 2017 32nd IEEE\/ACM International Conference on Automated Software Engineering (ASE), pp. 729\u2013740 (2017). IEEE","DOI":"10.1109\/ASE.2017.8115684"},{"key":"614_CR47","doi-asserted-by":"crossref","unstructured":"Zhou, J., Yang, H., Lange, J., Liu, T.: Deadlock prediction via generalized dependency. In: Proceedings of the 31st ACM SIGSOFT International Symposium on Software Testing and Analysis, pp. 455\u2013466 (2022)","DOI":"10.1145\/3533767.3534377"}],"container-title":["Automated Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10515-026-00614-z.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s10515-026-00614-z","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10515-026-00614-z.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,5,15]],"date-time":"2026-05-15T14:31:49Z","timestamp":1778855509000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s10515-026-00614-z"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2026,3,17]]},"references-count":47,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2026,9]]}},"alternative-id":["614"],"URL":"https:\/\/doi.org\/10.1007\/s10515-026-00614-z","relation":{},"ISSN":["0928-8910","1573-7535"],"issn-type":[{"value":"0928-8910","type":"print"},{"value":"1573-7535","type":"electronic"}],"subject":[],"published":{"date-parts":[[2026,3,17]]},"assertion":[{"value":"11 September 2024","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"6 March 2026","order":2,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"17 March 2026","order":3,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}},{"order":1,"name":"Ethics","group":{"name":"EthicsHeading","label":"Declarations"}},{"value":"The authors declare no competing interests.","order":2,"name":"Ethics","group":{"name":"EthicsHeading","label":"Competing Interests"}}],"article-number":"65"}}