{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,18]],"date-time":"2026-03-18T21:15:59Z","timestamp":1773868559522,"version":"3.50.1"},"reference-count":72,"publisher":"Institute of Electrical and Electronics Engineers (IEEE)","issue":"3","license":[{"start":{"date-parts":[[2024,3,1]],"date-time":"2024-03-01T00:00:00Z","timestamp":1709251200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/ieeexplore.ieee.org\/Xplorehelp\/downloads\/license-information\/IEEE.html"},{"start":{"date-parts":[[2024,3,1]],"date-time":"2024-03-01T00:00:00Z","timestamp":1709251200000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-029"},{"start":{"date-parts":[[2024,3,1]],"date-time":"2024-03-01T00:00:00Z","timestamp":1709251200000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-037"}],"funder":[{"name":"National Science Foundation","award":["CCF-2146233"],"award-info":[{"award-number":["CCF-2146233"]}]},{"DOI":"10.13039\/100000006","name":"Office of Naval Research","doi-asserted-by":"publisher","award":["N000142212111"],"award-info":[{"award-number":["N000142212111"]}],"id":[{"id":"10.13039\/100000006","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["IIEEE Trans. Software Eng."],"published-print":{"date-parts":[[2024,3]]},"DOI":"10.1109\/tse.2024.3358258","type":"journal-article","created":{"date-parts":[[2024,1,24]],"date-time":"2024-01-24T18:38:40Z","timestamp":1706121520000},"page":"512-533","source":"Crossref","is-referenced-by-count":22,"title":["Multi-Language Software Development: Issues, Challenges, and Solutions"],"prefix":"10.1109","volume":"50","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-9298-9757","authenticated-orcid":false,"given":"Haoran","family":"Yang","sequence":"first","affiliation":[{"name":"School of Electrical Engineering and Computer Science, Washington State University, Pullman, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-8598-5181","authenticated-orcid":false,"given":"Yu","family":"Nong","sequence":"additional","affiliation":[{"name":"School of Electrical Engineering and Computer Science, Washington State University, Pullman, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-3252-6264","authenticated-orcid":false,"given":"Shaowei","family":"Wang","sequence":"additional","affiliation":[{"name":"Department of Computer Science, University of Manitoba, Winnipeg, Canada"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-5224-9970","authenticated-orcid":false,"given":"Haipeng","family":"Cai","sequence":"additional","affiliation":[{"name":"School of Electrical Engineering and Computer Science, Washington State University, Pullman, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"263","reference":[{"key":"ref1","doi-asserted-by":"publisher","DOI":"10.1186\/s40411-017-0035-z"},{"key":"ref2","first-page":"72","article-title":"Behind the scenes: Developers\u2019 perception of multi-language practices","volume-title":"Proc. 29th Annu. Int. Conf. Comput. Sci. Softw. Eng.","author":"Abidi","year":"2019"},{"key":"ref3","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE-Companion52605.2021.00119"},{"key":"ref4","doi-asserted-by":"publisher","DOI":"10.1145\/3631967"},{"key":"ref5","doi-asserted-by":"publisher","DOI":"10.1145\/2601248.2601269"},{"key":"ref6","volume-title":"Software Engineering Best Practices: Lessons From Successful Projects in the Top Companies","author":"Jones","year":"2010"},{"key":"ref7","first-page":"1","article-title":"Programming language trends in open source development: An evaluation using data from all production phase sourceforge projects","volume-title":"Proc. 2nd Int. Workshop Public Data Softw. Develop.","author":"Delorey","year":"2007"},{"key":"ref8","doi-asserted-by":"publisher","DOI":"10.1109\/SANER.2016.112"},{"key":"ref9","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2006.20"},{"key":"ref10","doi-asserted-by":"publisher","DOI":"10.1145\/3432690"},{"key":"ref11","doi-asserted-by":"publisher","DOI":"10.1109\/ICSME46990.2020.00058"},{"key":"ref12","doi-asserted-by":"publisher","DOI":"10.1145\/2635868.2635922"},{"key":"ref13","doi-asserted-by":"publisher","DOI":"10.1145\/2745802.2745805"},{"key":"ref14","doi-asserted-by":"publisher","DOI":"10.1007\/s00607-016-0528-3"},{"key":"ref15","doi-asserted-by":"publisher","DOI":"10.1109\/TR.2020.3024873"},{"key":"ref16","doi-asserted-by":"publisher","DOI":"10.1145\/3540250.3560880"},{"key":"ref17","first-page":"2513","article-title":"PolyCruise: A cross-language dynamic information flow analysis","volume-title":"Proc. 31st USENIX Secur. Symp.","author":"Li","year":"2022"},{"key":"ref18","doi-asserted-by":"publisher","DOI":"10.1145\/3540250.3549173"},{"key":"ref19","first-page":"1379","article-title":"PolyFuzz: Holistic greybox fuzzing of multi-language systems","volume-title":"Proc. 32nd USENIX Secur. Symp. (USENIX Secur.)","author":"Li","year":"2023"},{"key":"ref20","doi-asserted-by":"publisher","DOI":"10.1109\/COMPSAC.2013.55"},{"key":"ref21","article-title":"Stack overflow","year":"2022"},{"key":"ref22","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2017.04.005"},{"key":"ref23","doi-asserted-by":"publisher","DOI":"10.1145\/3180155.3180201"},{"key":"ref24","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-012-9231-y"},{"key":"ref25","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-018-9634-5"},{"key":"ref26","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-017-9514-4"},{"key":"ref27","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE48619.2023.00157"},{"key":"ref28","article-title":"Calling C functions in Python","year":"2024"},{"key":"ref29","article-title":"Top programming languages to use in 2020","author":"Puzhevich","year":"2024"},{"key":"ref30","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-017-9558-5"},{"key":"ref31","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2020.2994006"},{"key":"ref32","article-title":"Scrapy","year":"2022"},{"key":"ref33","doi-asserted-by":"publisher","DOI":"10.1145\/2133806.2133826"},{"key":"ref34","doi-asserted-by":"publisher","DOI":"10.1177\/004912417400300204"},{"key":"ref35","doi-asserted-by":"publisher","DOI":"10.1109\/MSR.2015.50"},{"key":"ref36","article-title":"How to setup QWebChannel JS API for use in a QWebEngineView?","year":"2024"},{"key":"ref37","article-title":"With pybind11, how to split my code into multiple modules\/files?","year":"2024"},{"key":"ref38","article-title":"How do I remove unnecessary resources from my project?","year":"2024"},{"key":"ref39","article-title":"Hello world with boost Python and Python 3.2","year":"2024"},{"key":"ref40","article-title":"How can I convert Python dictionary to JavaScript hash table?","year":"2024"},{"key":"ref41","article-title":"Encrypt AES with C# to match Java encryption","year":"2024"},{"key":"ref42","article-title":"Memory leak using JNI to retrieve strings value from Java code","year":"2024"},{"key":"ref43","article-title":"C# calling native C++ all functions: What types to use?","year":"2024"},{"key":"ref44","article-title":"Wrapping a C library in Python: C, Cython or ctypes?","year":"2024"},{"key":"ref45","article-title":"Does managed languages lock flush and reload variables of native libraries?","year":"2024"},{"key":"ref46","article-title":"Content-transfer-encoding in file uploading request","year":"2024"},{"key":"ref47","article-title":"Krajee bootstrap file input, catching AJAX success response","year":"2024"},{"key":"ref48","article-title":"Convert PHP associative array into JavaScript object.","year":"2014"},{"key":"ref49","article-title":"How to convert JObject to JString","year":"2024"},{"key":"ref50","article-title":"Is it safe to keep C++ pointers in C#?\u201d","year":"2024"},{"key":"ref51","doi-asserted-by":"publisher","DOI":"10.1145\/3368089.3417923"},{"key":"ref52","article-title":"Application exits (no exception) when referencing 64bit DLL from C#","year":"2024"},{"key":"ref53","article-title":"Understanding Java and native thread details","year":"2024"},{"key":"ref54","article-title":"Multithreading with Python and C api","year":"2024"},{"key":"ref55","doi-asserted-by":"publisher","DOI":"10.1145\/3379345"},{"issue":"12","key":"ref56","first-page":"4733","article-title":"D${}^{2}$22Abs: A framework for dynamic dependence analysis of distributed programs","volume":"48","author":"Cai","year":"2022","journal-title":"IEEE Trans. Softw. Eng."},{"key":"ref57","article-title":"What happens if I call a Java function from multiple threads from C with JNI","year":"2024"},{"key":"ref58","doi-asserted-by":"publisher","DOI":"10.1145\/3510003.3510124"},{"key":"ref59","doi-asserted-by":"publisher","DOI":"10.1145\/2950290.2950343"},{"key":"ref60","doi-asserted-by":"publisher","DOI":"10.1145\/3368089.3409735"},{"key":"ref61","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2021.3074309"},{"key":"ref62","doi-asserted-by":"publisher","DOI":"10.1145\/2950290.2950334"},{"key":"ref63","doi-asserted-by":"publisher","DOI":"10.1145\/3540250.3558925"},{"key":"ref64","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2015.336"},{"key":"ref65","doi-asserted-by":"publisher","DOI":"10.1109\/MS.2016.68"},{"key":"ref66","doi-asserted-by":"publisher","DOI":"10.1007\/s11390-016-1672-0"},{"key":"ref67","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2022.111488"},{"key":"ref68","article-title":"Towards understanding modern multi-language software systems","author":"Grichi","year":"2020"},{"key":"ref69","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-022-10144-3"},{"key":"ref70","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-65474-0_14"},{"key":"ref71","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380140410"},{"key":"ref72","doi-asserted-by":"publisher","DOI":"10.1145\/3338906.3338939"}],"container-title":["IEEE Transactions on Software Engineering"],"original-title":[],"link":[{"URL":"http:\/\/xplorestaging.ieee.org\/ielx7\/32\/10473597\/10413900.pdf?arnumber=10413900","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,3,26]],"date-time":"2024-03-26T13:50:40Z","timestamp":1711461040000},"score":1,"resource":{"primary":{"URL":"https:\/\/ieeexplore.ieee.org\/document\/10413900\/"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,3]]},"references-count":72,"journal-issue":{"issue":"3"},"URL":"https:\/\/doi.org\/10.1109\/tse.2024.3358258","relation":{},"ISSN":["0098-5589","1939-3520","2326-3881"],"issn-type":[{"value":"0098-5589","type":"print"},{"value":"1939-3520","type":"electronic"},{"value":"2326-3881","type":"electronic"}],"subject":[],"published":{"date-parts":[[2024,3]]}}}