{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,9,28]],"date-time":"2025-09-28T04:05:45Z","timestamp":1759032345191,"version":"3.37.3"},"reference-count":46,"publisher":"Springer Science and Business Media LLC","issue":"6","license":[{"start":{"date-parts":[[2020,9,4]],"date-time":"2020-09-04T00:00:00Z","timestamp":1599177600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2020,9,4]],"date-time":"2020-09-04T00:00:00Z","timestamp":1599177600000},"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":["Empir Software Eng"],"published-print":{"date-parts":[[2020,11]]},"DOI":"10.1007\/s10664-020-09842-7","type":"journal-article","created":{"date-parts":[[2020,9,4]],"date-time":"2020-09-04T20:02:40Z","timestamp":1599249760000},"page":"4547-4584","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":6,"title":["Mining the use of higher-order functions:"],"prefix":"10.1007","volume":"25","author":[{"given":"Yisen","family":"Xu","sequence":"first","affiliation":[]},{"given":"Fan","family":"Wu","sequence":"additional","affiliation":[]},{"given":"Xiangyang","family":"Jia","sequence":"additional","affiliation":[]},{"given":"Lingbo","family":"Li","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-2968-3496","authenticated-orcid":false,"given":"Jifeng","family":"Xuan","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2020,9,4]]},"reference":[{"issue":"6","key":"9842_CR1","doi-asserted-by":"publisher","first-page":"639","DOI":"10.1109\/TSE.1983.235271","volume":"9","author":"AJJr Albrecht","year":"1983","unstructured":"Albrecht AJ Jr, Gaffney JE (1983) Software function, source lines of code, and development effort prediction: A software science validation. IEEE Trans Softw Eng 9(6):639\u2013648. https:\/\/doi.org\/10.1109\/TSE.1983.235271","journal-title":"IEEE Trans Softw Eng"},{"key":"9842_CR2","doi-asserted-by":"publisher","unstructured":"Altenkirch T (2001) Representations of first order function types as terminal coalgebras. In: Proceedings of the 5th International Conference on Typed Lambda Calculi and Applications, TLCA 2001, Krakow, pp. 8\u201321. https:\/\/doi.org\/10.1007\/3-540-45413-6_5","DOI":"10.1007\/3-540-45413-6_5"},{"key":"9842_CR3","doi-asserted-by":"crossref","unstructured":"Bacchelli A, Bird C (2013a) Expectations, outcomes, and challenges of modern code review. In: Proceedings of the 2013 International Conference on Software Engineering. IEEE Press, pp 712\u2013721","DOI":"10.1109\/ICSE.2013.6606617"},{"key":"9842_CR4","doi-asserted-by":"publisher","unstructured":"Bacchelli A, Bird C (2013b) Expectations, outcomes, and challenges of modern code review. In: Notkin D, Cheng BHC, Pohl K (eds) 35th International Conference on Software Engineering, ICSE \u201913. IEEE Computer Society, San Francisco, pp 712\u2013721. https:\/\/doi.org\/10.1109\/ICSE.2013.6606617","DOI":"10.1109\/ICSE.2013.6606617"},{"key":"9842_CR5","doi-asserted-by":"publisher","unstructured":"Bassoy C, Schatz V (2018) Fast higher-order functions for tensor calculus with tensors and subtensors. In: Proceedings of the 18th International Conference on Computational Science, ICCS 2018, Wuxi, Proceedings, Part I, pp 639\u2013652. https:\/\/doi.org\/10.1007\/978-3-319-93698-7_49","DOI":"10.1007\/978-3-319-93698-7_49"},{"key":"9842_CR6","doi-asserted-by":"publisher","unstructured":"Brachtha\u0307user JI, Schuster P (2017) Effekt: extensible algebraic effects in scala. In: Proceedings of the 8th ACM SIGPLAN International Symposium on Scala, SCALA@SPLASH 2017, Vancouver, pp 67\u201372. https:\/\/doi.org\/10.1145\/3136000.3136007","DOI":"10.1145\/3136000.3136007"},{"key":"9842_CR7","doi-asserted-by":"publisher","first-page":"27","DOI":"10.1016\/j.annepidem.2006.05.007","volume":"17","author":"E Budtz-Jorgensen","year":"2007","unstructured":"Budtz-Jorgensen E, Keiding N, Grandjean P, Weihe P (2007) Confounder selection in environmental epidemiology: Assessment of health effects of prenatal mercury exposure. Ann Epidemiol 17:27\u201335. https:\/\/doi.org\/10.1016\/j.annepidem.2006.05.007","journal-title":"Ann Epidemiol"},{"issue":"4","key":"9842_CR8","doi-asserted-by":"publisher","first-page":"471","DOI":"10.1145\/6041.6042","volume":"17","author":"L Cardelli","year":"1985","unstructured":"Cardelli L, Wegner P (1985) On understanding types, data abstraction, and polymorphism. ACM Comput Surv 17(4):471\u2013522. https:\/\/doi.org\/10.1145\/6041.6042","journal-title":"ACM Comput Surv"},{"key":"9842_CR9","doi-asserted-by":"publisher","unstructured":"Cassez F, Sloane AM (2017) Scalasmt: satisfiability modulo theory in scala. In: Proceedings of the 8th ACM SIGPLAN International Symposium on Scala, SCALA@SPLASH 2017, Vancouver, pp 51\u201355. https:\/\/doi.org\/10.1145\/3136000.3136004","DOI":"10.1145\/3136000.3136004"},{"key":"9842_CR10","unstructured":"Clark T, Barn BS (2013) Dynamic reconfiguration of event driven architecture using reflection and higher-order functions. Int J Softw Inf 7(2):137\u2013168. http:\/\/www.ijsi.org\/ch\/reader\/view_abstract.aspx?file_no=i157"},{"key":"9842_CR11","doi-asserted-by":"crossref","unstructured":"Cohen J, Cohen P, West SG, Aiken LS (2013) Applied multiple regression\/correlation analysis for the behavioral sciences. Routledge, Abingdon","DOI":"10.4324\/9780203774441"},{"key":"9842_CR12","doi-asserted-by":"crossref","unstructured":"Fry T, Dey T, Karnauch A, Mockus A (2020) A dataset and an approach for identity resolution of 38 million author ids extracted from 2b git commits. arXiv:2003.08349","DOI":"10.1145\/3379597.3387500"},{"key":"9842_CR13","doi-asserted-by":"publisher","unstructured":"Gousios G, Storey MD, Bacchelli A (2016) Work practices and challenges in pull-based development: the contributor\u2019s perspective. In: Proceedings of the 38th International Conference on Software Engineering, ICSE 2016, Austin, pp 285\u2013296. https:\/\/doi.org\/10.1145\/2884781.2884826","DOI":"10.1145\/2884781.2884826"},{"key":"9842_CR14","doi-asserted-by":"publisher","first-page":"88","DOI":"10.1016\/j.jss.2018.11.004","volume":"148","author":"Y Gu","year":"2019","unstructured":"Gu Y, Xuan J, Zhang H, Zhang L, Fan Q, Xie X, Qian T (2019) Does the fault reside in a stack trace? assisting crash localization by predicting crashing fault residence. J Syst Softw 148:88\u2013104. https:\/\/doi.org\/10.1016\/j.jss.2018.11.004","journal-title":"J Syst Softw"},{"key":"9842_CR15","unstructured":"HackerNews (2009) Twitter jilts Ruby for Scala. http:\/\/news.ycombinator.com\/item?id=542716"},{"key":"9842_CR16","doi-asserted-by":"publisher","unstructured":"Karlsson O, Haller P (2018) Extending scala with records: design, implementation, and evaluation. In: Proceedings of the 9th ACM SIGPLAN International Symposium on Scala, SCALA@ICFP 2018, St. Louis, pp 72\u201382. https:\/\/doi.org\/10.1145\/3241653.3241661","DOI":"10.1145\/3241653.3241661"},{"key":"9842_CR17","unstructured":"Koch R (2011) The 80\/20 Principle: The Secret of Achieving More with Less: Updated 20th anniversary edition of the productivity and business classic. Hachette, UK"},{"key":"9842_CR18","doi-asserted-by":"publisher","unstructured":"Kroll L, Carbone P, Haridi S (2017) Kompics scala: narrowing the gap between algorithmic specification and executable code (short paper). In: Proceedings of the 8th ACM SIGPLAN International Symposium on Scala, SCALA@SPLASH 2017, Vancouver, pp 73\u201377. https:\/\/doi.org\/10.1145\/3136000.3136009","DOI":"10.1145\/3136000.3136009"},{"key":"9842_CR19","doi-asserted-by":"publisher","unstructured":"Lee PH (2015) Should we adjust for a confounder if empirical and theoretical criteria yield contradictory results? A simulation study Scientific Reports 4(6085). https:\/\/doi.org\/10.1038\/srep06085","DOI":"10.1038\/srep06085"},{"key":"9842_CR20","doi-asserted-by":"publisher","unstructured":"Lincke D, Schupp S (2012) From HOT to COOL: transforming higher-order typed languages to concept-constrained object-oriented languages. In: International workshop on language descriptions, tools, and applications, LDTA \u201912, Tallinn, pp 3. https:\/\/doi.org\/10.1145\/2427048.2427051","DOI":"10.1145\/2427048.2427051"},{"key":"9842_CR21","doi-asserted-by":"crossref","unstructured":"Madhavan R, Kulal S, Kuncak V (2017) Contract-based resource verification for higher-order functions with memoization. In: Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages, POPL 2017, Paris, pp 330\u2013343. http:\/\/dl.acm.org\/citation.cfm?id=3009874","DOI":"10.1145\/3009837.3009874"},{"issue":"4","key":"9842_CR22","doi-asserted-by":"publisher","first-page":"308","DOI":"10.1109\/TSE.1976.233837","volume":"2","author":"TJ McCabe","year":"1976","unstructured":"McCabe TJ (1976) A complexity measure. IEEE Trans Softw Eng 2(4):308\u2013320. https:\/\/doi.org\/10.1109\/TSE.1976.233837","journal-title":"IEEE Trans Softw Eng"},{"issue":"5","key":"9842_CR23","doi-asserted-by":"publisher","first-page":"2146","DOI":"10.1007\/s10664-015-9381-9","volume":"21","author":"S McIntosh","year":"2016","unstructured":"McIntosh S, Kamei Y, Adams B, Hassan AE (2016) An empirical study of the impact of modern code review practices on software quality. Empir Softw Eng 21(5):2146\u20132189. https:\/\/doi.org\/10.1007\/s10664-015-9381-9","journal-title":"Empir Softw Eng"},{"key":"9842_CR24","doi-asserted-by":"publisher","unstructured":"Nakaguchi T, Murakami Y, Lin D, Ishida T (2016) Higher-order functions for modeling hierarchical service bindings. In: IEEE International conference on services computing, SCC 2016, San francisco, pp 798\u2013803. https:\/\/doi.org\/10.1109\/SCC.2016.110","DOI":"10.1109\/SCC.2016.110"},{"key":"9842_CR25","doi-asserted-by":"publisher","unstructured":"Nystrom N (2017) A scala framework for supercompilation. In: Proceedings of the 8th ACM SIGPLAN International Symposium on Scala, SCALA@SPLASH 2017, Vancouver, pp 18\u201328. https:\/\/doi.org\/10.1145\/3136000.3136011","DOI":"10.1145\/3136000.3136011"},{"key":"9842_CR26","unstructured":"Odersky M, Altherr P, Cremet V, Emir B, Maneth S, Micheloud S, Mihaylov N, Schinz M, Stenman E, Zenger M (2004) An overview of the scala programming language. Tech. rep., Technical Report IC\/2004\/64. EPFL Lausanne, Switzerland"},{"key":"9842_CR27","unstructured":"Racordon D (2018) Coroutines with higher order functions. CoRR arXiv:1812.08278"},{"key":"9842_CR28","doi-asserted-by":"publisher","unstructured":"Rahman W, Xu Y, Pu F, Xuan J, Jia X, Basios M, Kanthan L, Li L, Wu F, Xu B (2020) Clone detection on large scala codebases. In: IEEE 14Th international workshop on software clones, IWSC 2020. IEEE, London, pp 38\u201344. https:\/\/doi.org\/10.1109\/IWSC50091.2020.9047640","DOI":"10.1109\/IWSC50091.2020.9047640"},{"issue":"1","key":"9842_CR29","doi-asserted-by":"publisher","first-page":"15","DOI":"10.1016\/S0165-1765(01)00524-9","volume":"74","author":"WJ Reed","year":"2001","unstructured":"Reed WJ (2001) The pareto, zipf and other power laws. Econ Lett 74(1):15\u201319","journal-title":"Econ Lett"},{"key":"9842_CR30","doi-asserted-by":"publisher","unstructured":"Reynders B, Greefs M, Devriese D, Piessens F (2018) Scalagna 0.1: towards multi-tier programming with scala and scala.js. In: Conference companion of the 2nd international conference on art, science, and engineering of programming, Nice, pp 69\u201374. https:\/\/doi.org\/10.1145\/3191697.3191731","DOI":"10.1145\/3191697.3191731"},{"key":"9842_CR31","unstructured":"Richardson B (2017) When should i use higher order functions? http:\/\/www.quora.com\/When-should-I-use-higher-order-functions"},{"issue":"11","key":"9842_CR32","doi-asserted-by":"publisher","first-page":"2835","DOI":"10.1109\/TCAD.2018.2857259","volume":"37","author":"D Richmond","year":"2018","unstructured":"Richmond D, Althoff A, Kastner R (2018) Synthesizable higher-order functions for C++. IEEE Trans CAD Integr Circ Syst 37(11):2835\u20132844. https:\/\/doi.org\/10.1109\/TCAD.2018.2857259","journal-title":"IEEE Trans CAD Integr Circ Syst"},{"key":"9842_CR33","doi-asserted-by":"publisher","unstructured":"Rigby PC, Storey MD (2011) Understanding broadcast based peer review on open source software projects. In: Taylor RN, Gall HC, Medvidovic N (eds) Proceedings of the 33rd International Conference on Software Engineering, ICSE 2011. ACM, Waikiki, pp 541\u2013550. https:\/\/doi.org\/10.1145\/1985793.1985867","DOI":"10.1145\/1985793.1985867"},{"key":"9842_CR34","doi-asserted-by":"publisher","first-page":"68","DOI":"10.1016\/j.jlamp.2017.09.002","volume":"93","author":"V Rusu","year":"2017","unstructured":"Rusu V, Arusoaie A (2017) Executing and verifying higher-order functional-imperative programs in maude. J Log Algebr Meth Program 93:68\u201391. https:\/\/doi.org\/10.1016\/j.jlamp.2017.09.002","journal-title":"J Log Algebr Meth Program"},{"key":"9842_CR35","unstructured":"Scala (2020) The scala language. http:\/\/scala-lang.org\/"},{"issue":"OOPSLA","key":"9842_CR36","doi-asserted-by":"publisher","first-page":"161:1","DOI":"10.1145\/3276531","volume":"2","author":"M Selakovic","year":"2018","unstructured":"Selakovic M, Pradel M, Karim R, Tip F (2018) Test generation for higher-order functions in dynamic languages. PACMPL 2(OOPSLA):161:1\u2013161:27. https:\/\/doi.org\/10.1145\/3276531","journal-title":"PACMPL"},{"key":"9842_CR37","doi-asserted-by":"publisher","unstructured":"van der Lippe T, Smith T, Pelsmaeker D, Visser E (2016) A scalable infrastructure for teaching concepts of programming languages in scala with weblab: an experience report. In: Proceedings of the 7th ACM SIGPLAN Symposium on Scala, SCALA@SPLASH 2016, Amsterdam, pp 65\u201374. https:\/\/doi.org\/10.1145\/2998392.2998402","DOI":"10.1145\/2998392.2998402"},{"key":"9842_CR38","doi-asserted-by":"publisher","unstructured":"Voirol N, Kneuss E, Kuncak V (2015) Counter-example complete verification for higher-order functions. In: Proceedings of the 6th ACM SIGPLAN Symposium on Scala, Scala@PLDI 2015, Portland, pp 18\u201329. https:\/\/doi.org\/10.1145\/2774975.2774978","DOI":"10.1145\/2774975.2774978"},{"key":"9842_CR39","unstructured":"Walpole RE, Myers SL, Ye K, Myers RH (2007) Probability and statistics for engineers and scientists. Pearson, London"},{"key":"9842_CR40","doi-asserted-by":"publisher","unstructured":"Wester R, Kuper J (2013) A space\/time tradeoff methodology using higher-order functions. In: 23Rd international conference on field programmable logic and applications, FPL 2013, Porto, pp 1\u20132. https:\/\/doi.org\/10.1109\/FPL.2013.6645613","DOI":"10.1109\/FPL.2013.6645613"},{"key":"9842_CR41","doi-asserted-by":"publisher","unstructured":"Wester R, Kuper J (2014) Design space exploration of a particle filter using higher-order functions. In: Reconfigurable Computing: Architectures, Tools, and Applications - 10th International Symposium, ARC 2014, Vilamoura. Proceedings, pp 219\u2013226. https:\/\/doi.org\/10.1007\/978-3-319-05960-0_21","DOI":"10.1007\/978-3-319-05960-0_21"},{"key":"9842_CR42","doi-asserted-by":"crossref","unstructured":"Wilcoxon F (1992) Individual comparisons by ranking methods. In: Breakthroughs in statistics. Springer, pp 196\u2013202","DOI":"10.1007\/978-1-4612-4380-9_16"},{"key":"9842_CR43","doi-asserted-by":"publisher","unstructured":"Xu Y, Jia X, Xuan J (2019) Writing tests for this higher-order function first: Automatically identifying future callings to assist testers. In: Proceedings of the 11th Asia-Pacific Symposium on Internetware (Internetware 2019), Fukuoka, pp 1\u201310. https:\/\/doi.org\/10.1145\/1122445.1122456","DOI":"10.1145\/1122445.1122456"},{"key":"9842_CR44","doi-asserted-by":"publisher","unstructured":"Zhang X, Chen Y, Gu Y, Zou W, Xie X, Jia X, Xuan J (2018) How do multiple pull requests change the same code: A study of competing pull requests in github. In: 2018 IEEE International conference on software maintenance and evolution, ICSME 2018, Madrid, pp 228\u2013239. https:\/\/doi.org\/10.1109\/ICSME.2018.00032","DOI":"10.1109\/ICSME.2018.00032"},{"key":"9842_CR45","doi-asserted-by":"publisher","unstructured":"Zhao Y, Serebrenik A, Zhou Y, Filkov V, Vasilescu B (2017) The impact of continuous integration on other software development practices: a large-scale empirical study. In: Rosu G, Penta MD, Nguyen TN (eds) Proceedings of the 32nd IEEE\/ACM International Conference on Automated Software Engineering, ASE 2017. IEEE Computer Society, Urbana, pp 60\u201371. https:\/\/doi.org\/10.1109\/ASE.2017.8115619","DOI":"10.1109\/ASE.2017.8115619"},{"issue":"6","key":"9842_CR46","doi-asserted-by":"publisher","first-page":"3871","DOI":"10.1007\/s10664-019-09720-x","volume":"24","author":"W Zou","year":"2019","unstructured":"Zou W, Xuan J, Xie X, Chen Z, Xu B (2019) How does code style inconsistency affect pull request integration? an exploratory study on 117 github projects. Empir Softw Eng 24(6):3871\u20133903. https:\/\/doi.org\/10.1007\/s10664-019-09720-x","journal-title":"Empir Softw Eng"}],"container-title":["Empirical Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-020-09842-7.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s10664-020-09842-7\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-020-09842-7.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,9,4]],"date-time":"2021-09-04T01:54:48Z","timestamp":1630720488000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s10664-020-09842-7"}},"subtitle":["An exploratory study on Scala programs"],"short-title":[],"issued":{"date-parts":[[2020,9,4]]},"references-count":46,"journal-issue":{"issue":"6","published-print":{"date-parts":[[2020,11]]}},"alternative-id":["9842"],"URL":"https:\/\/doi.org\/10.1007\/s10664-020-09842-7","relation":{},"ISSN":["1382-3256","1573-7616"],"issn-type":[{"type":"print","value":"1382-3256"},{"type":"electronic","value":"1573-7616"}],"subject":[],"published":{"date-parts":[[2020,9,4]]},"assertion":[{"value":"4 September 2020","order":1,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}