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...

Full description

Saved in:
Bibliographic Details
Published inIEEE access Vol. 13; pp. 155321 - 155339
Main Authors Shahzad, Hafsah, Sanaullah, Ahmed, Arora, Sanjay, Drepper, Ulrich, Herbordt, Martin C.
Format Journal Article
LanguageEnglish
Published Piscataway IEEE 2025
The Institute of Electrical and Electronics Engineers, Inc. (IEEE)
Subjects
Online AccessGet full text
ISSN2169-3536
2169-3536
DOI10.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