AnnotationGym: A Generic Framework for Automatic Source Code Annotation
A common approach to code optimization is to insert compiler hints in the source code using annotations. Two major challenges with using annotations effectively are their complexity and lack of portability. This means, first, that significant developer expertise is required, and, second, that the su...
Saved in:
| Published in | IEEE access Vol. 13; pp. 155321 - 155339 |
|---|---|
| Main Authors | , , , , |
| Format | Journal Article |
| Language | English |
| Published |
Piscataway
IEEE
2025
The Institute of Electrical and Electronics Engineers, Inc. (IEEE) |
| Subjects | |
| Online Access | Get full text |
| ISSN | 2169-3536 2169-3536 |
| DOI | 10.1109/ACCESS.2025.3605852 |
Cover
| Abstract | A common approach to code optimization is to insert compiler hints in the source code using annotations. Two major challenges with using annotations effectively are their complexity and lack of portability. This means, first, that significant developer expertise is required, and, second, that the supported annotations, as well as their syntax and use, can vary substantially. Moreover, there is not currently any tool that can output performant annotation-inserted codes for different back-ends. To address these challenges, we present AnnotationGym, an easy-to-use, open-source, generic infrastructure that supplements or replaces the developer in annotating source code. It demonstrates a novel application of AI methods to code annotation. In addition to improving code performance, the flexibility of AnnotationGym enables easy comparisons of performance and optimization strategies among compilers and target architectures and thus provides an extensible platform to facilitate further progress in this field. AnnotationGym automatically extracts structured information about the target code and compiler to generate a list of possible annotations. AI-based optimization algorithms then traverse this space to determine the best set of annotations depending on the developer goals. To demonstrate its effectiveness, we run AnnotationGym on popular, representative workloads from the Polybench suite, as well as targeting various compilers (GCC, AMD HLS, Intel HLS), optimization algorithms (Reinforcement Learning, Bayesian Optimization), and architectures (CPU, FPGA). We also test our approach on FPGA codes derived, e.g., from the Rodinia and OpenDwarfs benchmarks and that are hand-optimized using standard best practices. An interesting finding is that the best overall performance obtained by AnnotationGym was generally with unoptimized codes. |
|---|---|
| AbstractList | A common approach to code optimization is to insert compiler hints in the source code using annotations. Two major challenges with using annotations effectively are their complexity and lack of portability. This means, first, that significant developer expertise is required, and, second, that the supported annotations, as well as their syntax and use, can vary substantially. Moreover, there is not currently any tool that can output performant annotation-inserted codes for different back-ends. To address these challenges, we present AnnotationGym, an easy-to-use, open-source, generic infrastructure that supplements or replaces the developer in annotating source code. It demonstrates a novel application of AI methods to code annotation. In addition to improving code performance, the flexibility of AnnotationGym enables easy comparisons of performance and optimization strategies among compilers and target architectures and thus provides an extensible platform to facilitate further progress in this field. AnnotationGym automatically extracts structured information about the target code and compiler to generate a list of possible annotations. AI-based optimization algorithms then traverse this space to determine the best set of annotations depending on the developer goals. To demonstrate its effectiveness, we run AnnotationGym on popular, representative workloads from the Polybench suite, as well as targeting various compilers (GCC, AMD HLS, Intel HLS), optimization algorithms (Reinforcement Learning, Bayesian Optimization), and architectures (CPU, FPGA). We also test our approach on FPGA codes derived, e.g., from the Rodinia and OpenDwarfs benchmarks and that are hand-optimized using standard best practices. An interesting finding is that the best overall performance obtained by AnnotationGym was generally with unoptimized codes. |
| Author | Shahzad, Hafsah Sanaullah, Ahmed Herbordt, Martin C. Drepper, Ulrich Arora, Sanjay |
| Author_xml | – sequence: 1 givenname: Hafsah orcidid: 0000-0003-1181-5603 surname: Shahzad fullname: Shahzad, Hafsah email: hshahzad@bu.edu organization: Electrical and Computer Engineering Department, Boston University, Boston, MA, USA – sequence: 2 givenname: Ahmed orcidid: 0000-0002-7169-480X surname: Sanaullah fullname: Sanaullah, Ahmed organization: Red Hat Inc., Raleigh, NC, USA – sequence: 3 givenname: Sanjay orcidid: 0009-0003-4731-9959 surname: Arora fullname: Arora, Sanjay organization: Red Hat Inc., Raleigh, NC, USA – sequence: 4 givenname: Ulrich orcidid: 0009-0004-5120-7869 surname: Drepper fullname: Drepper, Ulrich organization: Red Hat Inc., Raleigh, NC, USA – sequence: 5 givenname: Martin C. orcidid: 0000-0002-3443-9113 surname: Herbordt fullname: Herbordt, Martin C. organization: Electrical and Computer Engineering Department, Boston University, Boston, MA, USA |
| BookMark | eNplkU9rGzEQxUVIIWmaT9AeFnq2K2n0t7dlSdxAoAe3ZzHWzpZ17ZWrXRP87aN0Q1MSXUY83vshvXnPzoc0EGMfBV8Kwf2Xumlu1uul5FIvwXDttDxjl1IYvwAN5vy_-wW7HsctL8cVSdtLtqqHIU049WlYnfZfq7pa0UC5j9Vtxj09pPy76lKu6uOU9sUWq3U65khVk1qqXsIf2LsOdyNdP88r9vP25kfzbXH_fXXX1PeLCEZMC9w413pvOKCwvtUkO70hsF5hJw0vsiITrSq-Fl3nfcctqU5LVMZS6-CK3c3cNuE2HHK_x3wKCfvwV0j5V8BcnrmjIMwGtCx1oNdKg0UAE5FII7QerC0sNbOOwwFPD7jb_QMKHp66DRgjjWN46jY8d1tin-fYIac_RxqnsC2VDOXXAaRyljtpfXHB7Io5jWOm7g173ttr9qc51RPRS0II5aQCeAQPa5LC |
| CODEN | IAECCG |
| Cites_doi | 10.1002/cpe.6683 10.1145/3503540 10.1109/JPROC.2018.2817118 10.1109/TCAD.2019.2912916 10.1145/3572959 10.1109/FPT.2018.00018 10.1109/MC.2009.385 10.1109/FPL57034.2022.00044 10.1109/HPEC55821.2022.9926409 10.1109/PMBS54543.2021.00015 10.1007/s11227-019-03109-9 10.1109/SC.2016.34 10.1145/3368826.3377928 10.1109/MM.2022.3188136 10.1109/ISQED60706.2024.10528738 10.1109/TCAD.2022.3185540 10.1109/TETC.2018.2794068 10.1007/s11265-015-1051-z 10.1109/ISCA45697.2020.00034 10.1109/TPDS.2020.3039409 10.1109/IISWC.2009.5306797 10.1145/3489517.3530409 10.1007/978-3-319-71489-9_5 10.1007/978-3-030-28596-8_4 10.1145/3569052.3580027 10.1145/3489517.3530408 10.1145/3485494 10.1145/3579990.3580018 10.1109/CGO53902.2022.9741258 10.1109/IPDPSW63119.2024.00129 10.1109/FDL50818.2020.9232934 10.1007/978-3-030-91608-4_52 10.1109/ICFPT52863.2021.9609930 10.1145/3243176.3243200 10.1109/LLVM-HPC.2018.8639402 10.1109/ICCAD.2017.8203809 10.1145/3084540 10.1145/3494534 |
| ContentType | Journal Article |
| Copyright | Copyright The Institute of Electrical and Electronics Engineers, Inc. (IEEE) 2025 |
| Copyright_xml | – notice: Copyright The Institute of Electrical and Electronics Engineers, Inc. (IEEE) 2025 |
| DBID | 97E ESBDL RIA RIE AAYXX CITATION 7SC 7SP 7SR 8BQ 8FD JG9 JQ2 L7M L~C L~D ADTOC UNPAY DOA |
| DOI | 10.1109/ACCESS.2025.3605852 |
| DatabaseName | IEEE All-Society Periodicals Package (ASPP) 2005–Present IEEE Xplore Open Access Journals IEEE All-Society Periodicals Package (ASPP) 1998–Present IEEE Electronic Library (IEL) CrossRef Computer and Information Systems Abstracts Electronics & Communications Abstracts Engineered Materials Abstracts METADEX Technology Research Database Materials Research Database ProQuest Computer Science Collection Advanced Technologies Database with Aerospace Computer and Information Systems Abstracts Academic Computer and Information Systems Abstracts Professional Unpaywall for CDI: Periodical Content Unpaywall DOAJ Directory of Open Access Journals (ND) |
| DatabaseTitle | CrossRef Materials Research Database Engineered Materials Abstracts Technology Research Database Computer and Information Systems Abstracts – Academic Electronics & Communications Abstracts ProQuest Computer Science Collection Computer and Information Systems Abstracts Advanced Technologies Database with Aerospace METADEX Computer and Information Systems Abstracts Professional |
| DatabaseTitleList | Materials Research Database |
| Database_xml | – sequence: 1 dbid: DOA name: DOAJ Directory of Open Access Journals url: https://www.doaj.org/ sourceTypes: Open Website – sequence: 2 dbid: RIE name: IEEE Electronic Library (IEL) url: https://proxy.k.utb.cz/login?url=https://ieeexplore.ieee.org/ sourceTypes: Publisher – sequence: 3 dbid: UNPAY name: Unpaywall url: https://proxy.k.utb.cz/login?url=https://unpaywall.org/ sourceTypes: Open Access Repository |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Engineering |
| EISSN | 2169-3536 |
| EndPage | 155339 |
| ExternalDocumentID | oai_doaj_org_article_16b352585a954537a336caee5a3d9377 10.1109/access.2025.3605852 10_1109_ACCESS_2025_3605852 11148243 |
| Genre | orig-research |
| GrantInformation_xml | – fundername: Advanced Micro Devices, Inc (AMD) and Intel, both through donated Field-Programmable Gate Arrays (FPGAs), tools, and Intellectual Property (IP) – fundername: Red Hat – fundername: NSF grantid: CCF-1919130 |
| GroupedDBID | 0R~ 4.4 5VS 6IK 97E AAJGR ABAZT ABVLG ACGFS ADBBV AGSQL ALMA_UNASSIGNED_HOLDINGS BCNDV BEFXN BFFAM BGNUA BKEBE BPEOZ EBS EJD ESBDL GROUPED_DOAJ IPLJI JAVBF KQ8 M43 M~E O9- OCL OK1 RIA RIE RNS AAYXX CITATION 7SC 7SP 7SR 8BQ 8FD JG9 JQ2 L7M L~C L~D ADTOC UNPAY |
| ID | FETCH-LOGICAL-c361t-ab88d99603a179d5e2f5be3794af26003a4e6c74ab8da8f99f07e4f52a467ed83 |
| IEDL.DBID | RIE |
| ISSN | 2169-3536 |
| IngestDate | Fri Oct 03 12:45:26 EDT 2025 Mon Sep 15 10:04:22 EDT 2025 Wed Oct 08 07:10:30 EDT 2025 Wed Oct 01 05:16:44 EDT 2025 Wed Sep 17 06:30:27 EDT 2025 |
| IsDoiOpenAccess | true |
| IsOpenAccess | true |
| IsPeerReviewed | true |
| IsScholarly | true |
| Language | English |
| License | https://creativecommons.org/licenses/by/4.0/legalcode cc-by |
| LinkModel | DirectLink |
| MergedId | FETCHMERGED-LOGICAL-c361t-ab88d99603a179d5e2f5be3794af26003a4e6c74ab8da8f99f07e4f52a467ed83 |
| Notes | ObjectType-Article-1 SourceType-Scholarly Journals-1 ObjectType-Feature-2 content type line 14 |
| ORCID | 0000-0002-3443-9113 0000-0002-7169-480X 0009-0003-4731-9959 0009-0004-5120-7869 0000-0003-1181-5603 |
| OpenAccessLink | https://proxy.k.utb.cz/login?url=https://ieeexplore.ieee.org/document/11148243 |
| PQID | 3248708279 |
| PQPubID | 4845423 |
| PageCount | 19 |
| ParticipantIDs | doaj_primary_oai_doaj_org_article_16b352585a954537a336caee5a3d9377 unpaywall_primary_10_1109_access_2025_3605852 ieee_primary_11148243 proquest_journals_3248708279 crossref_primary_10_1109_ACCESS_2025_3605852 |
| ProviderPackageCode | CITATION AAYXX |
| PublicationCentury | 2000 |
| PublicationDate | 20250000 2025-00-00 20250101 2025-01-01 |
| PublicationDateYYYYMMDD | 2025-01-01 |
| PublicationDate_xml | – year: 2025 text: 20250000 |
| PublicationDecade | 2020 |
| PublicationPlace | Piscataway |
| PublicationPlace_xml | – name: Piscataway |
| PublicationTitle | IEEE access |
| PublicationTitleAbbrev | Access |
| PublicationYear | 2025 |
| Publisher | IEEE The Institute of Electrical and Electronics Engineers, Inc. (IEEE) |
| Publisher_xml | – name: IEEE – name: The Institute of Electrical and Electronics Engineers, Inc. (IEEE) |
| References | ref13 ref12 ref15 ref14 (ref43) 2023 Schulman (ref55) 2017 ref52 ref10 (ref2) 2022 ref17 ref16 ref19 ref18 (ref27) 2025 Nouar (ref41) 2025 ref51 ref50 ref46 ref45 ref48 ref47 (ref44) 2023 ref49 ref8 Aubert (ref23) 2022 ref4 (ref56) 2024 (ref1) 2023 ref6 ref5 (ref53) 2023 ref35 ref37 ref36 ref31 ref30 ref33 ref32 ref39 ref38 (ref34) 2017 Shahzad (ref11) 2025 (ref42) 2025 ref24 ref26 ref25 ref20 ref22 ref21 (ref3) 2023 (ref54) 2023 ref28 Trofin (ref7) 2021 ref29 Pouchet (ref9) 2012 Agostini (ref40) |
| References_xml | – volume-title: OpenDwarfs Benchmarks year: 2023 ident: ref53 – ident: ref4 doi: 10.1002/cpe.6683 – ident: ref31 doi: 10.1145/3503540 – ident: ref15 doi: 10.1109/JPROC.2018.2817118 – ident: ref45 doi: 10.1109/TCAD.2019.2912916 – volume-title: Ppo: Efficient, Stable, and Scalable Policy Optimization year: 2025 ident: ref42 – ident: ref38 doi: 10.1145/3572959 – ident: ref10 doi: 10.1109/FPT.2018.00018 – ident: ref19 doi: 10.1109/MC.2009.385 – ident: ref49 doi: 10.1109/FPL57034.2022.00044 – ident: ref33 doi: 10.1109/HPEC55821.2022.9926409 – start-page: 1 volume-title: Proc. 41st IEEE/ACM Int. Conf. Comput.-Aided Design ident: ref40 article-title: An MLIR-based compiler flow for system-level design and hardware acceleration – volume-title: SmartHLS High-Level Synthesis Software year: 2023 ident: ref43 – ident: ref26 doi: 10.1109/PMBS54543.2021.00015 – ident: ref16 doi: 10.1007/s11227-019-03109-9 – ident: ref18 doi: 10.1109/SC.2016.34 – ident: ref6 doi: 10.1145/3368826.3377928 – ident: ref36 doi: 10.1109/MM.2022.3188136 – ident: ref12 doi: 10.1109/ISQED60706.2024.10528738 – ident: ref21 doi: 10.1109/TCAD.2022.3185540 – ident: ref30 doi: 10.1109/TETC.2018.2794068 – volume-title: Gcc Optimization Pragmas year: 2023 ident: ref1 – ident: ref52 doi: 10.1007/s11265-015-1051-z – ident: ref46 doi: 10.1109/ISCA45697.2020.00034 – ident: ref17 doi: 10.1109/TPDS.2020.3039409 – ident: ref8 doi: 10.1109/IISWC.2009.5306797 – ident: ref37 doi: 10.1145/3489517.3530409 – ident: ref13 doi: 10.1007/978-3-319-71489-9_5 – ident: ref22 doi: 10.1007/978-3-030-28596-8_4 – year: 2022 ident: ref23 article-title: A novel loop fission technique inspired by implicit computational complexity publication-title: arXiv:2206.08760 – ident: ref47 doi: 10.1145/3569052.3580027 – ident: ref48 doi: 10.1145/3489517.3530408 – volume-title: Proximal Policy Optimization year: 2017 ident: ref34 – year: 2021 ident: ref7 article-title: MLGO: A machine learning guided compiler optimizations framework publication-title: arXiv:2101.04808 – year: 2025 ident: ref41 publication-title: Understanding the Mathematics of PPO in Reinforcement Learning – ident: ref50 doi: 10.1145/3485494 – ident: ref51 doi: 10.1145/3579990.3580018 – volume-title: Polybench: The Polyhedral Benchmark Suite year: 2012 ident: ref9 – volume-title: Intel High Level Synthesis Compiler year: 2023 ident: ref3 – volume-title: Vitis High Level Synthesis User Guide year: 2022 ident: ref2 – volume-title: LLVM’s Machine Code Analyzer year: 2023 ident: ref54 – year: 2025 ident: ref11 article-title: Optimizing the optimizer increasing performance efficiency of modern compilers – volume-title: Intel Rendering Framework Using Software-Defined Visualization year: 2024 ident: ref56 – ident: ref5 doi: 10.1109/CGO53902.2022.9741258 – ident: ref39 doi: 10.1109/IPDPSW63119.2024.00129 – ident: ref14 doi: 10.1109/FDL50818.2020.9232934 – volume-title: Options That Control Optimizations year: 2025 ident: ref27 – ident: ref32 doi: 10.1007/978-3-030-91608-4_52 – ident: ref35 doi: 10.1109/ICFPT52863.2021.9609930 – ident: ref24 doi: 10.1145/3243176.3243200 – ident: ref25 doi: 10.1109/LLVM-HPC.2018.8639402 – ident: ref29 doi: 10.1109/ICCAD.2017.8203809 – volume-title: Other Built-in Functions Provided by GCC year: 2023 ident: ref44 – year: 2017 ident: ref55 article-title: Proximal policy optimization algorithms publication-title: arXiv:1707.06347 – ident: ref20 doi: 10.1145/3084540 – ident: ref28 doi: 10.1145/3494534 |
| SSID | ssj0000816957 |
| Score | 2.3367524 |
| Snippet | A common approach to code optimization is to insert compiler hints in the source code using annotations. Two major challenges with using annotations... |
| SourceID | doaj unpaywall proquest crossref ieee |
| SourceType | Open Website Open Access Repository Aggregation Database Index Database Publisher |
| StartPage | 155321 |
| SubjectTerms | Algorithms Annotations Benchmark testing Best practice Code annotation Codes compiler hints Compilers Field programmable gate arrays Hardware Machine learning Optimization Optimization algorithms reinforcement learning Runtime Semantics Source code Source coding source-to-source code optimization Space exploration |
| SummonAdditionalLinks | – databaseName: DOAJ Directory of Open Access Journals (ND) dbid: DOA link: http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwrV1LS8QwEA7iRT2IjxXrixw8Wu3m0SbeanFdBL2osLcwaVIQtBXtIv57k7Tr7uLBi9eSttNvOplHkm8QOnUegDMDNvaNXVyCImkMLm6PmfYHHTmRWvuC_t19On5itxM-WWj15feEdfTAHXAXw1R7xk7BQTpnTzOgNC3BWg7UONcazpEnQi4kU2EOFsNU8qynGRom8iIvCvdFLiEk_Jz6tUBOllxRYOzvW6wsRZtr0_oNvj7h5WXB8Yy20GYfMeK8k3Qbrdh6B20s8Ajuopu8rptuTf3m6_US5ziwST-XeDTbe4VdcIrzadsEilb8EGr2uGiMxfObB-hpdP1YjOO-Q0Jc0nTYxqCFMJ5fhYIzLMMtqbi21NkYVJ55ngKzaZkxN86AqKSsksyyihNw86M1gu6h1bqp7T7CFEQpUqk5KzmjhkiujQZigSSGSZNF6GwGlnrriDBUSCASqTpslcdW9dhG6MoD-jPUs1iHC063qtet-ku3ERp4dczf55M3wmiEjmb6Ub3JfSgXGbq5R5BMRij-0dkvWSH0oVyS9eA_ZD1E6_6ZXXXmCK2271N77OKVVp-EX_MbXiXhVg priority: 102 providerName: Directory of Open Access Journals – databaseName: Unpaywall dbid: UNPAY link: http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV3Nb9MwFLdQd0AcGIMiAtvkA0dSWn8k8W6hWjshUSFBpXKynmNHQnRpRVNN5a_fs5N-DWmCa2TLzvuwf8_P_j1C3uMOIIUFF_vCLhigKB4D4vZYGP_QUTJljD_Q_zJJbqbi80zOWp5t_xbmMH8_6KuPEMoGYhzHZI_7FJ7E9fYkkQi8O-RkOvma__Dl4waJinlIRL57pOfR3hMo-tuaKkfw8um6WsLmDubzg51mdNo84V4FgkJ_weRXb12bXvHnAX3jP_7EC_K8RZw0b0zkjDxx1Uvy7ICH8BUZ51W1aHLy483tFc1pYKP-WdDR9u4WRXBL83W9CBSv9Fs486fDhXV037lLpqPr78ObuK2wEBc8GdQxmCyznp-FAzqmlY6V0jiOPgqlZ67nIFxSpALbWchKpcp-6kQpGeD66mzGX5NOtajcG0I5ZEWWKCNFIQW3TEljDTAHrG-FsmlEPmxlr5cNkYYOAUhf6Xw4RGvTXj66lU9EPnn97Jp6FuzwAeWqW6fSg8R4NtdMgkIgyFPgPCnAOQncIuzCMbteu_vxfPDHBI_I-VbdunXZlUZkiWtXxlIVkXhnAn_NtdHl0Vzf_mf7c9Kpf6_dBaKZ2ly2VnwP3CPsnA priority: 102 providerName: Unpaywall |
| Title | AnnotationGym: A Generic Framework for Automatic Source Code Annotation |
| URI | https://ieeexplore.ieee.org/document/11148243 https://www.proquest.com/docview/3248708279 https://doi.org/10.1109/access.2025.3605852 https://doaj.org/article/16b352585a954537a336caee5a3d9377 |
| UnpaywallVersion | publishedVersion |
| Volume | 13 |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVAFT databaseName: Open Access Digital Library customDbUrl: eissn: 2169-3536 dateEnd: 99991231 omitProxy: true ssIdentifier: ssj0000816957 issn: 2169-3536 databaseCode: KQ8 dateStart: 20130101 isFulltext: true titleUrlDefault: http://grweb.coalliance.org/oadl/oadl.html providerName: Colorado Alliance of Research Libraries – providerCode: PRVAON databaseName: DOAJ Directory of Open Access Journals customDbUrl: eissn: 2169-3536 dateEnd: 99991231 omitProxy: true ssIdentifier: ssj0000816957 issn: 2169-3536 databaseCode: DOA dateStart: 20130101 isFulltext: true titleUrlDefault: https://www.doaj.org/ providerName: Directory of Open Access Journals – providerCode: PRVHPJ databaseName: ROAD: Directory of Open Access Scholarly Resources (selected full-text only) customDbUrl: eissn: 2169-3536 dateEnd: 99991231 omitProxy: true ssIdentifier: ssj0000816957 issn: 2169-3536 databaseCode: M~E dateStart: 20130101 isFulltext: true titleUrlDefault: https://road.issn.org providerName: ISSN International Centre |
| link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1Lb9QwEB7RcoAeeBZ1aVn5wJFsd_1I7N7CqtsKiRUSrFRO1jh2pIqSVJAIlV-P7Xi3XVAlblFky4_x2N-MPd8AvPUngOAWXRYSu3gDRbEMPW7PuAmBjoIqY4JD_-MyP1_xDxfiIgWrx1gY51x8fOYm4TPe5du26oOr7HgWwDvlbAd2CpkPwVobh0rIIKFEkZiFZlN1XM7nfhDeBqRiwsL1n6Bbp08k6U9ZVbYA5qO-ucabX3h1deesWTyF5bqXwxOTb5O-M5Pq918Ejv89jGfwJKFOUg7L5Dk8cM0L2LvDRfgSzsqmaYd7-bOb7yekJJGR-rIii_X7LeIBLin7ro00r-Rz9PuTeWsdua28D6vF6Zf5eZayLGQVy2ddhkZKGzhaGHrltMLRWhjHvJ5iHdjrGXKXVwX35SzKWql6WjheC4p-j3VWslew27SNOwDCUFYyV0bwSnBmqRLGGqQO6dRyZYsRvFvPvr4eyDR0NEKmSg_C0kFYOglrBO-DhDZFAxN2_OFnUyfF0rPcBEZXKVB5MMgKZCyv0DmBzHro5dvcDxK4bS9N_giO1gLXSW1_ao8u_f4laaFGkG0WwT99xZjLcquvr-9p5hAeh2KD0-YIdrsfvXvjYUxnxtH8H8dFPIaHq-Wn8usfAmTu5g |
| linkProvider | IEEE |
| linkToHtml | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1NT9wwEB1RONAeWmipukDBB47NsuuPJOaWrrosLeylIHGzxrEjodIEtYkq-PW1He_CtqrUWxTZsj3jsZ_HnjcAR24HENygTXxiF3dAkSxBh9sTrn2go6BSa-_Qv5insyv--Vpcx2D1EAtjrQ2Pz-zQf4a7fNOUnXeVHY89eKecPYMNwTkXfbjW0qXic0hIkUVuofFIHheTiRuGOwVSMWT-AlDQlf0n0PTHvCorEHOzq-_w_hfe3j7ZbaavYL7oZ__I5Nuwa_WwfPiDwvG_B7IFLyPuJEU_UbZhzdav4cUTNsI3cFrUddPfzJ_efz8hBQmc1DclmS5ecBEHcUnRtU0geiVfg-efTBpjyWPlHbiafrqczJKYZyEpWTpuE9R5bjxLC0NnnkZYWgltmbNUrDx_PUNu0zLjrpzBvJKyGmWWV4KiW2WtydlbWK-b2r4DwjAv81RqwUvBmaFSaKORWqQjw6XJBvBhIX1119NpqHAMGUnVK0t5ZamorAF89BpaFvVc2OGHk6aKpqXGqfacrrlA6eAgy5CxtERrBTLjwJdrc8dr4LG9KPwB7C8UrqLh_lQOX7oVLKeZHECynAR_9RVDNsuVvu7-o5lD2JxdXpyr87P5lz147qv0Lpx9WG9_dPa9AzWtPghT-TeKYu-O |
| linkToUnpaywall | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV3Nb9MwFLdQd0AcGIMiAtvkA0dSWn8k8W6hWjshUSFBpXKynmNHQnRpRVNN5a_fs5N-DWmCa2TLzvuwf8_P_j1C3uMOIIUFF_vCLhigKB4D4vZYGP_QUTJljD_Q_zJJbqbi80zOWp5t_xbmMH8_6KuPEMoGYhzHZI_7FJ7E9fYkkQi8O-RkOvma__Dl4waJinlIRL57pOfR3hMo-tuaKkfw8um6WsLmDubzg51mdNo84V4FgkJ_weRXb12bXvHnAX3jP_7EC_K8RZw0b0zkjDxx1Uvy7ICH8BUZ51W1aHLy483tFc1pYKP-WdDR9u4WRXBL83W9CBSv9Fs486fDhXV037lLpqPr78ObuK2wEBc8GdQxmCyznp-FAzqmlY6V0jiOPgqlZ67nIFxSpALbWchKpcp-6kQpGeD66mzGX5NOtajcG0I5ZEWWKCNFIQW3TEljDTAHrG-FsmlEPmxlr5cNkYYOAUhf6Xw4RGvTXj66lU9EPnn97Jp6FuzwAeWqW6fSg8R4NtdMgkIgyFPgPCnAOQncIuzCMbteu_vxfPDHBI_I-VbdunXZlUZkiWtXxlIVkXhnAn_NtdHl0Vzf_mf7c9Kpf6_dBaKZ2ly2VnwP3CPsnA |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=AnnotationGym%3A+A+Generic+Framework+for+Automatic+Source+Code+Annotation&rft.jtitle=IEEE+access&rft.au=Shahzad%2C+Hafsah&rft.au=Sanaullah%2C+Ahmed&rft.au=Arora%2C+Sanjay&rft.au=Drepper%2C+Ulrich&rft.date=2025&rft.pub=IEEE&rft.eissn=2169-3536&rft.volume=13&rft.spage=155321&rft.epage=155339&rft_id=info:doi/10.1109%2FACCESS.2025.3605852&rft.externalDocID=11148243 |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=2169-3536&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=2169-3536&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=2169-3536&client=summon |