{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,9,28]],"date-time":"2024-09-28T04:12:23Z","timestamp":1727496743087},"reference-count":45,"publisher":"IEEE","license":[{"start":{"date-parts":[[2022,5,1]],"date-time":"2022-05-01T00:00:00Z","timestamp":1651363200000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-029"},{"start":{"date-parts":[[2022,5,1]],"date-time":"2022-05-01T00:00:00Z","timestamp":1651363200000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-037"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2022,5]]},"DOI":"10.1109\/icse-seip55303.2022.9793932","type":"proceedings-article","created":{"date-parts":[[2022,6,17]],"date-time":"2022-06-17T19:35:14Z","timestamp":1655494514000},"page":"231-240","source":"Crossref","is-referenced-by-count":1,"title":["Reflekt: a Library for Compile-Time Reflection in Kotlin"],"prefix":"10.1109","author":[{"given":"Anastasiia","family":"Birillo","sequence":"first","affiliation":[{"name":"JetBrains Research,Belgrade,Serbia"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Elena","family":"Lyulina","sequence":"additional","affiliation":[{"name":"JetBrains Research,Belgrade,Serbia"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Maria","family":"Malysheva","sequence":"additional","affiliation":[{"name":"Saint Petersburg State University,JetBrains Research,Saint Petersburg,Russia"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Vladislav","family":"Tankov","sequence":"additional","affiliation":[{"name":"HSE University,JetBrains Research,Amsterdam,The Netherlands"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Timofey","family":"Bryksin","sequence":"additional","affiliation":[{"name":"JetBrains Research,Limassol,Republic of Cyprus"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"263","reference":[{"journal-title":"Kotest","year":"2016","key":"ref39"},{"key":"ref38","doi-asserted-by":"publisher","DOI":"10.1109\/ASE51524.2021.9678943"},{"journal-title":"Reflekt","year":"2021","key":"ref33"},{"journal-title":"Android Security Tips","year":"2020","key":"ref32"},{"journal-title":"Kotlin faker","year":"2021","author":"prodanov","key":"ref31"},{"journal-title":"Annotation processing API","year":"2021","key":"ref30"},{"key":"ref37","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2019.00114"},{"key":"ref36","doi-asserted-by":"publisher","DOI":"10.1201\/b18786"},{"journal-title":"Shortless service","year":"2020","key":"ref35"},{"journal-title":"Reflections library","year":"2021","key":"ref34"},{"journal-title":"Java Reflection API","year":"2021","key":"ref10"},{"journal-title":"Ktor","year":"2017","key":"ref40"},{"key":"ref11","doi-asserted-by":"publisher","DOI":"10.1145\/263244.263267"},{"journal-title":"Kotlin Incremental Compilation","year":"2022","key":"ref12"},{"journal-title":"Refactoring Improving the Design of Existing Code","year":"2018","author":"fowler","key":"ref13"},{"journal-title":"Design Patterns Elements of Reusable Object-Oriented Software","year":"1995","author":"gamma","key":"ref14"},{"journal-title":"ClassGraph tool","year":"2021","author":"hutchison","key":"ref15"},{"journal-title":"Gradle Build Tool","year":"2009","key":"ref16"},{"journal-title":"Program structure interface (PSI)","year":"2000","key":"ref17"},{"journal-title":"KtObjectDeclaration source code","year":"2018","key":"ref18"},{"journal-title":"KtClass source code","year":"2020","key":"ref19"},{"journal-title":"Kotlin language specification type system","year":"2020","author":"belyaev","key":"ref28"},{"journal-title":"Native Image","year":"2021","key":"ref4"},{"journal-title":"Meta-Level Architectures and Reflection","year":"1988","author":"maes","key":"ref27"},{"journal-title":"GraalVM","year":"2021","key":"ref3"},{"key":"ref6","doi-asserted-by":"crossref","first-page":"29","DOI":"10.7551\/mitpress\/5087.003.0005","author":"bobrow","year":"1993","journal-title":"Object-Oriented Programming The CLOS Perspective"},{"journal-title":"Reflection in GraalVM","year":"2021","key":"ref29"},{"journal-title":"Classindex tool","year":"2021","key":"ref5"},{"key":"ref8","doi-asserted-by":"publisher","DOI":"10.1109\/ICDCS.2017.305"},{"journal-title":"Scannotation","year":"2013","author":"burke","key":"ref7"},{"journal-title":"Ahead-of-time Compilation in GraalVM","year":"2021","key":"ref2"},{"journal-title":"Detekt","year":"2016","key":"ref9"},{"key":"ref1","doi-asserted-by":"publisher","DOI":"10.1145\/3106237.3117767"},{"journal-title":"Kotless framework","year":"2021","key":"ref20"},{"key":"ref45","doi-asserted-by":"publisher","DOI":"10.1145\/2699026.2699105"},{"journal-title":"KtNamedFunction source code","year":"2021","key":"ref22"},{"journal-title":"KotlinScript source code","year":"2021","key":"ref21"},{"journal-title":"Rawky","year":"2021","key":"ref42"},{"journal-title":"Kotlin serialization plugin","year":"2021","key":"ref24"},{"journal-title":"LLVM","year":"2003","key":"ref41"},{"journal-title":"Kotless site","year":"2020","key":"ref23"},{"journal-title":"Spring boot","year":"2002","key":"ref44"},{"key":"ref26","doi-asserted-by":"publisher","DOI":"10.1145\/3295739"},{"key":"ref43","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-32548-9_31"},{"key":"ref25","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2017.53"}],"event":{"name":"2022 IEEE\/ACM 44th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP)","start":{"date-parts":[[2022,5,22]]},"location":"Pittsburgh, PA, USA","end":{"date-parts":[[2022,5,24]]}},"container-title":["2022 IEEE\/ACM 44th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP)"],"original-title":[],"link":[{"URL":"http:\/\/xplorestaging.ieee.org\/ielx7\/9793838\/9793543\/09793932.pdf?arnumber=9793932","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,9,27]],"date-time":"2024-09-27T04:32:57Z","timestamp":1727411577000},"score":1,"resource":{"primary":{"URL":"https:\/\/ieeexplore.ieee.org\/document\/9793932\/"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,5]]},"references-count":45,"URL":"https:\/\/doi.org\/10.1109\/icse-seip55303.2022.9793932","relation":{},"subject":[],"published":{"date-parts":[[2022,5]]}}}