BERT4Anno: An annotation misuse detection method for Java

Developers leverage Java annotations to implement functions such as creating objects and operating databases. However, mastering annotations is challenging, and misused annotations might cause an application to crash. Although state-of-the-art techniques attempt to solve this problem, they do not pr...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Information and software technology Jg. 184; S. 107763
Hauptverfasser: Yang, Jingbo, Ji, Xin, Wu, Wenjun, Liao, Xingchuang, Zhang, Kui, Dong, Linxiao, Xiang, Nan, Jian, Ren
Format: Journal Article
Sprache:Englisch
Veröffentlicht: Elsevier B.V 01.08.2025
Schlagworte:
ISSN:0950-5849
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Abstract Developers leverage Java annotations to implement functions such as creating objects and operating databases. However, mastering annotations is challenging, and misused annotations might cause an application to crash. Although state-of-the-art techniques attempt to solve this problem, they do not provide conclusions on Java annotation misuse types, nor do they leverage project-level information, which results in low efficiency in detecting annotation misuses. To summarize Java annotation misuse types and provide a more efficient method for detecting misused annotations. Firstly, to categorize Java annotation misuses, we conduct an empirical study and curate 321 annotation misuse questions from Stack Overflow. Secondly, to better detect these misuses, we propose a BERT-based method, BERT4Anno, which takes project structure and resource configuration into account—factors often neglected by state-of-the-art methods. In BERT4Anno, a novel Annotation Usage Project Representation (AUPR) technique is designed to leverage the information of the interconnections among source code, configuration and project structure. Moreover, an AUPR-based Named Entity Recognition (ANER) task by fine-tuning BERT is devised to learn annotation usage knowledge. With the knowledge, the fine-tuned model can detect misused annotations. Finally, to evaluate our proposed method, two datasets, mainly curated from GitHub and comprising 404 Java projects/files with annotation misuse instances, are used for the experiments. The Java annotation misuses are categorized into 14 types based on how the curated questions violate the correct annotation usage knowledge. The comparison experiment demonstrates the superior performance of our method over state-of-the-art baselines in terms of precision, recall, and F1 score, while our visualization technique provides insightful interpretations of the mechanism underlying the model’s outperformance. By leveraging the project-level information, our proposed method can predict the appropriate types and positions of annotations and subsequently identify the misused annotations, making the detection more efficient.
AbstractList Developers leverage Java annotations to implement functions such as creating objects and operating databases. However, mastering annotations is challenging, and misused annotations might cause an application to crash. Although state-of-the-art techniques attempt to solve this problem, they do not provide conclusions on Java annotation misuse types, nor do they leverage project-level information, which results in low efficiency in detecting annotation misuses. To summarize Java annotation misuse types and provide a more efficient method for detecting misused annotations. Firstly, to categorize Java annotation misuses, we conduct an empirical study and curate 321 annotation misuse questions from Stack Overflow. Secondly, to better detect these misuses, we propose a BERT-based method, BERT4Anno, which takes project structure and resource configuration into account—factors often neglected by state-of-the-art methods. In BERT4Anno, a novel Annotation Usage Project Representation (AUPR) technique is designed to leverage the information of the interconnections among source code, configuration and project structure. Moreover, an AUPR-based Named Entity Recognition (ANER) task by fine-tuning BERT is devised to learn annotation usage knowledge. With the knowledge, the fine-tuned model can detect misused annotations. Finally, to evaluate our proposed method, two datasets, mainly curated from GitHub and comprising 404 Java projects/files with annotation misuse instances, are used for the experiments. The Java annotation misuses are categorized into 14 types based on how the curated questions violate the correct annotation usage knowledge. The comparison experiment demonstrates the superior performance of our method over state-of-the-art baselines in terms of precision, recall, and F1 score, while our visualization technique provides insightful interpretations of the mechanism underlying the model’s outperformance. By leveraging the project-level information, our proposed method can predict the appropriate types and positions of annotations and subsequently identify the misused annotations, making the detection more efficient.
ArticleNumber 107763
Author Xiang, Nan
Zhang, Kui
Dong, Linxiao
Yang, Jingbo
Liao, Xingchuang
Wu, Wenjun
Jian, Ren
Ji, Xin
Author_xml – sequence: 1
  givenname: Jingbo
  orcidid: 0009-0005-4270-9389
  surname: Yang
  fullname: Yang, Jingbo
  email: yangjingbo@buaa.edu.cn
  organization: School of Computer Science and Engineering, Beihang University, China
– sequence: 2
  givenname: Xin
  surname: Ji
  fullname: Ji, Xin
  email: xin-ji@sgcc.com.cn
  organization: State Grid Nanjing Power Supply Company, China
– sequence: 3
  givenname: Wenjun
  surname: Wu
  fullname: Wu, Wenjun
  email: wwj09315@buaa.edu.cn
  organization: State Key Laboratory of Complex and Critical Software Environment, Beihang University, China
– sequence: 4
  givenname: Xingchuang
  surname: Liao
  fullname: Liao, Xingchuang
  email: liaoxingchuang@buaa.edu.cn
  organization: Institute of Artificial Intelligence, Beihang University, China
– sequence: 5
  givenname: Kui
  orcidid: 0000-0002-8784-2184
  surname: Zhang
  fullname: Zhang, Kui
  email: zhangkui@buaa.edu.cn
  organization: State Key Laboratory of Complex and Critical Software Environment, Beihang University, China
– sequence: 6
  givenname: Linxiao
  surname: Dong
  fullname: Dong, Linxiao
  email: linxiao-dong@sgcc.com.cn
  organization: State Grid Nanjing Power Supply Company, China
– sequence: 7
  givenname: Nan
  surname: Xiang
  fullname: Xiang, Nan
  email: xiangn@js.sgcc.com.cn
  organization: State Grid Nanjing Power Supply Company, China
– sequence: 8
  givenname: Ren
  orcidid: 0000-0001-7924-9586
  surname: Jian
  fullname: Jian, Ren
  email: renjian@buaa.edu.cn
  organization: School of Computer Science and Engineering, Beihang University, China
BookMark eNp9j81KAzEUhbOoYKu-gYt5gan3Zibz40Kopf5REKSuw53JDabYRJKx4Ns7ZVy7OocD53C-hZj54FmIa4QlAlY3-6XzNgW7lCDVGNV1VczEHFoFuWrK9lwsUtoDYA0FzEV7v3nblSvvw2228hmNZqDBBZ8dXPpOnBkeuJ8CHj6CyWyI2Qsd6VKcWfpMfPWnF-L9YbNbP-Xb18fn9Wqb91LVQy5Ryl5ZLk3VtY0x2DUENUuyTccMLYLssEAl0WJjgVAq1VFNsqyQWqbiQpTTbh9DSpGt_oruQPFHI-gTst7rCVmfkPWEPNbuphqP346Oo069Y9-zcXEE0ia4_wd-AePmZEE
Cites_doi 10.1109/TSE.2012.63
10.1007/s10664-012-9236-6
10.1109/TSE.2019.2948910
10.1109/TSE.2021.3069978
10.1109/TSE.2018.2827384
10.1162/089120104773633402
10.1109/TKDE.2013.39
10.1145/3643759
10.1109/MS.2018.2141031
10.1007/s10664-024-10460-w
10.1109/TSE.2019.2910516
10.1016/j.sysarc.2021.102200
10.1016/j.scico.2015.01.004
ContentType Journal Article
Copyright 2025
Copyright_xml – notice: 2025
DBID AAYXX
CITATION
DOI 10.1016/j.infsof.2025.107763
DatabaseName CrossRef
DatabaseTitle CrossRef
DatabaseTitleList
DeliveryMethod fulltext_linktorsrc
Discipline Business
ExternalDocumentID 10_1016_j_infsof_2025_107763
S0950584925001028
GroupedDBID --K
--M
-~X
.DC
.~1
0R~
1B1
1~.
1~5
29I
4.4
457
4G.
5GY
5VS
7-5
71M
77K
8P~
9JN
AABNK
AAEDT
AAEDW
AAIKJ
AAKOC
AALRI
AAOAW
AAQFI
AAQXK
AATTM
AAXKI
AAXUO
AAYFN
AAYOK
AAYWO
ABBOA
ABDPE
ABFNM
ABFRF
ABJNI
ABMAC
ABWVN
ABXDB
ACDAQ
ACGFO
ACGFS
ACGOD
ACNNM
ACRLP
ACRPL
ACVFH
ACZNC
ADBBV
ADCNI
ADEZE
ADJOM
ADMUD
ADNMO
AEBSH
AEFWE
AEIPS
AEKER
AENEX
AEUPX
AFJKZ
AFPUW
AFTJW
AFXIZ
AGCQF
AGHFR
AGQPQ
AGRNS
AGUBO
AGYEJ
AHHHB
AHZHX
AIALX
AIEXJ
AIGII
AIIUN
AIKHN
AITUG
AKBMS
AKRWK
AKYEP
ALMA_UNASSIGNED_HOLDINGS
AMRAJ
ANKPU
AOUOD
APXCP
ASPBG
AVWKF
AXJTR
AZFZN
BKOJK
BKOMP
BLXMC
BNPGV
CS3
DU5
EBS
EFJIC
EJD
EO8
EO9
EP2
EP3
FDB
FEDTE
FGOYB
FIRID
FNPLU
FYGXN
G-Q
GBLVA
GBOLZ
HLZ
HVGLF
HZ~
IHE
J1W
KOM
LG9
M41
MO0
MS~
N9A
O-L
O9-
OAUVE
OZT
P-8
P-9
P2P
PC.
PQQKQ
Q38
R2-
RIG
ROL
RPZ
SBC
SDF
SDG
SDP
SES
SEW
SPC
SPCBC
SSH
SSV
SSZ
T5K
TWZ
UHS
UNMZH
WH7
WUQ
ZY4
~G-
77I
9DU
AAYXX
ACLOT
CITATION
EFKBS
EFLBG
~HD
ID FETCH-LOGICAL-c257t-2122c5fe4d6b98dd1b8a07e2af8bee09102b131521f18f0a1255ba7a2461a9ea3
ISICitedReferencesCount 0
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=001491126700001&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
ISSN 0950-5849
IngestDate Sat Nov 29 06:53:49 EST 2025
Sat Jun 21 16:53:54 EDT 2025
IsPeerReviewed true
IsScholarly true
Keywords Misuse detection
BERT
Stack overflow
Java annotation
Language English
LinkModel OpenURL
MergedId FETCHMERGED-LOGICAL-c257t-2122c5fe4d6b98dd1b8a07e2af8bee09102b131521f18f0a1255ba7a2461a9ea3
ORCID 0000-0002-8784-2184
0000-0001-7924-9586
0009-0005-4270-9389
ParticipantIDs crossref_primary_10_1016_j_infsof_2025_107763
elsevier_sciencedirect_doi_10_1016_j_infsof_2025_107763
PublicationCentury 2000
PublicationDate August 2025
2025-08-00
PublicationDateYYYYMMDD 2025-08-01
PublicationDate_xml – month: 08
  year: 2025
  text: August 2025
PublicationDecade 2020
PublicationTitle Information and software technology
PublicationYear 2025
Publisher Elsevier B.V
Publisher_xml – name: Elsevier B.V
References Daoud, Faci, Benslimane, Maamar, Fazziki (bib0007) 2021
Yu, Bai, Seinturier, Monperrus (bib0002) 2021; 5
Lozano, Mens, Kellens (bib0023) 2015; 105
MUBench. [Online]. Available
Shinn N., Cassano F., Berman E., Gopinath A. “Reflexion: language agents with verbal reinforcement learning.” 2023, DOI
S. Amann, H.A. Nguyen, S. Nadi, T.N. Nguyen and M. Mezini. “A systematic evaluation of static API-misuse detectors.” IEEE Trans. Softw. Eng., vol. 45, pp. 1170–1188, DOI
Robillard, Bodden, Kawrykow, Mezini, Ratchford (bib0027) 2012; 39
Zhang, Zhou (bib0041) 2014; 26
Parnin, Bird, Murphy-Hill (bib0015) 2013; 18
Wang, Ji, Shi, Wang, Ye, Cui, Yu (bib0035) 2019
Guerra, Gomes, Ferreira (bib0018) 2024; 29
Rocha, Valente (bib0003) 2011
Fan, Ma (bib0008) 2017
Taibi, Lenarduzzi (bib0011) 2018; 35
Kang, Lo (bib0028) 2021; 48
Darwin (bib0031) 2010
Nuryyev, Ajay, Nadi, Chang, Jiang, Sundaresan (bib0024) 2022
Sven, Nguyen, Nadi, Nguyen, Mezini (bib0029) 2019
Ren, Ye, Xing, Xia, Xu, Zhu, Sun (bib0014) 2021
CheckStyle. [Online]. Available
.
Mansur, Ajay, Sarah, Karim, Yee-Kang, Emily (bib0017) 2022
Liu P., Qiu X., and Huang X. “Recurrent Neural network for text classification with Multi-task learning.” 2016, DOI
Noguera (bib0032) 2008; 5095
Wei, Wang, Schuurmans, Bosma (bib0046) 2022
Vaswani, Parmar, Uszkoreit, Jones, Gomez, Kaiser, Polosukhin (bib0040) 2017
Spring. [Online]. Available
Sanchez, Lara (bib0030) 2016; 45
Java. [Online]. Available
Train Ticket. [Online]. Available
Kim, Tsantalis, Chen, Yang (bib0020) 2021
Li, Jiang, Benton, Xiong, Zhang (bib0013) 2021
Eugenio, Glass (bib0038) 2024; 30
Dyer, Rajan, Nguyen, Nguyen (bib0016) 2014
Yang, Ji, Wu, Ren, Zhang, Zhang, Wang, Dong (bib0034) 2024
Liu, Yan, Sha, Peng, Chen, Wang (bib0001) Mar 2022
Nuryyev. “Mining annotation usage rules of Enterprise Java Framework.” [Master thesis]. Department of Computing Science University of Alberta, 2021.
Fowler (bib0021) 2010
Devlin J., Chang M.W., Lee K., Toutanova K. “Bert: pre-training of deep bidirectional transformers for language understanding.” 2018, DOI
Jawahar, Sagot, Seddah (bib0045) 2019
MicroProfile. [Online]. Available
Zhang, Pei, Liang, Tan (bib0009) 2024; 1
Smith, D.V.Bruggen, F. Tomassetti. “Java parser: visited analyse, transform and generate your Java code base.” 2017.
Jha, Nadi (bib0019) 2020
SonarQube. [Online]. Available
Allamanis (bib0033) 2022
Krüger, Späth, Ali, Bodden, Mezini (bib0022) 2019; 47
Chu, Chen, Chen, Yu (bib0047) 2024
BertViz. [Online].
Taibi (10.1016/j.infsof.2025.107763_bib0011) 2018; 35
Sven (10.1016/j.infsof.2025.107763_bib0029) 2019
Chu (10.1016/j.infsof.2025.107763_bib0047) 2024
Liu (10.1016/j.infsof.2025.107763_bib0001) 2022
Eugenio (10.1016/j.infsof.2025.107763_bib0038) 2024; 30
Ren (10.1016/j.infsof.2025.107763_bib0014) 2021
10.1016/j.infsof.2025.107763_bib0010
Yang (10.1016/j.infsof.2025.107763_bib0034) 2024
Vaswani (10.1016/j.infsof.2025.107763_bib0040) 2017
Daoud (10.1016/j.infsof.2025.107763_bib0007) 2021
10.1016/j.infsof.2025.107763_bib0006
10.1016/j.infsof.2025.107763_bib0004
10.1016/j.infsof.2025.107763_bib0026
10.1016/j.infsof.2025.107763_bib0048
10.1016/j.infsof.2025.107763_bib0005
Sanchez (10.1016/j.infsof.2025.107763_bib0030) 2016; 45
10.1016/j.infsof.2025.107763_bib0025
Parnin (10.1016/j.infsof.2025.107763_bib0015) 2013; 18
10.1016/j.infsof.2025.107763_bib0044
Allamanis (10.1016/j.infsof.2025.107763_bib0033) 2022
Rocha (10.1016/j.infsof.2025.107763_bib0003) 2011
Nuryyev (10.1016/j.infsof.2025.107763_bib0024) 2022
Kang (10.1016/j.infsof.2025.107763_bib0028) 2021; 48
Fan (10.1016/j.infsof.2025.107763_bib0008) 2017
Darwin (10.1016/j.infsof.2025.107763_bib0031) 2010
Kim (10.1016/j.infsof.2025.107763_bib0020) 2021
10.1016/j.infsof.2025.107763_bib0042
10.1016/j.infsof.2025.107763_bib0043
Zhang (10.1016/j.infsof.2025.107763_bib0009) 2024; 1
Krüger (10.1016/j.infsof.2025.107763_bib0022) 2019; 47
Jha (10.1016/j.infsof.2025.107763_bib0019) 2020
Zhang (10.1016/j.infsof.2025.107763_bib0041) 2014; 26
Robillard (10.1016/j.infsof.2025.107763_bib0027) 2012; 39
10.1016/j.infsof.2025.107763_bib0039
Yu (10.1016/j.infsof.2025.107763_bib0002) 2021; 5
Guerra (10.1016/j.infsof.2025.107763_bib0018) 2024; 29
10.1016/j.infsof.2025.107763_bib0037
Fowler (10.1016/j.infsof.2025.107763_bib0021) 2010
Wang (10.1016/j.infsof.2025.107763_bib0035) 2019
Lozano (10.1016/j.infsof.2025.107763_bib0023) 2015; 105
10.1016/j.infsof.2025.107763_bib0036
Wei (10.1016/j.infsof.2025.107763_bib0046) 2022
10.1016/j.infsof.2025.107763_bib0012
Noguera (10.1016/j.infsof.2025.107763_bib0032) 2008; 5095
Jawahar (10.1016/j.infsof.2025.107763_bib0045) 2019
Dyer (10.1016/j.infsof.2025.107763_bib0016) 2014
Li (10.1016/j.infsof.2025.107763_bib0013) 2021
Mansur (10.1016/j.infsof.2025.107763_bib0017) 2022
References_xml – year: 2010
  ident: bib0021
  article-title: Domain-Specific Languages
– volume: 5
  start-page: 969
  year: 2021
  end-page: 986
  ident: bib0002
  article-title: Characterizing the usage, evolutionand impact of Java annotations in practice
  publication-title: IEEE Trans. Softw. Eng.
– start-page: 241
  year: 2021
  end-page: 252
  ident: bib0013
  article-title: A large-scale study on API misuses in the wild
  publication-title: 14th IEEE Conference on Software Testing, Verification
– volume: 105
  start-page: 73
  year: 2015
  end-page: 91
  ident: bib0023
  article-title: Usage contracts: offering immediate feedback on violations of structural source-code regularities
  publication-title: Sci. Comput. Program
– volume: 26
  start-page: 1819
  year: 2014
  end-page: 1837
  ident: bib0041
  article-title: A review on multi-label learning algorithms
  publication-title: IEEE Trans. Knowl. Data Eng.
– reference: Smith, D.V.Bruggen, F. Tomassetti. “Java parser: visited analyse, transform and generate your Java code base.” 2017.
– reference: Devlin J., Chang M.W., Lee K., Toutanova K. “Bert: pre-training of deep bidirectional transformers for language understanding.” 2018, DOI:
– volume: 1
  start-page: 722
  year: 2024
  end-page: 744
  ident: bib0009
  article-title: Understanding and detecting annotation-induced faults of static analyzers
  publication-title: Proc. ACM Softw. Eng.
– volume: 29
  start-page: 29
  year: 2024
  end-page: 62
  ident: bib0018
  article-title: How do annotations affect java code readability?
  publication-title: Empir. Softw. Eng.
– start-page: 132
  year: 2020
  end-page: 142
  ident: bib0019
  article-title: Annotation practices in Android apps
  publication-title: IEEE 20th International Working Conference on Source Code Analysis and Manipulation
– volume: 35
  start-page: 56
  year: 2018
  end-page: 62
  ident: bib0011
  article-title: On the definition of microservice bad smells
  publication-title: IEEE Softw.
– reference: BertViz. [Online].
– start-page: 3651
  year: 2019
  end-page: 3657
  ident: bib0045
  article-title: What does BERT learn about the structure of language?
  publication-title: ACL 57th Annual Meeting of the Association for Computational Linguistics
– start-page: 426
  year: 2011
  end-page: 431
  ident: bib0003
  article-title: How annotations are used in Java: an empirical study
  publication-title: Proceedings of the 23rd International Conference on Software Engineering & Knowledge Engineering
– year: 2021
  ident: bib0007
  article-title: A multi-model based mi- croservices identification approach
  publication-title: J. Syst. Architect.
– reference: Nuryyev. “Mining annotation usage rules of Enterprise Java Framework.” [Master thesis]. Department of Computing Science University of Alberta, 2021.
– volume: 45
  start-page: 164
  year: 2016
  end-page: 190
  ident: bib0030
  article-title: Ann: a domain-specific language for the effective design and validation of java annotations
  publication-title: Comput. Lang. Syst. Struct.
– reference: S. Amann, H.A. Nguyen, S. Nadi, T.N. Nguyen and M. Mezini. “A systematic evaluation of static API-misuse detectors.” IEEE Trans. Softw. Eng., vol. 45, pp. 1170–1188, DOI:
– volume: 39
  start-page: 613
  year: 2012
  end-page: 637
  ident: bib0027
  article-title: Automated api property inference techniques
  publication-title: IEEE Trans. Softw. Eng.
– start-page: 22
  year: 2021
  end-page: 30
  ident: bib0020
  article-title: Studying test annotation maintenance in the wild
  publication-title: 43rd IEEE/ACM InternationalConference on Software Engineering
– reference: SonarQube. [Online]. Available:
– start-page: 779
  year: 2014
  end-page: 790
  ident: bib0016
  article-title: Mining billions of ast nodes to study actual and potential usage of javalanguage features
  publication-title: Proceedings of the 36th International Conferenceon Software Engineering
– reference: Train Ticket. [Online]. Available:
– year: 2017
  ident: bib0040
  article-title: Attention is all you need
  publication-title: Advances in Neural Information Processing Systems 30, Annual Conference on Neural Information Processing Systems
– volume: 5095
  start-page: 48
  year: 2008
  end-page: 62
  ident: bib0032
  article-title: Annotation framework validation using domain models
  publication-title: Springer
– volume: 48
  start-page: 2761
  year: 2021
  end-page: 2783
  ident: bib0028
  article-title: Active learning of discriminative subgraph patterns for API misuse detection
  publication-title: IEEE Trans. Softw. Eng.
– start-page: 2022
  year: 2019
  end-page: 2032
  ident: bib0035
  article-title: Heterogeneous graph attention network
  publication-title: The World Wide Web Conference
– volume: 30
  start-page: 95
  year: 2024
  end-page: 101
  ident: bib0038
  article-title: The Kappa statistic: a second look
  publication-title: Comput. Linguist.
– year: 2022
  ident: bib0046
  article-title: Chain-of-thought prompting elicits reasoning in large language models
  publication-title: 36th Conference on Neural Information Processing Systems
– year: Mar 2022
  ident: bib0001
  article-title: DeepAnna: deep learning based Java annotation recommendation and misuse detection
  publication-title: Proceedings of the 29th IEEE International Conference on Software Analysis, Evolution and Reengineering
– reference: Java. [Online]. Available:
– start-page: 461
  year: 2021
  end-page: 472
  ident: bib0014
  article-title: API-misuse detection driven by fine-grained API-constraint knowledge graph
  publication-title: Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering
– volume: 18
  start-page: 1047
  year: 2013
  end-page: 1089
  ident: bib0015
  article-title: Adoption and use of javagenerics
  publication-title: Empir. Softw. Eng.
– start-page: 540
  year: 2010
  end-page: 547
  ident: bib0031
  article-title: AnnaBot: a static verifier for Java annotation usage
  publication-title: Adv. Softw. Eng
– start-page: 265
  year: 2019
  end-page: 275
  ident: bib0029
  article-title: Investigating next steps in static API-misuse detection
  publication-title: IEEE/ACM 16th International Conference on Mining Software Repositories
– start-page: 553
  year: 2022
  end-page: 562
  ident: bib0024
  article-title: Mining annotation usage rules: a case study with MicroProfile
  publication-title: 2022 IEEE International Conference on Software Maintenance and Evolution (ICSME)
– reference: .
– year: 2017
  ident: bib0008
  article-title: Migrating monolithic mobile application to microservice architecture: an experiment report
  publication-title: IEEE 6th International Conference on AI Mobile Services
– reference: Shinn N., Cassano F., Berman E., Gopinath A. “Reflexion: language agents with verbal reinforcement learning.” 2023, DOI:
– start-page: 120
  year: 2024
  end-page: 131
  ident: bib0034
  article-title: Using graph neural network to analyse and detect annotation misuse in java code
  publication-title: International Conference on Intelligent Computing
– start-page: 91
  year: 2022
  end-page: 100
  ident: bib0017
  article-title: A Human-in-the-loop approach to generate annotation usage rules
  publication-title: Proceedings of the 32nd Annual International Conference on Computer Science and Software Engineering
– start-page: 1173
  year: 2024
  end-page: 1203
  ident: bib0047
  article-title: A survey of chain of thought reasoning: advances, frontiers and future
  publication-title: The 62nd Annual Meeting of the Association for Computational Linguistics
– reference: Spring. [Online]. Available:
– reference: Liu P., Qiu X., and Huang X. “Recurrent Neural network for text classification with Multi-task learning.” 2016, DOI:
– reference: MicroProfile. [Online]. Available:
– reference: CheckStyle. [Online]. Available:
– reference: MUBench. [Online]. Available:
– start-page: 483
  year: 2022
  end-page: 497
  ident: bib0033
  article-title: Graph Neural networks on program analysis
  publication-title: Graph Neural Networks: Foundations, Frontiers, and Applications
– volume: 47
  start-page: 2382
  year: 2019
  end-page: 2400
  ident: bib0022
  article-title: Crysl: an extensible approach to validating the correct usage of cryptographic apis
  publication-title: IEEE Trans. Softw. Eng.
– volume: 39
  start-page: 613
  year: 2012
  ident: 10.1016/j.infsof.2025.107763_bib0027
  article-title: Automated api property inference techniques
  publication-title: IEEE Trans. Softw. Eng.
  doi: 10.1109/TSE.2012.63
– ident: 10.1016/j.infsof.2025.107763_bib0042
– start-page: 3651
  year: 2019
  ident: 10.1016/j.infsof.2025.107763_bib0045
  article-title: What does BERT learn about the structure of language?
– ident: 10.1016/j.infsof.2025.107763_bib0044
– start-page: 22
  year: 2021
  ident: 10.1016/j.infsof.2025.107763_bib0020
  article-title: Studying test annotation maintenance in the wild
– year: 2022
  ident: 10.1016/j.infsof.2025.107763_bib0001
  article-title: DeepAnna: deep learning based Java annotation recommendation and misuse detection
– start-page: 426
  year: 2011
  ident: 10.1016/j.infsof.2025.107763_bib0003
  article-title: How annotations are used in Java: an empirical study
– year: 2010
  ident: 10.1016/j.infsof.2025.107763_bib0021
– start-page: 553
  year: 2022
  ident: 10.1016/j.infsof.2025.107763_bib0024
  article-title: Mining annotation usage rules: a case study with MicroProfile
– volume: 18
  start-page: 1047
  year: 2013
  ident: 10.1016/j.infsof.2025.107763_bib0015
  article-title: Adoption and use of javagenerics
  publication-title: Empir. Softw. Eng.
  doi: 10.1007/s10664-012-9236-6
– ident: 10.1016/j.infsof.2025.107763_bib0036
– start-page: 461
  year: 2021
  ident: 10.1016/j.infsof.2025.107763_bib0014
  article-title: API-misuse detection driven by fine-grained API-constraint knowledge graph
– volume: 47
  start-page: 2382
  year: 2019
  ident: 10.1016/j.infsof.2025.107763_bib0022
  article-title: Crysl: an extensible approach to validating the correct usage of cryptographic apis
  publication-title: IEEE Trans. Softw. Eng.
  doi: 10.1109/TSE.2019.2948910
– volume: 48
  start-page: 2761
  year: 2021
  ident: 10.1016/j.infsof.2025.107763_bib0028
  article-title: Active learning of discriminative subgraph patterns for API misuse detection
  publication-title: IEEE Trans. Softw. Eng.
  doi: 10.1109/TSE.2021.3069978
– ident: 10.1016/j.infsof.2025.107763_bib0010
  doi: 10.1109/TSE.2018.2827384
– ident: 10.1016/j.infsof.2025.107763_bib0006
– start-page: 2022
  year: 2019
  ident: 10.1016/j.infsof.2025.107763_bib0035
  article-title: Heterogeneous graph attention network
– start-page: 241
  year: 2021
  ident: 10.1016/j.infsof.2025.107763_bib0013
  article-title: A large-scale study on API misuses in the wild
– year: 2017
  ident: 10.1016/j.infsof.2025.107763_bib0040
  article-title: Attention is all you need
– volume: 30
  start-page: 95
  year: 2024
  ident: 10.1016/j.infsof.2025.107763_bib0038
  article-title: The Kappa statistic: a second look
  publication-title: Comput. Linguist.
  doi: 10.1162/089120104773633402
– volume: 45
  start-page: 164
  year: 2016
  ident: 10.1016/j.infsof.2025.107763_bib0030
  article-title: Ann: a domain-specific language for the effective design and validation of java annotations
  publication-title: Comput. Lang. Syst. Struct.
– ident: 10.1016/j.infsof.2025.107763_bib0048
– start-page: 132
  year: 2020
  ident: 10.1016/j.infsof.2025.107763_bib0019
  article-title: Annotation practices in Android apps
– ident: 10.1016/j.infsof.2025.107763_bib0025
– start-page: 779
  year: 2014
  ident: 10.1016/j.infsof.2025.107763_bib0016
  article-title: Mining billions of ast nodes to study actual and potential usage of javalanguage features
– ident: 10.1016/j.infsof.2025.107763_bib0004
– volume: 26
  start-page: 1819
  year: 2014
  ident: 10.1016/j.infsof.2025.107763_bib0041
  article-title: A review on multi-label learning algorithms
  publication-title: IEEE Trans. Knowl. Data Eng.
  doi: 10.1109/TKDE.2013.39
– start-page: 91
  year: 2022
  ident: 10.1016/j.infsof.2025.107763_bib0017
  article-title: A Human-in-the-loop approach to generate annotation usage rules
– ident: 10.1016/j.infsof.2025.107763_bib0043
– ident: 10.1016/j.infsof.2025.107763_bib0039
– start-page: 120
  year: 2024
  ident: 10.1016/j.infsof.2025.107763_bib0034
  article-title: Using graph neural network to analyse and detect annotation misuse in java code
– ident: 10.1016/j.infsof.2025.107763_bib0012
– year: 2022
  ident: 10.1016/j.infsof.2025.107763_bib0046
  article-title: Chain-of-thought prompting elicits reasoning in large language models
– volume: 1
  start-page: 722
  year: 2024
  ident: 10.1016/j.infsof.2025.107763_bib0009
  article-title: Understanding and detecting annotation-induced faults of static analyzers
  publication-title: Proc. ACM Softw. Eng.
  doi: 10.1145/3643759
– volume: 35
  start-page: 56
  year: 2018
  ident: 10.1016/j.infsof.2025.107763_bib0011
  article-title: On the definition of microservice bad smells
  publication-title: IEEE Softw.
  doi: 10.1109/MS.2018.2141031
– ident: 10.1016/j.infsof.2025.107763_bib0037
– volume: 5095
  start-page: 48
  year: 2008
  ident: 10.1016/j.infsof.2025.107763_bib0032
  article-title: Annotation framework validation using domain models
  publication-title: Springer
– volume: 29
  start-page: 29
  year: 2024
  ident: 10.1016/j.infsof.2025.107763_bib0018
  article-title: How do annotations affect java code readability?
  publication-title: Empir. Softw. Eng.
  doi: 10.1007/s10664-024-10460-w
– start-page: 540
  year: 2010
  ident: 10.1016/j.infsof.2025.107763_bib0031
  article-title: AnnaBot: a static verifier for Java annotation usage
  publication-title: Adv. Softw. Eng
– start-page: 483
  year: 2022
  ident: 10.1016/j.infsof.2025.107763_bib0033
  article-title: Graph Neural networks on program analysis
– volume: 5
  start-page: 969
  year: 2021
  ident: 10.1016/j.infsof.2025.107763_bib0002
  article-title: Characterizing the usage, evolutionand impact of Java annotations in practice
  publication-title: IEEE Trans. Softw. Eng.
  doi: 10.1109/TSE.2019.2910516
– start-page: 1173
  year: 2024
  ident: 10.1016/j.infsof.2025.107763_bib0047
  article-title: A survey of chain of thought reasoning: advances, frontiers and future
– start-page: 265
  year: 2019
  ident: 10.1016/j.infsof.2025.107763_bib0029
  article-title: Investigating next steps in static API-misuse detection
– year: 2017
  ident: 10.1016/j.infsof.2025.107763_bib0008
  article-title: Migrating monolithic mobile application to microservice architecture: an experiment report
– year: 2021
  ident: 10.1016/j.infsof.2025.107763_bib0007
  article-title: A multi-model based mi- croservices identification approach
  publication-title: J. Syst. Architect.
  doi: 10.1016/j.sysarc.2021.102200
– volume: 105
  start-page: 73
  year: 2015
  ident: 10.1016/j.infsof.2025.107763_bib0023
  article-title: Usage contracts: offering immediate feedback on violations of structural source-code regularities
  publication-title: Sci. Comput. Program
  doi: 10.1016/j.scico.2015.01.004
– ident: 10.1016/j.infsof.2025.107763_bib0026
– ident: 10.1016/j.infsof.2025.107763_bib0005
SSID ssj0017030
Score 2.432088
Snippet Developers leverage Java annotations to implement functions such as creating objects and operating databases. However, mastering annotations is challenging,...
SourceID crossref
elsevier
SourceType Index Database
Publisher
StartPage 107763
SubjectTerms BERT
Java annotation
Misuse detection
Stack overflow
Title BERT4Anno: An annotation misuse detection method for Java
URI https://dx.doi.org/10.1016/j.infsof.2025.107763
Volume 184
WOSCitedRecordID wos001491126700001&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
journalDatabaseRights – providerCode: PRVESC
  databaseName: Elsevier SD Freedom Collection Journals 2021
  issn: 0950-5849
  databaseCode: AIEXJ
  dateStart: 19950101
  customDbUrl:
  isFulltext: true
  dateEnd: 99991231
  titleUrlDefault: https://www.sciencedirect.com
  omitProxy: false
  ssIdentifier: ssj0017030
  providerName: Elsevier
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1BT9swFLZGQYjLxAYI2EA-cM2UukljcytTp9FDNW1F606RndjQHtyqTYCfz3uxk4KKECDtEkVW4jTvs14-v37vPULOMiNDwVkStJnKgqjLTaAUigCQW4jccNjNVc0mkuGQj8fil-93v6zaCSTW8vt7Mf-vUMMYgI2ps2-Au5kUBuAcQIcjwA7HVwF_0f89inrWznzMT8KplxQCpuUSE6UK7TqEu_7RldRwIG_lY6bq85SKWq68BH99hzKxYi0Y_8_HnAfwGVSzRpNT6QTGk2b1_S0rQZ-203KlA5rImb_sOrsppf-O-jAEixsRnI-NreXH-CBjGADFEU_9bfSs73ZhhCluOOCVvuFDYDCpHeDTqth_cGqcGSgclsXjG2STJbHgLbLZu-yPB81fSejSXMFF91Pq_MlK5Lf-rOf5ySPOMdolH_1mgfYcyJ_IB20_k-06V2GPiAbrc9qzdIU0dUjTBmnqkKaAKUWk98nVj_7o-8_A98IIMnCqRQAMg6EwMMq7SvA8bysuw0QzabjSGkkfU-0OkjHT5iaUwFtjJROJ5QKl0LJzQFp2ZvUhoRIYay7j2MRRFikgbFIwnRsWGR52hVJHJKgtkM5dyZO01gJOU2exFC2WOosdkaQ2U-ppm6NjKSD74p3H777zC9lZLcKvpFUsSn1CtrLbYrJcnPol8ABEnmcy
linkProvider Elsevier
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=BERT4Anno%3A+An+annotation+misuse+detection+method+for+Java&rft.jtitle=Information+and+software+technology&rft.au=Yang%2C+Jingbo&rft.au=Ji%2C+Xin&rft.au=Wu%2C+Wenjun&rft.au=Liao%2C+Xingchuang&rft.date=2025-08-01&rft.pub=Elsevier+B.V&rft.issn=0950-5849&rft.volume=184&rft_id=info:doi/10.1016%2Fj.infsof.2025.107763&rft.externalDocID=S0950584925001028
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0950-5849&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0950-5849&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0950-5849&client=summon