{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,9]],"date-time":"2025-10-09T21:08:24Z","timestamp":1760044104723,"version":"3.41.0"},"publisher-location":"New York, NY, USA","reference-count":42,"publisher":"ACM","license":[{"start":{"date-parts":[[2020,6,29]],"date-time":"2020-06-29T00:00:00Z","timestamp":1593388800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2020,6,29]]},"DOI":"10.1145\/3379597.3387441","type":"proceedings-article","created":{"date-parts":[[2020,9,19]],"date-time":"2020-09-19T02:12:49Z","timestamp":1600481569000},"page":"93-102","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":14,"title":["An Empirical Study of Method Chaining in Java"],"prefix":"10.1145","author":[{"given":"Tomoki","family":"Nakamaru","sequence":"first","affiliation":[{"name":"The University of Tokyo"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Tomomasa","family":"Matsunaga","sequence":"additional","affiliation":[{"name":"The University of Tokyo"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Tetsuro","family":"Yamazaki","sequence":"additional","affiliation":[{"name":"The University of Tokyo"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Soramichi","family":"Akiyama","sequence":"additional","affiliation":[{"name":"The University of Tokyo"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Shigeru","family":"Chiba","sequence":"additional","affiliation":[{"name":"The University of Tokyo"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2020,9,18]]},"reference":[{"unstructured":"[n.d.]. Domain-Specific Languages. http:\/\/docs.groovy-lang.org\/docs\/latest\/html\/documentation\/core-domain-specific-languages.html. Accessed on 08\/23\/2019.  [n.d.]. Domain-Specific Languages. http:\/\/docs.groovy-lang.org\/docs\/latest\/html\/documentation\/core-domain-specific-languages.html. Accessed on 08\/23\/2019.","key":"e_1_3_2_1_1_1"},{"unstructured":"[n.d.]. Extensions - Kotlin Programming Language. https:\/\/kotlinlang.org\/docs\/reference\/extensions.html. Accessed on 08\/23\/2019.  [n.d.]. Extensions - Kotlin Programming Language. https:\/\/kotlinlang.org\/docs\/reference\/extensions.html. Accessed on 08\/23\/2019.","key":"e_1_3_2_1_2_1"},{"unstructured":"[n.d.]. Extensions - The Swift Programming Language (Swift 5.1). https:\/\/docs.swift.org\/swift-book\/LanguageGuide\/Extensions.html. Accessed on 08\/23\/2019.  [n.d.]. Extensions - The Swift Programming Language (Swift 5.1). https:\/\/docs.swift.org\/swift-book\/LanguageGuide\/Extensions.html. Accessed on 08\/23\/2019.","key":"e_1_3_2_1_3_1"},{"unstructured":"[n.d.]. Functions - D Programming Language. https:\/\/dlang.org\/spec\/function.html. Accessed on 08\/23\/2019.  [n.d.]. Functions - D Programming Language. https:\/\/dlang.org\/spec\/function.html. Accessed on 08\/23\/2019.","key":"e_1_3_2_1_4_1"},{"unstructured":"[n.d.]. Higher-Order Functions and Lambdas - Kotlin Programming Language. https:\/\/kotlinlang.org\/docs\/reference\/lambdas.html#passing-a-lambda-to-the-last-parameter. Accessed on 08\/23\/2019.  [n.d.]. Higher-Order Functions and Lambdas - Kotlin Programming Language. https:\/\/kotlinlang.org\/docs\/reference\/lambdas.html#passing-a-lambda-to-the-last-parameter. Accessed on 08\/23\/2019.","key":"e_1_3_2_1_5_1"},{"unstructured":"[n.d.]. Method Cascades in Dart. http:\/\/news.dartlang.org\/2012\/02\/method-cascades-in-dart-posted-by-gilad.html. Accessed on 08\/23\/2019.  [n.d.]. Method Cascades in Dart. http:\/\/news.dartlang.org\/2012\/02\/method-cascades-in-dart-posted-by-gilad.html. Accessed on 08\/23\/2019.","key":"e_1_3_2_1_6_1"},{"unstructured":"[n.d.]. Null Safety - Kotlin Programming Language. https:\/\/kotlinlang.org\/docs\/reference\/null-safety.html. Accessed on 08\/23\/2019.  [n.d.]. Null Safety - Kotlin Programming Language. https:\/\/kotlinlang.org\/docs\/reference\/null-safety.html. Accessed on 08\/23\/2019.","key":"e_1_3_2_1_7_1"},{"unstructured":"[n.d.]. OOP - Method chaining - why is it a good practice or not? - Stack Overflow. https:\/\/stackoverflow.com\/questions\/1103985\/method-chaining-why-is-it-a-good-practice-or-not. Accessed on 08\/23\/2019.  [n.d.]. OOP - Method chaining - why is it a good practice or not? - Stack Overflow. https:\/\/stackoverflow.com\/questions\/1103985\/method-chaining-why-is-it-a-good-practice-or-not. Accessed on 08\/23\/2019.","key":"e_1_3_2_1_8_1"},{"unstructured":"[n.d.]. Optional Chaining - The Swift Programming Language (Swift 5.1). https:\/\/docs.swift.org\/swift-book\/LanguageGuide\/OptionalChaining.html. Accessed on 08\/23\/2019.  [n.d.]. Optional Chaining - The Swift Programming Language (Swift 5.1). https:\/\/docs.swift.org\/swift-book\/LanguageGuide\/OptionalChaining.html. Accessed on 08\/23\/2019.","key":"e_1_3_2_1_9_1"},{"unstructured":"[n.d.]. Scope Functions - Kotlin Programming Language. https:\/\/kotlinlang.org\/docs\/reference\/scope-functions.html. Accessed on 08\/23\/2019.  [n.d.]. Scope Functions - Kotlin Programming Language. https:\/\/kotlinlang.org\/docs\/reference\/scope-functions.html. Accessed on 08\/23\/2019.","key":"e_1_3_2_1_10_1"},{"unstructured":"[n.d.]. TypeScript 3.7 \u2022 TypeScript. https:\/\/www.typescriptlang.org\/docs\/handbook\/release-notes\/typescript-3-7.html. Accessed on 12\/30\/2019.  [n.d.]. TypeScript 3.7 \u2022 TypeScript. https:\/\/www.typescriptlang.org\/docs\/handbook\/release-notes\/typescript-3-7.html. Accessed on 12\/30\/2019.","key":"e_1_3_2_1_11_1"},{"unstructured":"Kent Beck. 1997. Smalltalk Best Practice Patterns.  Kent Beck. 1997. Smalltalk Best Practice Patterns.","key":"e_1_3_2_1_12_1"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_13_1","DOI":"10.1145\/2614628.2614629"},{"unstructured":"Yegor Bugayenko. [n.d.]. Fluent Interfaces Are Bad for Maintainability. https:\/\/www.yegor256.com\/2018\/03\/13\/fluent-interfaces.html. Accessed on 08\/23\/2019.  Yegor Bugayenko. [n.d.]. Fluent Interfaces Are Bad for Maintainability. https:\/\/www.yegor256.com\/2018\/03\/13\/fluent-interfaces.html. Accessed on 08\/23\/2019.","key":"e_1_3_2_1_14_1"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_15_1","DOI":"10.1145\/3276604.3276621"},{"volume-title":"IEEE International Workshop on Software Evolvability (Software-Evolvability'05)","author":"Cook S.","unstructured":"S. Cook , R. Harrison , and P. Wernick . 2005. A simulation model of self-organising evolvability in software systems . In IEEE International Workshop on Software Evolvability (Software-Evolvability'05) . 17--22. S. Cook, R. Harrison, and P. Wernick. 2005. A simulation model of self-organising evolvability in software systems. In IEEE International Workshop on Software Evolvability (Software-Evolvability'05). 17--22.","key":"e_1_3_2_1_16_1"},{"volume-title":"Proceedings of the 36th International Conference on Software Engineering. 779--790","author":"Dyer Robert","unstructured":"Robert Dyer , Hridesh Rajan , Hoan Anh Nguyen , and Tien N. Nguyen . 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. 779--790 . Robert Dyer, Hridesh Rajan, Hoan Anh Nguyen, and Tien N. Nguyen. 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. 779--790.","key":"e_1_3_2_1_17_1"},{"unstructured":"Martin Fowler. [n.d.]. FluentInterface. https:\/\/www.martinfowler.com\/bliki\/FluentInterface.html. Accessed on 08\/23\/2019.  Martin Fowler. [n.d.]. FluentInterface. https:\/\/www.martinfowler.com\/bliki\/FluentInterface.html. Accessed on 08\/23\/2019.","key":"e_1_3_2_1_18_1"},{"volume-title":"Companion to the 21st ACM SIGPLAN Symposium on Objectoriented Programming Systems, Languages, and Applications.","author":"Freeman Steve","unstructured":"Steve Freeman and Nat Pryce . 2006. Evolving an Embedded Domain-specific Language in Java . In Companion to the 21st ACM SIGPLAN Symposium on Objectoriented Programming Systems, Languages, and Applications. Steve Freeman and Nat Pryce. 2006. Evolving an Embedded Domain-specific Language in Java. In Companion to the 21st ACM SIGPLAN Symposium on Objectoriented Programming Systems, Languages, and Applications.","key":"e_1_3_2_1_19_1"},{"key":"e_1_3_2_1_20_1","volume-title":"Proceedings of 30th European Conference on Object-Oriented Programming.","author":"Gil Yossi","year":"2016","unstructured":"Yossi Gil and Tomer Levy . 2016 . Formal Language Recognition with the Java Type Checker . In Proceedings of 30th European Conference on Object-Oriented Programming. Yossi Gil and Tomer Levy. 2016. Formal Language Recognition with the Java Type Checker. In Proceedings of 30th European Conference on Object-Oriented Programming."},{"key":"e_1_3_2_1_21_1","volume-title":"Proceedings of 30th European Conference on Object-Oriented Programming.","author":"Gil Yossi","year":"2019","unstructured":"Yossi Gil and Ori Roth . 2019 . Fling --- A Fluent API Generator . In Proceedings of 30th European Conference on Object-Oriented Programming. Yossi Gil and Ori Roth. 2019. Fling --- A Fluent API Generator. In Proceedings of 30th European Conference on Object-Oriented Programming."},{"key":"e_1_3_2_1_22_1","volume-title":"Statistical, nonlinear, and soft matter physics 70","author":"Gorshenev AA","year":"2005","unstructured":"AA Gorshenev and Yu M Pis'mak . 2005. Punctuated Equilibrium in Software Evolution. Physical review. E , Statistical, nonlinear, and soft matter physics 70 ( 2005 ), 067103. AA Gorshenev and Yu M Pis'mak. 2005. Punctuated Equilibrium in Software Evolution. Physical review. E, Statistical, nonlinear, and soft matter physics 70 (2005), 067103."},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_23_1","DOI":"10.1145\/3009837.3009871"},{"volume-title":"2011 18th Working Conference on Reverse Engineering.","author":"Guo Y.","unstructured":"Y. Guo , M. Wuersch , E. Giger , and H. C. Gall . 2011. An Empirical Validation of the Benefits of Adhering to the Law of Demeter . In 2011 18th Working Conference on Reverse Engineering. Y. Guo, M. Wuersch, E. Giger, and H. C. Gall. 2011. An Empirical Validation of the Benefits of Adhering to the Law of Demeter. In 2011 18th Working Conference on Reverse Engineering.","key":"e_1_3_2_1_24_1"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_25_1","DOI":"10.1109\/TSE.2008.105"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_27_1","DOI":"10.1145\/62084.62113"},{"volume-title":"2015 IEEE\/ACM 12th Working Conference on Mining Software Repositories.","author":"Lin Z.","unstructured":"Z. Lin and J. Whitehead . 2015. Why Power Laws? An Explanation from Fine-Grained Code Changes . In 2015 IEEE\/ACM 12th Working Conference on Mining Software Repositories. Z. Lin and J. Whitehead. 2015. Why Power Laws? An Explanation from Fine-Grained Code Changes. In 2015 IEEE\/ACM 12th Working Conference on Mining Software Repositories.","key":"e_1_3_2_1_28_1"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_29_1","DOI":"10.1145\/1391984.1391986"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_30_1","DOI":"10.1145\/3360584"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_31_1","DOI":"10.1145\/3133909"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_32_1","DOI":"10.1103\/PhysRevE.68.046116"},{"key":"e_1_3_2_1_33_1","volume-title":"Generating a Generic Fluent API in Java. The Art, Science, and Engineering of Programming","author":"Nakamaru Tomoki","year":"2020","unstructured":"Tomoki Nakamaru and Shigeru Chiba . 2020. Generating a Generic Fluent API in Java. The Art, Science, and Engineering of Programming ( 2020 ). Tomoki Nakamaru and Shigeru Chiba. 2020. Generating a Generic Fluent API in Java. The Art, Science, and Engineering of Programming (2020)."},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_34_1","DOI":"10.1145\/3136040.3136041"},{"key":"e_1_3_2_1_35_1","volume-title":"Pareto distributions and Zipf's law. Contemporary physics 46, 5","author":"Newman Mark EJ","year":"2005","unstructured":"Mark EJ Newman . 2005. Power laws , Pareto distributions and Zipf's law. Contemporary physics 46, 5 ( 2005 ), 323--351. Mark EJ Newman. 2005. Power laws, Pareto distributions and Zipf's law. Contemporary physics 46, 5 (2005), 323--351."},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_36_1","DOI":"10.1145\/1985441.1985446"},{"unstructured":"Dominik Picheta. 2017. Nim in Action.  Dominik Picheta. 2017. Nim in Action.","key":"e_1_3_2_1_37_1"},{"unstructured":"Marco Pivetta. [n.d.]. Fluent Interfaces are Evil. https:\/\/ocramius.github.io\/blog\/fluent-interfaces-are-evil\/. Accessed on 08\/23\/2019.  Marco Pivetta. [n.d.]. Fluent Interfaces are Evil. https:\/\/ocramius.github.io\/blog\/fluent-interfaces-are-evil\/. Accessed on 08\/23\/2019.","key":"e_1_3_2_1_38_1"},{"key":"e_1_3_2_1_39_1","volume-title":"A Study on the Current Status of Functional Idioms in Java. IEICE Transactions on Information and Systems","author":"Hiroto TANAKA","year":"2019","unstructured":"Hiroto TANAKA , Shinsuke MATSUMOTO, and Shinji KUSUMOTO. 2019. A Study on the Current Status of Functional Idioms in Java. IEICE Transactions on Information and Systems ( 2019 ). Hiroto TANAKA, Shinsuke MATSUMOTO, and Shinji KUSUMOTO. 2019. A Study on the Current Status of Functional Idioms in Java. IEICE Transactions on Information and Systems (2019)."},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_40_1","DOI":"10.1016\/j.ins.2010.10.022"},{"volume-title":"Empirical Evidence for SOC Dynamics in Software Evolution. In 2007 IEEE International Conference on Software Maintenance.","author":"Wu J.","unstructured":"J. Wu , R. C. Holt , and A. E. Hassan . 2007 . Empirical Evidence for SOC Dynamics in Software Evolution. In 2007 IEEE International Conference on Software Maintenance. J. Wu, R. C. Holt, and A. E. Hassan. 2007. Empirical Evidence for SOC Dynamics in Software Evolution. In 2007 IEEE International Conference on Software Maintenance.","key":"e_1_3_2_1_41_1"},{"doi-asserted-by":"crossref","unstructured":"Hao Xu. 2010. EriLex: An Embedded Domain Specific Language Generator. In Objects Models Components Patterns.  Hao Xu. 2010. EriLex: An Embedded Domain Specific Language Generator. In Objects Models Components Patterns.","key":"e_1_3_2_1_42_1","DOI":"10.1007\/978-3-642-13953-6_11"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_43_1","DOI":"10.1145\/3360560"}],"event":{"sponsor":["SIGSOFT ACM Special Interest Group on Software Engineering","IEEE CS","SIGAI ACM Special Interest Group on Artificial Intelligence","SIGKDD ACM Special Interest Group on Knowledge Discovery in Data"],"acronym":"MSR '20","name":"MSR '20: 17th International Conference on Mining Software Repositories","location":"Seoul Republic of Korea"},"container-title":["Proceedings of the 17th International Conference on Mining Software Repositories"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3379597.3387441","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3379597.3387441","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T22:41:20Z","timestamp":1750200080000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3379597.3387441"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,6,29]]},"references-count":42,"alternative-id":["10.1145\/3379597.3387441","10.1145\/3379597"],"URL":"https:\/\/doi.org\/10.1145\/3379597.3387441","relation":{},"subject":[],"published":{"date-parts":[[2020,6,29]]},"assertion":[{"value":"2020-09-18","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}