{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,9,28]],"date-time":"2025-09-28T04:06:52Z","timestamp":1759032412150},"reference-count":46,"publisher":"Springer Science and Business Media LLC","issue":"1","license":[{"start":{"date-parts":[[2018,5,2]],"date-time":"2018-05-02T00:00:00Z","timestamp":1525219200000},"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":["Empir Software Eng"],"published-print":{"date-parts":[[2019,2]]},"DOI":"10.1007\/s10664-018-9622-9","type":"journal-article","created":{"date-parts":[[2018,5,2]],"date-time":"2018-05-02T00:33:57Z","timestamp":1525221237000},"page":"103-138","update-policy":"http:\/\/dx.doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":14,"title":["Programmers do not favor lambda expressions for concurrent object-oriented code"],"prefix":"10.1007","volume":"24","author":[{"given":"Sebastian","family":"Nielebock","sequence":"first","affiliation":[]},{"given":"Robert","family":"Heum\u00fcller","sequence":"additional","affiliation":[]},{"given":"Frank","family":"Ortmeier","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2018,5,2]]},"reference":[{"key":"9622_CR1","volume-title":"Programming embedded systems in C and C + +","author":"M Barr","year":"1999","unstructured":"Barr M (1999) Programming embedded systems in C and C++. O\u2019Reilly Media, Inc, Sebastopol"},{"issue":"1","key":"9622_CR2","doi-asserted-by":"publisher","first-page":"4:1","DOI":"10.1145\/2559935","volume":"23","author":"G Bavota","year":"2014","unstructured":"Bavota G, Gethers M, Oliveto R, Poshyvanyk D, de Lucia A (2014) Improving software modularization via automated analysis of latent topics and dependencies. ACM Trans Softw Eng Methodol (TOSEM) 23(1):4:1\u20134:33. \n                    https:\/\/doi.org\/10.1145\/2559935","journal-title":"ACM Trans Softw Eng Methodol (TOSEM)"},{"key":"9622_CR3","volume-title":"Principles of concurrent and distributed programming","author":"M Ben-Ari","year":"2006","unstructured":"Ben-Ari M (2006) Principles of concurrent and distributed programming, 2nd edn. Pearson Education Limited, England","edition":"2nd edn."},{"key":"9622_CR4","doi-asserted-by":"publisher","unstructured":"Borges H, Hora A, Valente MT (2016) Understanding the factors that impact the popularity of GitHub repositories. In: Proceedings of the 32nd IEEE international conference on software maintenance and evolution (ICSME). IEEE, pp 334\u2013344. \n                    https:\/\/doi.org\/10.1109\/ICSME.2016.31","DOI":"10.1109\/ICSME.2016.31"},{"key":"9622_CR5","doi-asserted-by":"publisher","unstructured":"Coblenz M, Sunshine J, Aldrich J, Myers B, Weber S, Shull F (2016) Exploring language support for immutability. In: Proceedings of the 38th international conference on software engineering (ICSE). ACM, New York, pp 736\u2013747. \n                    https:\/\/doi.org\/10.1145\/2884781.2884798","DOI":"10.1145\/2884781.2884798"},{"key":"9622_CR6","doi-asserted-by":"publisher","unstructured":"Coblenz M, Nelson W, Aldrich J, Myers B, Sunshine J (2017) Glacier: transitive class immutability for java. In: Proceedings of the 39th international conference of software engineering (ICSE). IEEE Press, Piscataway, pp 496\u2013506. \n                    https:\/\/doi.org\/10.1109\/ICSE.2017.52","DOI":"10.1109\/ICSE.2017.52"},{"key":"9622_CR7","doi-asserted-by":"publisher","unstructured":"Costa D, Andrzejak A, Seboek J, Lo D (2017) Empirical study of usage and performance of java collections. In: Proceedings of the 8th ACM\/SPEC on international conference on performance engineering (ICPE). ACM, New York, pp 389\u2013400. \n                    https:\/\/doi.org\/10.1145\/3030207.3030221","DOI":"10.1145\/3030207.3030221"},{"key":"9622_CR8","doi-asserted-by":"publisher","unstructured":"De Wael M, Marr S, Van Cutsem T (2014) Fork\/join parallelism in the wild: documenting patterns and anti-patterns in java programs using the fork\/join framework. In: Proceedings of the 11th international conference on principles and practices of programming on the java platform: virtual machines, languages, and tools (PPPJ). ACM, New York, pp 39\u201350. \n                    https:\/\/doi.org\/10.1145\/2647508.2647511","DOI":"10.1145\/2647508.2647511"},{"issue":"3","key":"9622_CR9","doi-asserted-by":"publisher","first-page":"30","DOI":"10.1145\/1140543.1140549","volume":"41","author":"AH Dekker","year":"2006","unstructured":"Dekker AH (2006) Lazy functional programming in java. ACM SIGPLAN Not 41(3):30\u201339. \n                    https:\/\/doi.org\/10.1145\/1140543.1140549","journal-title":"ACM SIGPLAN Not"},{"key":"9622_CR10","unstructured":"Dyer R, Rajan H, Nguyen HA, Nguyen TN (2013) A large-scale empirical study of java language feature usage. Tech. rep., Iowa State University. \n                    https:\/\/lib.dr.iastate.edu\/cs_techreports\/289\/"},{"key":"9622_CR11","doi-asserted-by":"publisher","unstructured":"Dyer R, Rajan H, Nguyen HA, Nguyen TN (2014) Mining billions of AST nodes to study actual and potential usage of java language features. In: Proceedings of the 36th international conference on software engineering (ICSE). ACM, New York, pp 779\u2013790. \n                    https:\/\/doi.org\/10.1145\/2568225.2568295","DOI":"10.1145\/2568225.2568295"},{"issue":"1","key":"9622_CR12","doi-asserted-by":"publisher","first-page":"7:1","DOI":"10.1145\/2803171","volume":"25","author":"R Dyer","year":"2015","unstructured":"Dyer R, Nguyen HA, Rajan H, Nguyen TN (2015) Boa: ultra-large-scale software repository and source-code mining. ACM Trans Softw Eng Methodol 25(1):7:1\u20137:34","journal-title":"ACM Trans Softw Eng Methodol"},{"key":"9622_CR13","doi-asserted-by":"crossref","unstructured":"Franklin L, Gyori A, Lahoda J, Dig D (2013) LAMBDAFICATOR: from imperative to functional programming through automated refactoring. In: Proceedings of the 35th international conference on software engineering (ICSE). IEEE Press, Piscataway, pp 1287\u20131290. \n                    http:\/\/dl.acm.org\/citation.cfm?id=2486788.2486986","DOI":"10.1109\/ICSE.2013.6606699"},{"key":"9622_CR14","doi-asserted-by":"crossref","unstructured":"Garcia R, Jarvi J, Lumsdaine A, Siek JG, Willcock J (2003) A comparative study of language support for generic programming. In: Proceedings of the 18th annual ACM SIGPLAN conference on object-oriented programming, systems, languages, and applications (OOPSLA), pp 115\u2013134","DOI":"10.1145\/949305.949317"},{"key":"9622_CR15","doi-asserted-by":"publisher","unstructured":"Gu R, Jin G, Song L, Zhu L, Lu S (2015) What change history tells us about thread synchronization. In: Proceedings of the 10th joint meeting of the european software engineering conference and the ACM SIGSOFT symposium on the foundations of software engineering (ESEC\/FSE). ACM, New York, pp 426\u2013438. \n                    https:\/\/doi.org\/10.1145\/2786805.2786815","DOI":"10.1145\/2786805.2786815"},{"key":"9622_CR16","doi-asserted-by":"crossref","unstructured":"Gyori A, Franklin L, Dig D, Lahoda J (2013) Crossing the gap from imperative to functional programming through refactoring. In: Proceedings of the 9th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on the foundations of software engineering (ESEC\/FSE). ACM, pp 543\u2013553","DOI":"10.1145\/2491411.2491461"},{"key":"9622_CR17","doi-asserted-by":"crossref","unstructured":"Hill E, Pollock L, Vijay-Shanker K (2009) Automatically capturing source code context of NL-queries for software maintenance and reuse. In: Proceedings of the 31st international conference on software engineering (ICSE). IEEE, pp 232\u2013242","DOI":"10.1109\/ICSE.2009.5070524"},{"key":"9622_CR18","doi-asserted-by":"publisher","unstructured":"Jarczyk O, Gruszka B, Jaroszewicz S, Bukowski L, Wierzbicki A (2014) GitHub projects. quality analysis of open-source software. In: Aiello LM, McFarland D (eds) Proceedings of the 6th international conference on social informatics (SocInfo). Springer International Publishing, Cham, pp 80\u201394. \n                    https:\/\/doi.org\/10.1007\/978-3-319-13734-6_6","DOI":"10.1007\/978-3-319-13734-6_6"},{"issue":"9","key":"9622_CR19","doi-asserted-by":"publisher","first-page":"762","DOI":"10.1016\/j.scico.2009.04.003","volume":"75","author":"J J\u00e4rvi","year":"2010","unstructured":"J\u00e4rvi J, Freeman J (2010) C++ lambda expressions and closures. Sci Comput Program 75(9):762\u2013772","journal-title":"Sci Comput Program"},{"issue":"4","key":"9622_CR20","doi-asserted-by":"publisher","first-page":"1:1","DOI":"10.5381\/jot.2013.12.4.a1","volume":"12","author":"D Kim","year":"2013","unstructured":"Kim D, Murphy-Hill E, Parnin C, Bird C, Garcia R (2013) The reaction of open-source projects to new language features: an empirical study of C# generics. Journal of Object Technology 12(4):1:1\u20131:31","journal-title":"Journal of Object Technology"},{"issue":"3","key":"9622_CR21","doi-asserted-by":"publisher","first-page":"230","DOI":"10.1016\/j.infsof.2006.10.017","volume":"49","author":"A Kuhn","year":"2007","unstructured":"Kuhn A, Ducasse S, G\u00eerba T (2007) Semantic clustering: identifying topics in source code. Inf Softw Technol 49(3):230\u2013243. \n                    https:\/\/doi.org\/10.1016\/j.infsof.2006.10.017\n                    \n                  . \n                    http:\/\/www.sciencedirect.com\/science\/article\/pii\/S0950584906001820\n                    \n                  . 12th Working Conference on Reverse Engineering","journal-title":"Inf Softw Technol"},{"key":"9622_CR22","doi-asserted-by":"crossref","unstructured":"Lin Y, Dig D (2013) Check-then-act misuse of java concurrent collections. In: Proceedings of the 6th international conference on software testing, verification and validation (ICST). IEEE, pp 164\u2013173","DOI":"10.1109\/ICST.2013.41"},{"key":"9622_CR23","doi-asserted-by":"publisher","unstructured":"Lin Y, Radoi C, Dig D (2014) Retrofitting concurrency for android applications through refactoring. In: Proceedings of the 22nd ACM SIGSOFT international symposium on foundations of software engineering (FSE). ACM, New York, pp 341\u2013352. \n                    https:\/\/doi.org\/10.1145\/2635868.2635903","DOI":"10.1145\/2635868.2635903"},{"key":"9622_CR24","doi-asserted-by":"publisher","unstructured":"Marinescu C (2014) An empirical investigation on MPI open source applications. In: Proceedings of the 18th international conference on evaluation and assessment in software engineering (EASE). ACM, New York, pp 20:1\u201320:4. \n                    https:\/\/doi.org\/10.1145\/2601248.2601298","DOI":"10.1145\/2601248.2601298"},{"key":"9622_CR25","volume-title":"Python cookbook, vol 2","year":"2005","unstructured":"Martelli A, Ravenscroft A, Ascher D (eds) (2005) Python cookbook, vol 2. O\u2019Reilly Media Inc, Sebastopol"},{"key":"9622_CR26","doi-asserted-by":"publisher","unstructured":"Mazinanian D, Ketkar A, Tsantalis N, Dig D (2017) Understanding the use of lambda expressions in java. Proceedings of the ACM on Programming Languages 1 (OOPSLA):85:1\u201385:31. \n                    https:\/\/doi.org\/10.1145\/3133909","DOI":"10.1145\/3133909"},{"issue":"1","key":"9622_CR27","doi-asserted-by":"publisher","first-page":"91","DOI":"10.1016\/S1571-0661(05)80549-3","volume":"41","author":"E Meijer","year":"2001","unstructured":"Meijer E, Finne S (2001) Lambada, Haskell as a better Java. Electron Notes Theor Comput Sci 41(1):91\u2013119. \n                    https:\/\/doi.org\/10.1016\/S1571-0661(05)80549-3\n                    \n                  . \n                    http:\/\/www.sciencedirect.com\/science\/article\/pii\/S1571066105805493\n                    \n                  . 2000 ACM SIGPLAN Haskell Workshop (Satellite Event of PLI 2000)","journal-title":"Electron Notes Theor Comput Sci"},{"issue":"11","key":"9622_CR28","first-page":"1025","volume":"15","author":"W Miller","year":"1985","unstructured":"Miller W, Myers EW (1985) A file comparison program. Software: Practice and Experience 15(11):1025\u20131040","journal-title":"Software: Practice and Experience"},{"issue":"1\u20134","key":"9622_CR29","doi-asserted-by":"publisher","first-page":"251","DOI":"10.1007\/BF01840446","volume":"1","author":"EW Myers","year":"1986","unstructured":"Myers EW (1986) An O(ND) difference algorithm and its variations. Algorithmica 1(1\u20134):251\u2013266","journal-title":"Algorithmica"},{"issue":"4","key":"9622_CR30","doi-asserted-by":"publisher","first-page":"76","DOI":"10.1145\/2591013","volume":"57","author":"M Odersky","year":"2014","unstructured":"Odersky M, Rompf T (2014) Unifying functional and object-oriented programming with scala. Commun ACM 57(4):76\u201386. \n                    https:\/\/doi.org\/10.1145\/2591013","journal-title":"Commun ACM"},{"key":"9622_CR31","doi-asserted-by":"publisher","unstructured":"Okur S, Dig D (2012) How do developers use parallel libraries?. In: Proceedings of the ACM SIGSOFT 20th international symposium on the foundations of software engineering (FSE). ACM, New York, pp 54:1\u201354:11. \n                    https:\/\/doi.org\/10.1145\/2393596.2393660","DOI":"10.1145\/2393596.2393660"},{"key":"9622_CR32","doi-asserted-by":"publisher","unstructured":"Okur S, Hartveld DL, Dig D, van Deursen A (2014) A study and toolkit for asynchronous programming in C#. In: Proceedings of the 36th international conference on software engineering (ICSE). ACM, New York, pp 1117\u20131127. \n                    https:\/\/doi.org\/10.1145\/2568225.2568309","DOI":"10.1145\/2568225.2568309"},{"key":"9622_CR33","doi-asserted-by":"crossref","unstructured":"Pankratius V, Schmidt F, Garret\u00f3n G (2012) Combining functional and imperative programming for multicore software: an empirical study evaluating scala and java. In: Proceedings of the 34th international conference on software engineering (ICSE). IEEE Press, Piscataway, pp 123\u2013133. \n                    http:\/\/dl.acm.org\/citation.cfm?id=2337223.2337238","DOI":"10.1109\/ICSE.2012.6227200"},{"key":"9622_CR34","doi-asserted-by":"crossref","unstructured":"Parnin C, Bird C, Murphy-Hill E (2011) Java generics adoption: how new features are introduced, championed, or ignored. In: Proceedings of the 8th working conference on mining software repositories (MSR). ACM, pp 3\u201312","DOI":"10.1145\/1985441.1985446"},{"issue":"6","key":"9622_CR35","doi-asserted-by":"publisher","first-page":"1047","DOI":"10.1007\/s10664-012-9236-6","volume":"18","author":"C Parnin","year":"2013","unstructured":"Parnin C, Bird C, Murphy-Hill E (2013) Adoption and use of java generics. Empir Softw Eng (EMSE) 18(6):1047\u20131089","journal-title":"Empir Softw Eng (EMSE)"},{"key":"9622_CR36","unstructured":"Parr T (2013) The definitive ANTLR 4 reference, 2nd edn. The Pragmatic Programmers, Raleigh"},{"issue":"Supplement C","key":"9622_CR37","doi-asserted-by":"publisher","first-page":"59","DOI":"10.1016\/j.jss.2015.04.064","volume":"106","author":"G Pinto","year":"2015","unstructured":"Pinto G, Torres W, Fernandes B, Castor F, Barros RS (2015) A large-scale study on the usage of java\u2019s concurrent programming constructs. J Syst Softw 106(Supplement C):59\u201381. \n                    https:\/\/doi.org\/10.1016\/j.jss.2015.04.064\n                    \n                  . \n                    http:\/\/www.sciencedirect.com\/science\/article\/pii\/S0164121215000849","journal-title":"J Syst Softw"},{"key":"9622_CR38","doi-asserted-by":"publisher","unstructured":"Radoi C, Dig D (2013) Practical static race detection for java parallel loops. In: Proceedings of the 22nd international symposium on software testing and analysis (ISSTA). ACM, New York, pp 178\u2013190. \n                    https:\/\/doi.org\/10.1145\/2483760.2483765","DOI":"10.1145\/2483760.2483765"},{"key":"9622_CR39","doi-asserted-by":"crossref","unstructured":"Stefik A, Hanenberg S (2014) The programming language wars: questions and responsibilities for the programming language community. In: Proceedings of the 13th ACM international symposium on new ideas, new paradigms, and reflections on programming & software (Onward!). ACM, pp 283\u2013299","DOI":"10.1145\/2661136.2661156"},{"key":"9622_CR40","doi-asserted-by":"publisher","unstructured":"Tempero E, Yang HY, Noble J (2013) What programmers do with inheritance in java. In: Castagna G (ed) Proceedings of the 27th European conference object-oriented programming (ECOOP). Springer Berlin Heidelberg, Berlin, Heidelberg, pp 577\u2013601. \n                    https:\/\/doi.org\/10.1007\/978-3-642-39038-8_24","DOI":"10.1007\/978-3-642-39038-8_24"},{"key":"9622_CR41","doi-asserted-by":"publisher","unstructured":"Torres W, Pinto G, Fernandes B, Oliveira JP, Ximenes FA, Castor F (2011) Are java programmers transitioning to multicore?: a large scale study of java FLOSS. In: Proceedings of the compilation of the co-located workshops on DSM\u201911, TMC\u201911, AGERE! 2011, AOOPES\u201911, NEAT\u201911, & VMIL\u201911. ACM, New York, pp 123\u2013128. \n                    https:\/\/doi.org\/10.1145\/2095050.2095072","DOI":"10.1145\/2095050.2095072"},{"key":"9622_CR42","doi-asserted-by":"publisher","unstructured":"Tsantalis N, Mazinanian D, Rostami S (2017) Clone refactoring with lambda expressions. In: Proceedings of the 39th international conference on software engineering (ICSE). IEEE Press, Piscataway, pp 60\u201370. \n                    https:\/\/doi.org\/10.1109\/ICSE.2017.14","DOI":"10.1109\/ICSE.2017.14"},{"key":"9622_CR43","doi-asserted-by":"crossref","unstructured":"Uesbeck PM, Stefik A, Hanenberg S, Pedersen J, Daleiden P (2016) An empirical study on the Impact of C++ lambdas and programmer experience. In: Proceedings of the 38th international conference on software engineering (ICSE). ACM, pp 760\u2013771","DOI":"10.1145\/2884781.2884849"},{"issue":"1\u20133","key":"9622_CR44","doi-asserted-by":"publisher","first-page":"100","DOI":"10.1016\/S0019-9958(85)80046-2","volume":"64","author":"E Ukkonen","year":"1985","unstructured":"Ukkonen E (1985) Algorithms for approximate String Matching. Inf Control 64 (1\u20133):100\u2013118","journal-title":"Inf Control"},{"key":"9622_CR45","doi-asserted-by":"crossref","unstructured":"Wang X, Pollock L, Vijay-Shanker K (2017) Automatically generating natural language descriptions for object-related statement sequences. In: Proceedings of the 24th international conference on software analysis, evolution and reengineering (SANER). IEEE, pp 205\u2013216","DOI":"10.1109\/SANER.2017.7884622"},{"issue":"Supplement C","key":"9622_CR46","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1016\/j.infsof.2016.04.004","volume":"76","author":"D Wu","year":"2016","unstructured":"Wu D, Chen L, Zhou Y, Xu B (2016) An extensive empirical study on C++ concurrency constructs. Inf Softw Technol 76(Supplement C):1\u201318. \n                    https:\/\/doi.org\/10.1016\/j.infsof.2016.04.004\n                    \n                  . \n                    http:\/\/www.sciencedirect.com\/science\/article\/pii\/S0950584916300581","journal-title":"Inf Softw Technol"}],"container-title":["Empirical Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s10664-018-9622-9\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-018-9622-9.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-018-9622-9.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,5,1]],"date-time":"2019-05-01T19:40:29Z","timestamp":1556739629000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s10664-018-9622-9"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,5,2]]},"references-count":46,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2019,2]]}},"alternative-id":["9622"],"URL":"https:\/\/doi.org\/10.1007\/s10664-018-9622-9","relation":{},"ISSN":["1382-3256","1573-7616"],"issn-type":[{"value":"1382-3256","type":"print"},{"value":"1573-7616","type":"electronic"}],"subject":[],"published":{"date-parts":[[2018,5,2]]},"assertion":[{"value":"2 May 2018","order":1,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}