{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,25]],"date-time":"2026-02-25T18:02:52Z","timestamp":1772042572314,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":69,"publisher":"ACM","license":[{"start":{"date-parts":[[2024,4,12]],"date-time":"2024-04-12T00:00:00Z","timestamp":1712880000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100001809","name":"National Natural Science Foundation of China","doi-asserted-by":"publisher","award":["62141222"],"award-info":[{"award-number":["62141222"]}],"id":[{"id":"10.13039\/501100001809","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100012226","name":"Fundamental Research Funds for the Central Universities","doi-asserted-by":"publisher","award":["226-2022-00064"],"award-info":[{"award-number":["226-2022-00064"]}],"id":[{"id":"10.13039\/501100012226","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100001321","name":"National Research Foundation","doi-asserted-by":"publisher","award":["NRF-NRFI08-2022-0002"],"award-info":[{"award-number":["NRF-NRFI08-2022-0002"]}],"id":[{"id":"10.13039\/501100001321","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2024,4,12]]},"DOI":"10.1145\/3597503.3639135","type":"proceedings-article","created":{"date-parts":[[2024,4,12]],"date-time":"2024-04-12T16:43:26Z","timestamp":1712940206000},"page":"1-12","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["Streamlining Java Programming: Uncovering Well-Formed Idioms with IdioMine"],"prefix":"10.1145","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-6248-6734","authenticated-orcid":false,"given":"Yanming","family":"Yang","sequence":"first","affiliation":[{"name":"Zhejiang university, Hangzhou, China"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-0093-3292","authenticated-orcid":false,"given":"Xing","family":"Hu","sequence":"additional","affiliation":[{"name":"Zhejiang University, Hangzhou, China"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-6302-3256","authenticated-orcid":false,"given":"Xin","family":"Xia","sequence":"additional","affiliation":[{"name":"Huawei, Hangzhou, China"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-4367-7201","authenticated-orcid":false,"given":"David","family":"Lo","sequence":"additional","affiliation":[{"name":"Singapore Management University, Singapore, Singapore"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4111-4189","authenticated-orcid":false,"given":"Xiaohu","family":"Yang","sequence":"additional","affiliation":[{"name":"Zhejiang University, Hangzhou, China"}]}],"member":"320","published-online":{"date-parts":[[2024,4,12]]},"reference":[{"key":"e_1_3_2_1_1_1","unstructured":"2023. https:\/\/en.wikipedia.org\/wiki\/Programming_idiom."},{"key":"e_1_3_2_1_2_1","unstructured":"2023. https:\/\/en.wikipedia.org\/wiki\/Programming_idiom."},{"key":"e_1_3_2_1_3_1","unstructured":"2023. https:\/\/en.wikibooks.org\/wiki\/More_C%2B%2B_Idioms."},{"key":"e_1_3_2_1_4_1","unstructured":"2023. http:\/\/c2.com\/ppr\/wiki\/JavaIdioms\/JavaIdioms.html."},{"key":"e_1_3_2_1_5_1","unstructured":"2023. http:\/\/shichuan.github.io\/javascript-patterns\/."},{"key":"e_1_3_2_1_6_1","unstructured":"2023. https:\/\/github.com\/rwaldron\/idiomatic.js\/."},{"key":"e_1_3_2_1_7_1","volume-title":"https:\/\/github.com\/jeffkit\/rabbitmq-benchmark\/blob\/Producer.java#L53","unstructured":"2023. https:\/\/github.com\/jeffkit\/rabbitmq-benchmark\/blob\/Producer.java#L53."},{"key":"e_1_3_2_1_8_1","unstructured":"2023. http:\/\/www.java2s.com\/Open-Source\/Java_Free_Code\/Server\/Download_Apposite_Repository_Server_Free_Java_Code.htm."},{"key":"e_1_3_2_1_9_1","unstructured":"2023. https:\/\/github.com\/structr\/structr\/blob\/0.4.9\/structr\/structr-core\/src\/main\/java\/org\/structr\/core\/entity\/RelationClass.java#L330."},{"key":"e_1_3_2_1_10_1","unstructured":"2023. https:\/\/structr.com\/#start."},{"key":"e_1_3_2_1_11_1","unstructured":"2023. https:\/\/en.wikipedia.org\/wiki\/Command_pattern."},{"key":"e_1_3_2_1_12_1","unstructured":"2023. https:\/\/github.com\/Yanming-Yang\/idioMine."},{"key":"e_1_3_2_1_13_1","unstructured":"2023. https:\/\/github.com\/c2nes\/javalang."},{"key":"e_1_3_2_1_14_1","unstructured":"2023. https:\/\/en.wikipedia.org\/wiki\/Hyperparameter_optimization)."},{"key":"e_1_3_2_1_15_1","unstructured":"2023. https:\/\/en.wikipedia.org\/wiki\/Silhouette_(clustering)."},{"key":"e_1_3_2_1_16_1","unstructured":"2023. https:\/\/openai.com\/blog\/chatgpt."},{"key":"e_1_3_2_1_17_1","unstructured":"2023. https:\/\/openai.com\/."},{"key":"e_1_3_2_1_18_1","unstructured":"2023. https:\/\/openai.com\/blog\/introducing-chatgpt-and-whisper-apis."},{"key":"e_1_3_2_1_19_1","unstructured":"2023. https:\/\/pytorch.org\/."},{"key":"e_1_3_2_1_20_1","unstructured":"2023. https:\/\/en.wikipedia.org\/wiki\/Dispose_pattern."},{"key":"e_1_3_2_1_21_1","unstructured":"2023. https:\/\/en.wikipedia.org\/wiki\/Observer_pattern."},{"key":"e_1_3_2_1_22_1","unstructured":"2023. https:\/\/java-design-patterns.com\/patterns\/producer-consumer\/."},{"key":"e_1_3_2_1_23_1","unstructured":"2023. https:\/\/en.wikipedia.org\/wiki\/Builder_pattern."},{"key":"e_1_3_2_1_24_1","unstructured":"2023. https:\/\/en.wikipedia.org\/wiki\/Lazy_initialization."},{"key":"e_1_3_2_1_25_1","unstructured":"2023. https:\/\/learn.microsoft.com\/en-us\/power-query\/wait-retry."},{"key":"e_1_3_2_1_26_1","unstructured":"2023. https:\/\/en.wikipedia.org\/wiki\/Double-checked_locking."},{"key":"e_1_3_2_1_27_1","unstructured":"2023. https:\/\/en.wikipedia.org\/wiki\/Factory_method_pattern."},{"key":"e_1_3_2_1_28_1","unstructured":"2023. https:\/\/www.javacodegeeks.com\/2013\/09\/android-viewholder-pattern-example.html."},{"key":"e_1_3_2_1_29_1","unstructured":"2023. https:\/\/en.wikipedia.org\/wiki\/Dynamic_dispatch."},{"key":"e_1_3_2_1_30_1","unstructured":"2023. https:\/\/en.wikipedia.org\/wiki\/Random_access."},{"key":"e_1_3_2_1_31_1","unstructured":"2023. Hack is a programming language for the HipHop Virtual Machine created by Facebook as a dialect of PHP. https:\/\/hacklang.org\/."},{"key":"e_1_3_2_1_32_1","unstructured":"2023. Use-define chain. https:\/\/en.wikipedia.org\/wiki\/Use-define_chain."},{"key":"e_1_3_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-018-9628-3"},{"key":"e_1_3_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2018.2832048"},{"key":"e_1_3_2_1_35_1","volume-title":"Mining source code repositories at massive scale using language modeling. In 2013 10th working conference on mining software repositories (MSR)","author":"Allamanis Miltiadis","unstructured":"Miltiadis Allamanis and Charles Sutton. 2013. Mining source code repositories at massive scale using language modeling. In 2013 10th working conference on mining software repositories (MSR). IEEE, 207--216."},{"key":"e_1_3_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/2635868.2635901"},{"key":"e_1_3_2_1_37_1","volume-title":"Yuanzhi Li, Scott Lundberg, et al.","author":"Bubeck S\u00e9bastien","year":"2023","unstructured":"S\u00e9bastien Bubeck, Varun Chandrasekaran, Ronen Eldan, Johannes Gehrke, Eric Horvitz, Ece Kamar, Peter Lee, Yin Tat Lee, Yuanzhi Li, Scott Lundberg, et al. 2023. Sparks of artificial general intelligence: Early experiments with gpt-4. arXiv preprint arXiv:2303.12712 (2023)."},{"key":"e_1_3_2_1_38_1","volume-title":"Yu","author":"Budinsky Frank J.","year":"1996","unstructured":"Frank J. Budinsky, Marilyn A. Finnie, John M. Vlissides, and Patsy S. Yu. 1996. Automatic code generation from design patterns. IBM systems Journal 35, 2 (1996), 151--171."},{"key":"e_1_3_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2021.106690"},{"key":"e_1_3_2_1_40_1","volume-title":"Kim Mens, Tim Molderez, Siegfried Nijssen, and Vadim Zaytsev.","author":"Nucci Dario Di","year":"2019","unstructured":"Dario Di Nucci, Hoang-Son Pham, Johan Fabry, Coen De Roover, Kim Mens, Tim Molderez, Siegfried Nijssen, and Vadim Zaytsev. 2019. A Language-Parametric Modular Framework for Mining Idiomatic Code Patterns.. In SATToSE."},{"key":"e_1_3_2_1_41_1","volume-title":"A survey for in-context learning. arXiv preprint arXiv:2301.00234","author":"Dong Qingxiu","year":"2022","unstructured":"Qingxiu Dong, Lei Li, Damai Dai, Ce Zheng, Zhiyong Wu, Baobao Chang, Xu Sun, Jingjing Xu, and Zhifang Sui. 2022. A survey for in-context learning. arXiv preprint arXiv:2301.00234 (2022)."},{"key":"e_1_3_2_1_42_1","unstructured":"Martin Ester Hans-Peter Kriegel J\u00f6rg Sander Xiaowei Xu et al. 1996. A density-based algorithm for discovering clusters in large spatial databases with noise. In kdd Vol. 96. 226--231."},{"key":"e_1_3_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/1094811.1094819"},{"key":"e_1_3_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/2997364.2997386"},{"key":"e_1_3_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/2581507.2581514"},{"key":"e_1_3_2_1_46_1","volume-title":"Graphcodebert: Pre-training code representations with data flow. arXiv preprint arXiv:2009.08366","author":"Guo Daya","year":"2020","unstructured":"Daya Guo, Shuo Ren, Shuai Lu, Zhangyin Feng, Duyu Tang, Shujie Liu, Long Zhou, Nan Duan, Alexey Svyatkovskiy, Shengyu Fu, et al. 2020. Graphcodebert: Pre-training code representations with data flow. arXiv preprint arXiv:2009.08366 (2020)."},{"key":"e_1_3_2_1_47_1","volume-title":"Java Idioms: Code Blocks and Control Flow.. In EuroPLoP. 227--250.","author":"Haase Arno","year":"2001","unstructured":"Arno Haase. 2001. Java Idioms: Code Blocks and Control Flow.. In EuroPLoP. 227--250."},{"key":"e_1_3_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-07013-1_23"},{"key":"e_1_3_2_1_49_1","unstructured":"Andrew Hunt. 1900. The pragmatic programmer. Pearson Education India."},{"key":"e_1_3_2_1_50_1","volume-title":"Learning programmatic idioms for scalable semantic parsing. arXiv preprint arXiv:1904.09086","author":"Iyer Srinivasan","year":"2019","unstructured":"Srinivasan Iyer, Alvin Cheung, and Luke Zettlemoyer. 2019. Learning programmatic idioms for scalable semantic parsing. arXiv preprint arXiv:1904.09086 (2019)."},{"key":"e_1_3_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPSW.2012.69"},{"key":"e_1_3_2_1_52_1","first-page":"1","article-title":"Pre-train, prompt, and predict: A systematic survey of prompting methods in natural language processing","volume":"55","author":"Liu Pengfei","year":"2023","unstructured":"Pengfei Liu, Weizhe Yuan, Jinlan Fu, Zhengbao Jiang, Hiroaki Hayashi, and Graham Neubig. 2023. Pre-train, prompt, and predict: A systematic survey of prompting methods in natural language processing. Comput. Surveys 55, 9 (2023), 1--35.","journal-title":"Comput. Surveys"},{"key":"e_1_3_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/3484272.3484959"},{"key":"e_1_3_2_1_54_1","unstructured":"Robert C Martin. 2009. Clean code: a handbook of agile software craftsmanship. Pearson Education."},{"key":"e_1_3_2_1_55_1","unstructured":"Steve McConnell. 2004. Code complete. Pearson Education."},{"key":"e_1_3_2_1_56_1","volume-title":"Interrater reliability: the kappa statistic. Biochemia medica 22, 3","author":"McHugh Mary L","year":"2012","unstructured":"Mary L McHugh. 2012. Interrater reliability: the kappa statistic. Biochemia medica 22, 3 (2012), 276--282."},{"key":"e_1_3_2_1_57_1","unstructured":"Jos\u00e9 J Merchante and Gregorio Robles. 2017. From Python to Pythonic: Searching for Python idioms in GitHub. In Seminar Series on Advanced Techniques and Tools for Software Evolution (SATToSE)."},{"key":"e_1_3_2_1_58_1","unstructured":"Scott Meyers. 2005. Effective C++: 55 specific ways to improve your programs and designs. Pearson Education."},{"key":"e_1_3_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10515-021-00294-x"},{"key":"e_1_3_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-61470-6_4"},{"key":"e_1_3_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSME46990.2020.00098"},{"key":"e_1_3_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.1145\/2884781.2884808"},{"key":"e_1_3_2_1_63_1","volume-title":"Program synthesis and semantic parsing with learned code idioms. Advances in Neural Information Processing Systems 32","author":"Shin Eui Chul","year":"2019","unstructured":"Eui Chul Shin, Miltiadis Allamanis, Marc Brockschmidt, and Alex Polozov. 2019. Program synthesis and semantic parsing with learned code idioms. Advances in Neural Information Processing Systems 32 (2019)."},{"key":"e_1_3_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.1145\/3510457.3513046"},{"key":"e_1_3_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF00264357"},{"key":"e_1_3_2_1_66_1","doi-asserted-by":"publisher","DOI":"10.1145\/3468264.3473928"},{"key":"e_1_3_2_1_67_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-021-10087-1"},{"key":"e_1_3_2_1_68_1","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/3503509","article-title":"Predictive models in software engineering: Challenges and opportunities","volume":"31","author":"Yang Yanming","year":"2022","unstructured":"Yanming Yang, Xin Xia, David Lo, Tingting Bi, John Grundy, and Xiaohu Yang. 2022. Predictive models in software engineering: Challenges and opportunities. ACM Transactions on Software Engineering and Methodology (TOSEM) 31, 3 (2022), 1--72.","journal-title":"ACM Transactions on Software Engineering and Methodology (TOSEM)"},{"key":"e_1_3_2_1_69_1","doi-asserted-by":"publisher","DOI":"10.1145\/3505243"}],"event":{"name":"ICSE '24: IEEE\/ACM 46th International Conference on Software Engineering","location":"Lisbon Portugal","acronym":"ICSE '24","sponsor":["SIGSOFT ACM Special Interest Group on Software Engineering","IEEE CS","Faculty of Engineering of University of Porto"]},"container-title":["Proceedings of the IEEE\/ACM 46th International Conference on Software Engineering"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3597503.3639135","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3597503.3639135","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T22:49:12Z","timestamp":1750286952000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3597503.3639135"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,4,12]]},"references-count":69,"alternative-id":["10.1145\/3597503.3639135","10.1145\/3597503"],"URL":"https:\/\/doi.org\/10.1145\/3597503.3639135","relation":{},"subject":[],"published":{"date-parts":[[2024,4,12]]},"assertion":[{"value":"2024-04-12","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}