{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,30]],"date-time":"2026-01-30T03:34:12Z","timestamp":1769744052908,"version":"3.49.0"},"publisher-location":"Cham","reference-count":27,"publisher":"Springer Nature Switzerland","isbn-type":[{"value":"9783031870538","type":"print"},{"value":"9783031870545","type":"electronic"}],"license":[{"start":{"date-parts":[[2025,1,1]],"date-time":"2025-01-01T00:00:00Z","timestamp":1735689600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2025,1,1]],"date-time":"2025-01-01T00:00:00Z","timestamp":1735689600000},"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":[[2025]]},"DOI":"10.1007\/978-3-031-87054-5_10","type":"book-chapter","created":{"date-parts":[[2025,3,23]],"date-time":"2025-03-23T12:15:23Z","timestamp":1742732123000},"page":"138-154","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":4,"title":["Automatic Generation of\u00a0Loop Invariants in\u00a0Dafny with\u00a0Large Language Models"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-3825-3954","authenticated-orcid":false,"given":"Jo\u00e3o","family":"Pascoal Faria","sequence":"first","affiliation":[]},{"given":"Emanuel","family":"Trigo","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0003-3734-3157","authenticated-orcid":false,"given":"Rui","family":"Abreu","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2025,3,21]]},"reference":[{"key":"10_CR1","doi-asserted-by":"crossref","unstructured":"Ahrendt, W., et al.: TriCo-triple co-piloting of implementation, specification and tests. In: International Symposium on Leveraging Applications of Formal Methods, pp. 174\u2013187. Springer, Cham (2022)","DOI":"10.1007\/978-3-031-19849-6_11"},{"key":"10_CR2","unstructured":"Dijkstra, E.W., et al.: Notes on structured programming (1970)"},{"issue":"1","key":"10_CR3","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1002\/sys.20044","volume":"9","author":"B Boehm","year":"2006","unstructured":"Boehm, B.: Some future trends and implications for systems and software engineering processes. Syst. Eng. 9(1), 1\u201319 (2006)","journal-title":"Syst. Eng."},{"key":"10_CR4","unstructured":"ONCD. Back to the building blocks: a path toward secure and measurable software. Technical report, White House (2024). https:\/\/www.whitehouse.gov\/wp-content\/uploads\/2024\/02\/Final-ONCD-Technical- Report.pdf"},{"key":"10_CR5","unstructured":"Vardi, M.Y.: The automated-reasoning revolution: from theory to practice and back. In: Distinguished Lecture at NSF CISE, Spring (2016)"},{"key":"10_CR6","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"337","DOI":"10.1007\/978-3-540-78800-3_24","volume-title":"Tools and Algorithms for the Construction and Analysis of Systems","author":"L de Moura","year":"2008","unstructured":"de Moura, L., Bj\u00f8rner, N.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337\u2013340. Springer, Heidelberg (2008). https:\/\/doi.org\/10.1007\/978-3-540-78800-3_24"},{"issue":"6","key":"10_CR7","doi-asserted-by":"publisher","first-page":"94","DOI":"10.1109\/MS.2017.4121212","volume":"34","author":"K Rustan","year":"2017","unstructured":"Rustan, K., Leino, M.: Accessible software verification with Dafny. IEEE Softw. 34(6), 94\u201397 (2017)","journal-title":"IEEE Softw."},{"key":"10_CR8","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"233","DOI":"10.1007\/978-3-642-33826-7_16","volume-title":"Software Engineering and Formal Methods","author":"P Cuoq","year":"2012","unstructured":"Cuoq, P., Kirchner, F., Kosmatov, N., Prevosto, V., Signoles, J., Yakobowski, B.: Frama-C. In: Eleftherakis, G., Hinchey, M., Holcombe, M. (eds.) SEFM 2012. LNCS, vol. 7504, pp. 233\u2013247. Springer, Heidelberg (2012). https:\/\/doi.org\/10.1007\/978-3-642-33826-7_16"},{"key":"10_CR9","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"125","DOI":"10.1007\/978-3-642-37036-6_8","volume-title":"Programming Languages and Systems","author":"J-C Filli\u00e2tre","year":"2013","unstructured":"Filli\u00e2tre, J.-C., Paskevich, A.: Why3 \u2014 where programs meet provers. In: Felleisen, M., Gardner, P. (eds.) ESOP 2013. LNCS, vol. 7792, pp. 125\u2013128. Springer, Heidelberg (2013). https:\/\/doi.org\/10.1007\/978-3-642-37036-6_8"},{"key":"10_CR10","doi-asserted-by":"crossref","unstructured":"Faria, J.P., Abreu, R.: Case studies of development of verified programs with Dafny for accessibility assessment. In: International Conference on Fundamentals of Software Engineering, pp. 25\u201339. Springer, Cham (2023)","DOI":"10.1007\/978-3-031-42441-0_3"},{"key":"10_CR11","unstructured":"Si, X., et al.: Learning loop invariants for program verification. In: Advances in Neural Information Processing Systems, vol. 31 (2018)"},{"key":"10_CR12","first-page":"1877","volume":"33","author":"T Brown","year":"2020","unstructured":"Brown, T., et al.: Language models are few-shot learners. Adv. Neural. Inf. Process. Syst. 33, 1877\u20131901 (2020)","journal-title":"Adv. Neural. Inf. Process. Syst."},{"key":"10_CR13","unstructured":"Kamath, A., et al.: Finding Inductive Loop Invariants using Large Language Models. arXiv preprint arXiv:2311.07948 (2023)"},{"key":"10_CR14","doi-asserted-by":"crossref","unstructured":"Misu, M.R.H., et al.: Towards AI-Assisted Synthesis of Verified Dafny Methods. arXiv preprint arXiv:2402.00247 (2024)","DOI":"10.1145\/3643763"},{"key":"10_CR15","doi-asserted-by":"crossref","unstructured":"Silva, \u00c1., Mendes, A., Ferreira, J.F.: Leveraging Large Language Models to Boost Dafny\u2019s Developers Productivity. arXiv preprint arXiv:2401.00963 (2024)","DOI":"10.1145\/3644033.3644374"},{"key":"10_CR16","unstructured":"Austin, J., et al.: Program synthesis with large language models. arXiv preprint arXiv:2108.07732 (2021)"},{"key":"10_CR17","unstructured":"Rustan, K., Leino, M.: Program Proofs. MIT Press (2023)"},{"key":"10_CR18","unstructured":"Chen, M., et al.: Evaluating large language models trained on code. arXiv preprint arXiv:2107.03374 (2021)"},{"issue":"10","key":"10_CR19","doi-asserted-by":"publisher","first-page":"1019","DOI":"10.1109\/TSE.2015.2431688","volume":"41","author":"JP Galeotti","year":"2015","unstructured":"Galeotti, J.P., et al.: Inferring loop invariants by mutation, dynamic analysis, and static checking. IEEE Trans. Softw. Eng. 41(10), 1019\u20131037 (2015)","journal-title":"IEEE Trans. Softw. Eng."},{"key":"10_CR20","doi-asserted-by":"publisher","first-page":"235","DOI":"10.1007\/s10703-016-0248-5","volume":"48","author":"R Sharma","year":"2016","unstructured":"Sharma, R., Aiken, A.: From invariant checking to invariant inference using randomized search. Formal Methods Syst. Des. 48, 235\u2013256 (2016)","journal-title":"Formal Methods Syst. Des."},{"key":"10_CR21","doi-asserted-by":"crossref","unstructured":"Jan\u00dfen, C., Richter, C., Wehrheim, H.: Can ChatGPT support software verification? In: International Conference on Fundamental Approaches to Software Engineering, pp. 266\u2013279. Springer, Cham (2024)","DOI":"10.1007\/978-3-031-57259-3_13"},{"key":"10_CR22","unstructured":"Pei, K., et al.: Can large language models reason about program invariants? In: International Conference on Machine Learning, pp. 27496\u201327520. PMLR (2023)"},{"key":"10_CR23","doi-asserted-by":"crossref","unstructured":"Wu, G., et al.: LLM meets bounded model checking: neurosymbolic loop invariant inference. In: Proceedings of the 39th IEEE\/ACM International Conference on Automated Software Engineering, pp. 406\u2013417 (2024)","DOI":"10.1145\/3691620.3695014"},{"key":"10_CR24","unstructured":"Baudin, P., et al.: ACSL: ANSI\/ISO C Specification Language. In: COM\/HTML\/ACSL. HTML (2021)"},{"key":"10_CR25","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"184","DOI":"10.1007\/978-3-642-22110-1_16","volume-title":"Computer Aided Verification","author":"D Beyer","year":"2011","unstructured":"Beyer, D., Keremoglu, M.E.: CPAchecker: a tool for configurable software verification. In: Gopalakrishnan, G., Qadeer, S. (eds.) CAV 2011. LNCS, vol. 6806, pp. 184\u2013190. Springer, Heidelberg (2011). https:\/\/doi.org\/10.1007\/978-3-642-22110-1_16"},{"key":"10_CR26","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"447","DOI":"10.1007\/978-3-319-89963-3_30","volume-title":"Tools and Algorithms for the Construction and Analysis of Systems","author":"M Heizmann","year":"2018","unstructured":"Heizmann, M., et al.: Ultimate automizer and the search for perfect interpolants. In: Beyer, D., Huisman, M. (eds.) TACAS 2018. LNCS, vol. 10806, pp. 447\u2013451. Springer, Cham (2018). https:\/\/doi.org\/10.1007\/978-3-319-89963-3_30"},{"issue":"1\u20133","key":"10_CR27","doi-asserted-by":"publisher","first-page":"35","DOI":"10.1016\/j.scico.2007.01.015","volume":"69","author":"MD Ernst","year":"2007","unstructured":"Ernst, M.D., et al.: The Daikon system for dynamic detection of likely invariants. Sci. Comput. Program. 69(1\u20133), 35\u201345 (2007)","journal-title":"Sci. Comput. Program."}],"container-title":["Lecture Notes in Computer Science","Fundamentals of Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-031-87054-5_10","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,3,23]],"date-time":"2025-03-23T12:15:30Z","timestamp":1742732130000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-031-87054-5_10"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025]]},"ISBN":["9783031870538","9783031870545"],"references-count":27,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-87054-5_10","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2025]]},"assertion":[{"value":"21 March 2025","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"FSEN","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Conference on Fundamentals of Software Engineering","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"V\u00e4ster\u00e5s","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Sweden","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2025","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"7 April 2025","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"8 April 2025","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"11","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"fsen2025","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/conf.researchr.org\/home\/fsen-2025","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}}]}}