{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,24]],"date-time":"2025-06-24T06:28:52Z","timestamp":1750746532283,"version":"3.41.0"},"publisher-location":"New York, NY, USA","reference-count":66,"publisher":"ACM","license":[{"start":{"date-parts":[[2020,6,27]],"date-time":"2020-06-27T00:00:00Z","timestamp":1593216000000},"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,27]]},"DOI":"10.1145\/3377811.3380341","type":"proceedings-article","created":{"date-parts":[[2020,10,1]],"date-time":"2020-10-01T18:25:38Z","timestamp":1601576738000},"page":"1447-1458","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":4,"title":["Verifying object construction"],"prefix":"10.1145","author":[{"given":"Martin","family":"Kellogg","sequence":"first","affiliation":[{"name":"U. of Washington"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Manli","family":"Ran","sequence":"additional","affiliation":[{"name":"UC Riverside"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Manu","family":"Sridharan","sequence":"additional","affiliation":[{"name":"UC Riverside"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Martin","family":"Sch\u00e4f","sequence":"additional","affiliation":[{"name":"Amazon Web Services"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Michael D.","family":"Ernst","sequence":"additional","affiliation":[{"name":"U. of Washington"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2020,10]]},"reference":[{"volume-title":"OOPSLA","year":"2007","key":"e_1_3_2_1_1_1","unstructured":"2007. OOPSLA 2007, Object-Oriented Programming Systems, Languages, and Applications. Montreal, Canada."},{"volume-title":"ICSE 2008, Proceedings of the 30th International Conference on Software Engineering","key":"e_1_3_2_1_2_1","unstructured":"2008. ICSE 2008, Proceedings of the 30th International Conference on Software Engineering. Leipzig, Germany."},{"volume-title":"OOPSLA Companion: Object-Oriented Programming Systems, Languages, and Applications.","author":"Aldrich Jonathan","key":"e_1_3_2_1_3_1","unstructured":"Jonathan Aldrich, Joshua Sunshine, Darpan Saini, and Zachary Sparks. 2009. Typestate-oriented programming. In OOPSLA Companion: Object-Oriented Programming Systems, Languages, and Applications. Orlando, FL, USA, 1015--1022."},{"key":"e_1_3_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/1040305.1040314"},{"volume-title":"ESEC\/FSE 2019: The ACM 27th joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC\/FSE). Tallinn, Estonia, 740--750.","author":"Banerjee Subarno","key":"e_1_3_2_1_5_1","unstructured":"Subarno Banerjee, Lazaro Clapp, and Manu Sridharan. 2019. NullAway: Practical type-based null safety for Java. In ESEC\/FSE 2019: The ACM 27th joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC\/FSE). Tallinn, Estonia, 740--750."},{"key":"e_1_3_2_1_6_1","volume-title":"https:\/\/github.com\/rzwitserloot\/lombok\/issues\/707. Accessed","author":"Beams Chris","year":"2019","unstructured":"Chris Beams. 2014. @Builder should require invoking methods associated with final fields. https:\/\/github.com\/rzwitserloot\/lombok\/issues\/707. Accessed 20 August 2019."},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/1646353.1646374"},{"key":"e_1_3_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/1066677.1066963"},{"key":"e_1_3_2_1_9_1","volume-title":"CVE-2018-15869: -owners flag isn't mandatory. https:\/\/github.com\/aws\/aws-cli\/issues\/3629. Accessed","author":"Bicha Jeremy","year":"2019","unstructured":"Jeremy Bicha and Nancy Alvine. 2018. CVE-2018-15869: -owners flag isn't mandatory. https:\/\/github.com\/aws\/aws-cli\/issues\/3629. Accessed 5 June 2019."},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"crossref","unstructured":"Kevin Bierhoff and Jonathan Aldrich. 2007. Modular typestate checking of aliased objects See [1] 301--320.","DOI":"10.1145\/1297105.1297050"},{"key":"e_1_3_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/1806799.1806805"},{"key":"e_1_3_2_1_12_1","volume-title":"https:\/\/github.com\/google\/auto\/tree\/master\/value. Accessed","author":"Bourrillion Kevin","year":"2019","unstructured":"Kevin Bourrillion and \u00c9amonn McManus. 2019. AutoValue. https:\/\/github.com\/google\/auto\/tree\/master\/value. Accessed 14 August 2019."},{"key":"e_1_3_2_1_13_1","volume-title":"AutoValue: How do I specify a default value for a property? https:\/\/github.com\/google\/auto\/blob\/master\/value\/userguide\/builders-howto.md#default. Accessed","author":"Bourrillion Kevin","year":"2019","unstructured":"Kevin Bourrillion and \u00c9amonn McManus. 2019. AutoValue: How do I specify a default value for a property? https:\/\/github.com\/google\/auto\/blob\/master\/value\/userguide\/builders-howto.md#default. Accessed 14 August 2019."},{"key":"e_1_3_2_1_14_1","volume-title":"AutoValue: How do I validate property values? https:\/\/github.com\/google\/auto\/blob\/master\/value\/userguide\/builders-howto.md#-validate-property-values. Accessed","author":"Bourrillion Kevin","year":"2019","unstructured":"Kevin Bourrillion and \u00c9amonn McManus. 2019. AutoValue: How do I validate property values? https:\/\/github.com\/google\/auto\/blob\/master\/value\/userguide\/builders-howto.md#-validate-property-values. Accessed 14 August 2019."},{"key":"e_1_3_2_1_15_1","volume-title":"AutoValue with Builders. https:\/\/github.com\/google\/auto\/blob\/master\/value\/userguide\/builders.md. Accessed","author":"Bourrillion Kevin","year":"2019","unstructured":"Kevin Bourrillion and \u00c9amonn McManus. 2019. AutoValue with Builders. https:\/\/github.com\/google\/auto\/blob\/master\/value\/userguide\/builders.md. Accessed 14 August 2019."},{"key":"e_1_3_2_1_16_1","volume-title":"Comment on \"Mark fields asrequired for Builder\". https:\/\/github.com\/rzwitserloot\/lombok\/issues\/1043#issuecomment-405509087. Accessed","author":"Brodda Jan","year":"2019","unstructured":"Jan Brodda. 2018. Comment on \"Mark fields asrequired for Builder\". https:\/\/github.com\/rzwitserloot\/lombok\/issues\/1043#issuecomment-405509087. Accessed 12 August 2019."},{"key":"e_1_3_2_1_17_1","volume-title":"Mark fields as required for Builder. https:\/\/github.com\/rzwitserloot\/lombok\/issues\/1043. Accessed","author":"Brunotte Christian","year":"2019","unstructured":"Christian Brunotte. 2016. Mark fields as required for Builder. https:\/\/github.com\/rzwitserloot\/lombok\/issues\/1043. Accessed 20 August 2019."},{"key":"e_1_3_2_1_18_1","volume-title":"Comment on \"Mark fields as required for Builder\". https:\/\/github.com\/rzwitserloot\/lombok\/issues\/1043#issuecomment-389344262. Accessed","author":"Campos Jo\u00e3o","year":"2019","unstructured":"Jo\u00e3o Campos. 2018. Comment on \"Mark fields as required for Builder\". https:\/\/github.com\/rzwitserloot\/lombok\/issues\/1043#issuecomment-389344262. Accessed 12 August 2019."},{"key":"e_1_3_2_1_19_1","unstructured":"Checker Framework [n.d.]. The Checker Framework Manual: Custom pluggable types for Java. http:\/\/CheckerFramework.org\/."},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/1138912.1138918"},{"key":"e_1_3_2_1_21_1","first-page":"3","article-title":"Enabledness-based program abstractions for behavior validation","volume":"22","author":"de Caso Guido","year":"2013","unstructured":"Guido de Caso, Victor Braberman, Diego Garbervetsky, and Sebastian Uchitel. 2013. Enabledness-based program abstractions for behavior validation. ACM Transactions on Software Engineering and Methodology 22, 3 (July 2013), 25:1--25:46.","journal-title":"ACM Transactions on Software Engineering and Methodology"},{"key":"e_1_3_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/1985793.1985889"},{"key":"e_1_3_2_1_23_1","unstructured":"Michael D. Ernst. 2016. Nothing is better than the Optional type. https:\/\/homes.cs.washington.edu\/~mernst\/advice\/nothing-is-better-than-optional.html."},{"key":"e_1_3_2_1_24_1","volume-title":"Heap Monotonic Typestates. In I WACO 2003: International Workshop on Aliasing, Confinement and Ownership in object-oriented programming","author":"F\u00e4hndrich Manuel","year":"2003","unstructured":"Manuel F\u00e4hndrich and K. Rustan M. Leino. 2003. Heap Monotonic Typestates. In I WACO 2003: International Workshop on Aliasing, Confinement and Ownership in object-oriented programming. Darmstadt, Germany."},{"key":"e_1_3_2_1_25_1","doi-asserted-by":"crossref","unstructured":"Manuel F\u00e4hndrich and Songtao Xia. 2007. Establishing object invariants with delayed types See [1] 337--350.","DOI":"10.1145\/1297105.1297052"},{"key":"e_1_3_2_1_26_1","unstructured":"Rafael Ferreira. 2008. Type-safe Builder Pattern in Scala. http:\/\/blog.rafaelferreira.net\/2008\/07\/type-safe-builder-pattern-in-scala.html. Accessed 15 August 2019."},{"key":"e_1_3_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/1348250.1348255"},{"key":"e_1_3_2_1_28_1","volume-title":"ML 2005: Proceedings of the 2005 workshop on ML. Tallinn, Estonia, 211--237","author":"Fluet Matthew","year":"2005","unstructured":"Matthew Fluet and Riccardo Pucella. 2005. Practical datatype specializations with phantom types and recursion schemes. In ML 2005: Proceedings of the 2005 workshop on ML. Tallinn, Estonia, 211--237."},{"key":"e_1_3_2_1_29_1","volume-title":"Calling final builder step without providing required arguments. https:\/\/github.com\/rzwitserloot\/lombok\/issues\/1202. Accessed","author":"Friis Fredrik","year":"2019","unstructured":"Fredrik Friis. 2016. Calling final builder step without providing required arguments. https:\/\/github.com\/rzwitserloot\/lombok\/issues\/1202. Accessed 20 August 2019."},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"crossref","unstructured":"Mark Gabel and Zhendong Su. 2008. Symbolic mining of temporal specifications See [2] 51--60.","DOI":"10.1145\/1368088.1368096"},{"volume-title":"Design Patterns","author":"Gamma Erich","key":"e_1_3_2_1_31_1","unstructured":"Erich Gamma, Richard Helm, Ralph E. Johnson, and John Vlissides. 1995. Design Patterns. Addison-Wesley, Reading, MA."},{"volume-title":"FASE 2009: Fundamental Approaches to Software Engineering","author":"Giannakopoulou Dimitra","key":"e_1_3_2_1_32_1","unstructured":"Dimitra Giannakopoulou and Corina S. P\u0103s\u0103reanu. 2009. Interface generation and compositional verification in JavaPathfinder. In FASE 2009: Fundamental Approaches to Software Engineering. York, UK, 94--108."},{"key":"e_1_3_2_1_33_1","volume-title":"ECOOP 2019 --- Object-Oriented Programming, 33rd European Conference","author":"Gil Yossi","year":"2019","unstructured":"Yossi Gil and Ori Roth. 2019. Fling --- A fluent API generator. In ECOOP 2019 --- Object-Oriented Programming, 33rd European Conference. London, UK, 13:1--13:25."},{"volume-title":"https:\/\/github.com\/google\/guice. Accessed","year":"2019","key":"e_1_3_2_1_34_1","unstructured":"Google. 2006. Guice. https:\/\/github.com\/google\/guice. Accessed 23 August 2019."},{"key":"e_1_3_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/2364527.2364569"},{"volume-title":"ESEC\/FSE 2005: Proceedings of the 10th European Software Engineering Conference and the 13th ACM SIGSOFT Symposium on the Foundations of Software Engineering. Lisbon, Portugal, 31--40.","author":"Henzinger Thomas A.","key":"e_1_3_2_1_36_1","unstructured":"Thomas A. Henzinger, Ranjit Jhala, and Rupak Majumdar. 2005. Permissive interfaces. In ESEC\/FSE 2005: Proceedings of the 10th European Software Engineering Conference and the 13th ACM SIGSOFT Symposium on the Foundations of Software Engineering. Lisbon, Portugal, 31--40."},{"key":"e_1_3_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-15497-3_7"},{"volume-title":"Required arguments with a lombok @Builder. https:\/\/stackoverflow.com\/questions\/29885428\/required-arguments-with-a-lombok-builder. Accessed","year":"2019","key":"e_1_3_2_1_38_1","unstructured":"jax. 2015. Required arguments with a lombok @Builder. https:\/\/stackoverflow.com\/questions\/29885428\/required-arguments-with-a-lombok-builder. Accessed 20 August 2019."},{"key":"e_1_3_2_1_39_1","unstructured":"Arash Kamangir. 2019. Using Lombok to create builders for classes with required and optional attributes. https:\/\/stackoverflow.com\/questions\/54155315\/using-lombok-to-create-builders-for-classes-with-required-and-optional-attribute. Accessed 20 August 2019."},{"volume-title":"ISSTA 2018, Proceedings of the 2018 International Symposium on Software Testing and Analysis","author":"Kellogg Martin","key":"e_1_3_2_1_40_1","unstructured":"Martin Kellogg, Vlastimil Dort, Suzanne Millstein, and Michael D. Ernst. 2018. Lightweight verification of array indexing. In ISSTA 2018, Proceedings of the 2018 International Symposium on Software Testing and Analysis. Amsterdam, Netherlands, 3--14."},{"volume-title":"Type-checking Protocols with Mungo and StMungo. In PPDP '16: Proceedings of the 18th International Symposium on Principles and Practice of Declarative Programming","author":"Kouzapas Dimitrios","key":"e_1_3_2_1_41_1","unstructured":"Dimitrios Kouzapas, Ornela Dardha, Roly Perera, and Simon J. Gay. 2016. Type-checking Protocols with Mungo and StMungo. In PPDP '16: Proceedings of the 18th International Symposium on Principles and Practice of Declarative Programming. Edinburgh, UK, 146--159."},{"key":"e_1_3_2_1_42_1","volume-title":"ECOOP 2018 --- Object-Oriented Programming, 32nd European Conference","author":"Kr\u00fcger Stefan","year":"2018","unstructured":"Stefan Kr\u00fcger, Johannes Sp\u00e4th, Karim Ali, Eric Bodden, and Mira Mezini. 2018. CrySL: An extensible approach to validating the correct usage of cryptographic APIs. In ECOOP 2018 --- Object-Oriented Programming, 32nd European Conference. Amsterdam, Netherlands, 10:1--10:27."},{"key":"e_1_3_2_1_43_1","doi-asserted-by":"crossref","unstructured":"Davide Lorenzoli Leonardo Mariani and Mauro Pezz\u00e8. 2008. Automatic generation of software behavioral models See [2] 501--510.","DOI":"10.1145\/1368088.1368157"},{"key":"e_1_3_2_1_44_1","volume-title":"https:\/\/github.com\/rzwitserloot\/lombok\/issues\/2055. Accessed","author":"Lynch Bennett","year":"2019","unstructured":"Bennett Lynch. 2019. [FEATURE] @StepBuilder. https:\/\/github.com\/rzwitserloot\/lombok\/issues\/2055. Accessed 20 August 2019."},{"key":"e_1_3_2_1_45_1","unstructured":"MITRE. 2018. CVE-2018-15869. https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2018-15869."},{"key":"e_1_3_2_1_46_1","unstructured":"MITRE. 2018. Inclusion decisions for CVE Numbering Authority (CNA) rules. https:\/\/cve.mitre.org\/cve\/cna\/rules.html#Appendix_C_inclusion_decisions."},{"key":"e_1_3_2_1_47_1","volume-title":"Allow default values to be set on AutoValue builders in property default impls. https:\/\/github.com\/google\/auto\/issues\/704. Accessed","author":"Most Kevin","year":"2019","unstructured":"Kevin Most. 2019. Allow default values to be set on AutoValue builders in property default impls. https:\/\/github.com\/google\/auto\/issues\/704. Accessed 14 August 2019."},{"key":"e_1_3_2_1_48_1","volume-title":"Feature: Allow fields to be specified only via builder's constructor. https:\/\/github.com\/rzwitserloot\/lombok\/issues\/1303. Accessed","author":"Nakagawa Atsushi","year":"2017","unstructured":"Atsushi Nakagawa. 2017. Feature: Allow fields to be specified only via builder's constructor. https:\/\/github.com\/rzwitserloot\/lombok\/issues\/1303. Accessed 20 August 2019."},{"key":"e_1_3_2_1_49_1","unstructured":"Andrej Nemec and Riccardo Schirone. 2018. awscli: Allows loading of an unde-sired AMI by setting similar image properties. https:\/\/bugzilla.redhat.com\/show_bug.cgi?id=1623095."},{"volume-title":"ISSTA 2008, Proceedings of the 2008 International Symposium on Software Testing and Analysis","author":"Papi Matthew M.","key":"e_1_3_2_1_50_1","unstructured":"Matthew M. Papi, Mahmood Ali, Telmo Luis Correa Jr., Jeff H. Perkins, and Michael D. Ernst. 2008. Practical pluggable types for Java. In ISSTA 2008, Proceedings of the 2008 International Symposium on Software Testing and Analysis. Seattle, WA, USA, 201--212."},{"key":"e_1_3_2_1_51_1","unstructured":"ParcPlace Systems. 1990. ObjectWorks\\Smalltalk Release 4 Users Guide. Mountain View CA USA."},{"key":"e_1_3_2_1_52_1","volume-title":"Investigating Malicious AMIs. https:\/\/summitroute.com\/blog\/2018\/09\/24\/investigating_malicious_amis\/. Accessed","author":"Piper Scott","year":"2019","unstructured":"Scott Piper. 2018. Investigating Malicious AMIs. https:\/\/summitroute.com\/blog\/2018\/09\/24\/investigating_malicious_amis\/. Accessed 5 June 2019."},{"key":"e_1_3_2_1_53_1","volume-title":"FindBugs detecter for NonNull Lombok builder attributes. https:\/\/stackoverflow.com\/questions\/51324922\/findbugs-detecter-for-nonnull-lombok-builder-attributes. Accessed","author":"Punjabi Mohit","year":"2019","unstructured":"Mohit Punjabi. 2018. FindBugs detecter for NonNull Lombok builder attributes. https:\/\/stackoverflow.com\/questions\/51324922\/findbugs-detecter-for-nonnull-lombok-builder-attributes. Accessed 20 August 2019."},{"volume-title":"POPL 2009: Proceedings of the 36th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages","author":"Qi Xin","key":"e_1_3_2_1_54_1","unstructured":"Xin Qi and Andrew C. Myers. 2009. Masked types for sound object initialization. In POPL 2009: Proceedings of the 36th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. Savannah, Georgia, USA, 53--65."},{"key":"e_1_3_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1145\/3319535.3345659"},{"key":"e_1_3_2_1_56_1","volume-title":"The Type-Safe Builder pattern in Java, and the Jilt library. https:\/\/www.endoflineblog.com\/type-safe-builder-pattern-in-java-and-the-jilt-library. Accessed","author":"Ruka Adam","year":"2019","unstructured":"Adam Ruka. 2017. The Type-Safe Builder pattern in Java, and the Jilt library. https:\/\/www.endoflineblog.com\/type-safe-builder-pattern-in-java-and-the-jilt-library. Accessed 15 August 2019."},{"key":"e_1_3_2_1_57_1","volume-title":"auto-value-step-builder. https:\/\/github.com\/sopak\/auto-value-step-builder. Accessed","author":"Sopko Kamil","year":"2019","unstructured":"Kamil Sopko. 2019. auto-value-step-builder. https:\/\/github.com\/sopak\/auto-value-step-builder. Accessed 14 August 2019."},{"key":"e_1_3_2_1_58_1","volume-title":"Answer to Stack Overflow question titled \"Optional in Lombok\". https:\/\/stackoverflow.com\/a\/31674917. Accessed","author":"Spilker Roel","year":"2019","unstructured":"Roel Spilker. 2015. Answer to Stack Overflow question titled \"Optional in Lombok\". https:\/\/stackoverflow.com\/a\/31674917. Accessed 21 August 2019."},{"key":"e_1_3_2_1_59_1","volume-title":"Fail fast for lack of default. https:\/\/github.com\/google\/auto\/issues\/554. Accessed","author":"Spoerri Joshua","year":"2019","unstructured":"Joshua Spoerri. 2019. Fail fast for lack of default. https:\/\/github.com\/google\/auto\/issues\/554. Accessed 14 August 2019."},{"key":"e_1_3_2_1_60_1","unstructured":"Manu Sridharan. 2019. Possible missing packageInfo property in JavaSurface-Transformer. https:\/\/github.com\/googleapis\/gapic-generator\/issues\/2892."},{"key":"e_1_3_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1986.6312929"},{"key":"e_1_3_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.1145\/2048066.2048142"},{"key":"e_1_3_2_1_63_1","volume-title":"https:\/\/projectlombok.org\/features\/Builder. Accessed","author":"Authors The Lombok","year":"2019","unstructured":"The Lombok Authors. 2019. @Builder. https:\/\/projectlombok.org\/features\/Builder. Accessed 12 February 2019."},{"key":"e_1_3_2_1_64_1","volume-title":"Gradual Typestate. In ECOOP 2011 --- Object-Oriented Programming, 25th European Conference","author":"Wolff Roger","year":"2011","unstructured":"Roger Wolff, Ronald Garcia, \u00c9ric Tanter, and Jonathan Aldrich. 2011. Gradual Typestate. In ECOOP 2011 --- Object-Oriented Programming, 25th European Conference. Lancaster, UK, 459--483."},{"key":"e_1_3_2_1_65_1","volume-title":"https:\/\/github.com\/rzwitserloot\/lombok\/wiki\/FEATURE-IDEA:-%22Mandatory%22-fields-with-@Builder. Accessed","author":"Zwitserloot Reinier","year":"2019","unstructured":"Reinier Zwitserloot. 2018. \"Mandatory\" fields with @Builder. https:\/\/github.com\/rzwitserloot\/lombok\/wiki\/FEATURE-IDEA:-%22Mandatory%22-fields-with-@Builder. Accessed 12 August 2019."},{"key":"e_1_3_2_1_66_1","volume-title":"https:\/\/projectlombok.org\/. Accessed","author":"Zwitserloot Reinier","year":"2019","unstructured":"Reinier Zwitserloot and Roel Spilker. 2019. Project Lombok. https:\/\/projectlombok.org\/. Accessed 19 April 2019."}],"event":{"name":"ICSE '20: 42nd International Conference on Software Engineering","sponsor":["SIGSOFT ACM Special Interest Group on Software Engineering","KIISE Korean Institute of Information Scientists and Engineers","IEEE CS"],"location":"Seoul South Korea","acronym":"ICSE '20"},"container-title":["Proceedings of the ACM\/IEEE 42nd International Conference on Software Engineering"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3377811.3380341","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3377811.3380341","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T23:23:57Z","timestamp":1750202637000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3377811.3380341"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,6,27]]},"references-count":66,"alternative-id":["10.1145\/3377811.3380341","10.1145\/3377811"],"URL":"https:\/\/doi.org\/10.1145\/3377811.3380341","relation":{},"subject":[],"published":{"date-parts":[[2020,6,27]]},"assertion":[{"value":"2020-10-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}