{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,25]],"date-time":"2026-01-25T12:11:06Z","timestamp":1769343066813,"version":"3.49.0"},"publisher-location":"Cham","reference-count":42,"publisher":"Springer International Publishing","isbn-type":[{"value":"9783031428326","type":"print"},{"value":"9783031428333","type":"electronic"}],"license":[{"start":{"date-parts":[[2023,1,1]],"date-time":"2023-01-01T00:00:00Z","timestamp":1672531200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2023,1,1]],"date-time":"2023-01-01T00:00:00Z","timestamp":1672531200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2023]]},"DOI":"10.1007\/978-3-031-42833-3_10","type":"book-chapter","created":{"date-parts":[[2023,10,17]],"date-time":"2023-10-17T12:02:09Z","timestamp":1697544129000},"page":"358-374","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":1,"title":["Code Quality Metrics for\u00a0Functional Features in\u00a0Modern Object-Oriented Languages"],"prefix":"10.1007","author":[{"given":"Bart","family":"Zuilhof","sequence":"first","affiliation":[]},{"given":"Rinse","family":"van Hees","sequence":"additional","affiliation":[]},{"given":"Clemens","family":"Grelck","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2023,10,18]]},"reference":[{"key":"10_CR1","unstructured":"Carbonnelle, P.: PYPL. http:\/\/pypl.github.io\/PYPL.html. Accessed 11 Jan 2019"},{"key":"10_CR2","unstructured":"Oracle: Java 8 update notes. https:\/\/www.oracle.com\/technetwork\/java\/javase\/8-whats-new-2157071.html. Accessed 11 Jan 2019"},{"key":"10_CR3","unstructured":"Microsoft: C# update notes. https:\/\/docs.microsoft.com\/en-us\/dotnet\/csharp\/whats-new\/csharp-version-history. Accessed 23 Jan 2019"},{"key":"10_CR4","unstructured":"Wagner, B.: Language Integrated Query (LINQ). https:\/\/github.com\/dotnet\/cli (2017)"},{"key":"10_CR5","unstructured":"Landkroon, E.: Code quality evaluation for the multi-paradigm programming language Scala. MSc Thesis, University of Amsterdam, Netherlands (2017)"},{"key":"10_CR6","doi-asserted-by":"publisher","first-page":"751","DOI":"10.1109\/32.544352","volume":"22","author":"VR Basili","year":"1996","unstructured":"Basili, V.R., Briand, L.C., Melo, W.L.: A validation of object-oriented design metrics as quality indicators. IEEE Trans. Softw. Eng. 22, 751\u2013761 (1996)","journal-title":"IEEE Trans. Softw. Eng."},{"key":"10_CR7","doi-asserted-by":"crossref","unstructured":"Heitlager, I., Kuipers, T., Visser, J.: A practical model for measuring maintainability. In: 6th International Conference on Quality of Information and Communications Technology (QUATIC 2007), pp. 30\u201339. IEEE (2007)","DOI":"10.1109\/QUATIC.2007.8"},{"key":"10_CR8","doi-asserted-by":"publisher","first-page":"308","DOI":"10.1109\/TSE.1976.233837","volume":"2","author":"TJ McCabe","year":"1976","unstructured":"McCabe, T.J.: A complexity measure. IEEE Trans. Softw. Eng. 2, 308\u2013320 (1976)","journal-title":"IEEE Trans. Softw. Eng."},{"key":"10_CR9","unstructured":"Ryder, C.: Software Measurement for Functional Programming. PhD thesis, University of Kent at Canterbury, United Kingdom (2004)"},{"key":"10_CR10","unstructured":"Ryder, C., Thompson, S.J.: Software metrics: measuring Haskell. In: 6th Symposium on Trends in Functional Programming (TFP 2005), pp. 31\u201346 (2005)"},{"key":"10_CR11","unstructured":"van den Berg, K.: Software measurement and functional programming. PhD thesis, University of Twente, Netherlands (1995)"},{"key":"10_CR12","unstructured":"Kir\u00e1ly, R., Kitlei, R.: Application of complexity metrics in functional languages. In: 8th Joint Conference on Mathematics and Computer Science (MaCS 2010), Selected Papers, pp. 267\u2013282 (2010)"},{"key":"10_CR13","unstructured":"Briand, L., El Emam, K., Morasca, S.: Theoretical and empirical validation of software product measures. In: International Software Engineering Research Network, Technical Report ISERN-95-03 (1995)"},{"key":"10_CR14","doi-asserted-by":"publisher","first-page":"897","DOI":"10.1109\/TSE.2005.112","volume":"31","author":"T Gyimothy","year":"2005","unstructured":"Gyimothy, T., Ferenc, R., Siket, I.: Empirical validation of object-oriented metrics on open source software for fault prediction. IEEE Trans. Softw. Eng. 31, 897\u2013910 (2005)","journal-title":"IEEE Trans. Softw. Eng."},{"key":"10_CR15","doi-asserted-by":"publisher","first-page":"706","DOI":"10.1109\/TSE.2002.1019484","volume":"28","author":"LC Briand","year":"2002","unstructured":"Briand, L.C., Melo, W.L., Wust, J.: Assessing the applicability of fault-proneness models across object-oriented software projects. IEEE Trans. Softw. Eng. 28, 706\u2013720 (2002)","journal-title":"IEEE Trans. Softw. Eng."},{"key":"10_CR16","doi-asserted-by":"publisher","DOI":"10.1002\/9781118548387","volume-title":"Applied Logistic Regression","author":"DW Hosmer Jr","year":"2013","unstructured":"Hosmer, D.W., Jr., Lemeshow, S., Sturdivant, R.X.: Applied Logistic Regression. Wiley, Hoboken (2013)"},{"key":"10_CR17","doi-asserted-by":"publisher","first-page":"225","DOI":"10.1016\/S0164-1212(96)00153-7","volume":"38","author":"F Lanubile","year":"1997","unstructured":"Lanubile, F., Visaggio, G.: Evaluating predictive quality models derived from software measures: lessons learned. J. Syst. Softw. 38, 225\u2013234 (1997)","journal-title":"J. Syst. Softw."},{"key":"10_CR18","unstructured":"Nguyen, V., Deeds-Rubin, S., Tan, T., Boehm, B.W.: A SLOC counting standard. In: COCOMO-II Forum, pp. 1\u201316 (2007)"},{"key":"10_CR19","volume-title":"Software Cost Estimation with COCOMO-II","author":"BW Boehm","year":"2000","unstructured":"Boehm, B.W., et al.: Software Cost Estimation with COCOMO-II. Prentice-Hall, Upper Saddle River (2000)"},{"key":"10_CR20","unstructured":"SonarQube: Metric definitions (2019). https:\/\/docs.sonarqube.org\/latest\/user-guide\/metric-definitions\/"},{"key":"10_CR21","doi-asserted-by":"publisher","first-page":"476","DOI":"10.1109\/32.295895","volume":"20","author":"SR Chidamber","year":"1994","unstructured":"Chidamber, S.R., Kemerer, C.F.: A metrics suite for object-oriented design. IEEE Trans. Softw. Eng. 20, 476\u2013493 (1994)","journal-title":"IEEE Trans. Softw. Eng."},{"key":"10_CR22","doi-asserted-by":"crossref","first-page":"111","DOI":"10.1111\/j.2517-6161.1974.tb00994.x","volume":"36","author":"M Stone","year":"1974","unstructured":"Stone, M.: Cross-validatory choice and assessment of statistical predictions. J. Royal Stat. Soc. Ser. B (Methodol.) 36, 111\u2013133 (1974)","journal-title":"J. Royal Stat. Soc. Ser. B (Methodol.)"},{"key":"10_CR23","unstructured":"Kohavi, R.: A study of cross-validation and bootstrap for accuracy estimation and model selection. In: 14th International Joint Conference on Artificial Intelligence (IJCAI 1995), pp. 1137\u20131145. Morgan Kaufmann (1995)"},{"key":"10_CR24","doi-asserted-by":"publisher","first-page":"427","DOI":"10.1016\/j.ipm.2009.03.002","volume":"45","author":"M Sokolova","year":"2009","unstructured":"Sokolova, M., Lapalme, G.: A systematic analysis of performance measures for classification tasks. Inf. Process. Manag. 45, 427\u2013437 (2009)","journal-title":"Inf. Process. Manag."},{"key":"10_CR25","unstructured":"GitHub: Closing issues using keywords (2019). https:\/\/help.github.com\/en\/articles\/closing-issues-using-keywords"},{"key":"10_CR26","unstructured":"https:\/\/github.com\/dotnet\/cli. Version: bf26e7976"},{"key":"10_CR27","unstructured":"https:\/\/github.com\/dotnet\/machinelearning. Version: b8d1b501"},{"key":"10_CR28","unstructured":"https:\/\/github.com\/akkadotnet\/akka.net. Version: bc5cc65a3"},{"key":"10_CR29","unstructured":"https:\/\/github.com\/aspnet\/AspNetCore. Version: 5af8e170bc"},{"key":"10_CR30","unstructured":"https:\/\/github.com\/IdentityServer\/IdentityServer4. Version: da143532"},{"key":"10_CR31","unstructured":"https:\/\/github.com\/jellyfin\/jellyfin. Version: d7aaa1489"},{"key":"10_CR32","unstructured":"https:\/\/github.com\/OpenRA\/OpenRA. Version: 27cfa9b1f"},{"key":"10_CR33","unstructured":"https:\/\/github.com\/0xd4d\/dnSpy. Version: 3728fad9d"},{"key":"10_CR34","unstructured":"https:\/\/github.com\/icsharpcode\/ILSpy. Version: 72c7e4e8"},{"key":"10_CR35","unstructured":"https:\/\/github.com\/Humanizr\/Humanizer. Version: b3abca2"},{"key":"10_CR36","unstructured":"https:\/\/github.com\/aspnet\/EntityFrameworkCore. Version: 5df258248"},{"key":"10_CR37","doi-asserted-by":"crossref","unstructured":"Uesbeck, P.M., Stefik, A., Hanenberg, S., Pedersen, J., Daleiden, P.: An empirical study on the impact of C++ lambdas and programmer experience. In: 38th International Conference on Software Engineering (ICSE 2016), pp. 760\u2013771. ACM (2016)","DOI":"10.1145\/2884781.2884849"},{"key":"10_CR38","doi-asserted-by":"crossref","unstructured":"Finifter, M., Mettler, A., Sastry, N., Wagner, D.: Verifiable functional purity in Java. In: 15th ACM Conference on Computer and Communications Security (CCS 2008), pp. 161\u2013174. ACM (2008)","DOI":"10.1145\/1455770.1455793"},{"key":"10_CR39","first-page":"1","volume":"37","author":"M Sharma","year":"2012","unstructured":"Sharma, M., Gill, N., Sikka, S.: Survey of object-oriented metrics: focusing on validation and formal specification. ACM SIGSOFT Softw. Eng. Notes 37, 1\u20135 (2012)","journal-title":"ACM SIGSOFT Softw. Eng. Notes"},{"key":"10_CR40","unstructured":"Warmuth, D.: Validation of software measures for the functional programming language Erlang. MSc Thesis, Humboldt-Universit\u00e4t zu Berlin, Germany (2018)"},{"key":"10_CR41","unstructured":"Zuilhof, B., van Hees, R., Grelck, C.: Code quality metrics for the functional side of the object-oriented language C#. In: 12th Seminar on Advanced Techniques and Tools for Software Evolution (SATToSE 2019), CEUR Workshop Proceedings, vol. 2510, pp. 31\u201346 (2019)"},{"key":"10_CR42","unstructured":"Zuilhof, B.: Code quality metrics for the functional side of the object-oriented language C#. MSc Thesis, University of Amsterdam, Netherlands (2019)"}],"container-title":["Lecture Notes in Computer Science","Composability, Comprehensibility and Correctness of Working Software"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-031-42833-3_10","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,10,30]],"date-time":"2024-10-30T23:46:06Z","timestamp":1730331966000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-031-42833-3_10"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023]]},"ISBN":["9783031428326","9783031428333"],"references-count":42,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-42833-3_10","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2023]]},"assertion":[{"value":"18 October 2023","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"CEFP","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Central European Functional Programming School","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Budapest","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Hungary","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2019","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"17 June 2019","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"21 June 2019","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"8","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"cefp2019","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/people.inf.elte.hu\/cefp\/index.html","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Single-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Easychair","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"13","order":3,"name":"number_of_submissions_sent_for_review","label":"Number of Submissions Sent for Review","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"7","order":4,"name":"number_of_full_papers_accepted","label":"Number of Full Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"4","order":5,"name":"number_of_short_papers_accepted","label":"Number of Short Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"54% - The value is computed by the equation \"Number of Full Papers Accepted \/ Number of Submissions Sent for Review * 100\" and then rounded to a whole number.","order":6,"name":"acceptance_rate_of_full_papers","label":"Acceptance Rate of Full Papers","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"2","order":7,"name":"average_number_of_reviews_per_paper","label":"Average Number of Reviews per Paper","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"1","order":8,"name":"average_number_of_papers_per_reviewer","label":"Average Number of Papers per Reviewer","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Yes","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}}]}}