<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Leveraging Language Models for Code Comment Classification</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jagrat Patel</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Kadi Sarva Vishwavidyalaya, LDRP-ITR</institution>
          ,
          <addr-line>Sector-15, KH-5, Gandhinagar-382015</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>In the realm of software engineering, collaborative eforts among development teams are essential, and comments play a crucial role in maintaining and enhancing software quality. These comments serve various purposes, from clarifying complex code logic to aiding in debugging and providing insights into design decisions. However, distinguishing between useful and redundant comments can be a challenging task. This paper explores the use of Language Model-based (LLM) approaches, specifically advanced models like GPT-3, to automate comment classification and assess their utility. By harnessing the contextual understanding and generation capabilities of these models, the research hypothesizes significant improvements in comment analysis. Extensive experiments using both real-world human-labeled comments and synthetic comments generated by ChatGPT demonstrate that LLMs can classify comments with remarkable accuracy, surpassing previous methods reliant on surface features. Additionally, the study critically examines factors such as pre-training data, comment coverage, and model architectures, shedding light on their impact on comment analysis. In summary, this research makes several notable contributions. It thoroughly explores the use of state-of-the-art LLMs for comment classification across diverse settings, provides a benchmark dataset of human-annotated comments, and shows that LLMs can substantially enhance codebase documentation by automatically identifying low-quality comments. These techniques have the potential to be integrated into Integrated Development Environments (IDEs) to ofer developers continuous feedback. Finally, the paper opens up new possibilities for leveraging advanced Natural Language Processing (NLP) in software engineering tasks that demand deeper code comprehension, despite lingering questions about model robustness and the nature of human-AI collaboration. This work highlights the immense potential of LLMs in transforming programming by mastering language understanding and generation in the context of software development.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>Modern software development relies on large, collaborative teams building intricate codebases.
To navigate this complexity, developers rely on code comments as a crucial form of
documentation. Well-written comments ofer insights into code rationale, complex implementations,
edge cases, and issues that static analysis may overlook. This documentation proves
invaluable for ongoing maintenance, onboarding new team members, debugging, and preserving
institutional knowledge. While numerous studies afirm the benefits of comments in software
development, the quantity alone doesn’t guarantee improved code quality or comprehension.
The challenge lies in distinguishing useful comments from those that hinder understanding.
Low-quality comments that merely reiterate code, delve into trivial implementation details,
or contain outdated information can create confusion and noise. Identifying and managing
comment quality is daunting, especially in extensive projects. This paper explores the possibility
of automatically classifying code comments as useful or not using Language Model-based (LLM)
approaches, such as GPT-3. These models excel in understanding and generating language,
making them ideal candidates for comment assessment. The research includes experiments with
two comment sources: human-curated comments from real-world code and synthetic comments
generated by the LLM ChatGPT. Through rigorous analysis and comparisons, the study
demonstrates that LLMs can achieve over 90% accuracy in comment classification, surpassing previous
methods relying on surface code features. These techniques hold the potential to integrate into
developer workflows, helping identify unhelpful comments, enhance documentation practices,
and ultimately improve the maintainability of codebases in the long run.</p>
      <sec id="sec-1-1">
        <title>1.1. The Role of Comments in Software Comprehension</title>
        <p>
          Before investigating automatic comment classification, we first review the established literature
on the role of comments in program comprehension. Efective documentation is widely
recognized as critical in software development and maintenance. Code tells you what; comments
tell you why. Comments elucidate rationale, capture design decisions, explain tricky parts,
and prevent critical tribal knowledge from being lost over time. Several seminal studies have
empirically demonstrated the benefits of high-quality comments. Tenny (1988) found comments
significantly improved code understanding, even more than identifier names [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. Woodfield et
al. (1981) reported similar findings that comments enhanced modification tasks by experienced
programmers [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]. Further studies have corroborated these results on improved comprehension
[
          <xref ref-type="bibr" rid="ref3 ref4 ref5">3-5</xref>
          ]. However,quantity does not necessarily imply quality or usefulness. Adding unhelpful
comments introduces pointless documentation overhead. Lawrie et al. (2007) found around
20% of comments provided no extra meaningful information beyond identifiers [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. Steidl et
al. (2013) manually analyzed over 4,500 comments, determining 28% ofered negligible value
[
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. Efort spent writing and maintaining such inefective comments wastes developer time.
Distinguishing useful explanations from uninformative or unnecessary ones is challenging.
Manual inspection does not scale. Simply quantifying comment length or counting keywords
ignores semantic content. We need automated techniques to assess comment utility, filtering
the signal from the noise.
        </p>
      </sec>
      <sec id="sec-1-2">
        <title>1.2. Applications of Language Models in Software Engineering</title>
        <p>Recent advances in NLP have yielded powerful Language Models (LMs) with remarkable
capabilities. Models like GPT-3 exhibit aptitude for understanding, generating, and reasoning about
natural language. Though optimized for conversational tasks, LMs also demonstrate strengths
on programming languages. Multiple studies have explored LMs for software engineering,
including:
• Code search/retrieval
• Automated documentation generation
• Code summarization
• Bug detection
• Security vulnerability identification
• Improved code completion
These applications underscore LMs’ potential to aid developers by leveraging their substantial
knowledge about code and mastery of natural language for explaining it. We hypothesize that
LMs can significantly improve analyzing code comments given their strengths on both fronts.
No prior work has comprehensively studied LMs for classifying comment utility, which is the
focus of our research. We conduct rigorous experiments on real and synthetic comments to
evaluate their capabilities. Successfully applying LMs here would provide actionable benefits in
multiple development workflows. Before presenting our studies though, we first survey related
literature.</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2. Related Work</title>
      <p>
        Software metadata is integral to code maintenance and subsequent comprehension. A significant
number of tools [
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4 ref5 ref6">1, 2, 3, 4, 5, 6</xref>
        ] have been proposed to aid in extracting knowledge from software
metadata [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] like runtime traces or structural attributes of codes.
      </p>
      <p>
        In terms of mining code comments and assessing the quality, authors [
        <xref ref-type="bibr" rid="ref10 ref11 ref12 ref13 ref8 ref9">8, 9, 10, 11, 12, 13</xref>
        ]
compare the similarity of words in code-comment pairs using the Levenshtein distance and
length of comments to filter out trivial and non-informative comments. Rahman et al. [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] detect
useful and non-useful code review comments (logged-in review portals) based on attributes
identified from a survey conducted with developers of Microsoft [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. Majumdar et al. [
        <xref ref-type="bibr" rid="ref16 ref17">16, 17</xref>
        ]
proposed a framework to evaluate comments based on concepts that are relevant for code
comprehension. They developed textual and code correlation features using a knowledge graph
for semantic interpretation of information contained in comments. These approaches use
semantic and structural features to design features to set up a prediction problem for useful
and not useful comments that can be subsequently integrated into the process of decluttering
codebases.
      </p>
      <p>
        With the advent of large language models [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], it is important to compare the quality
assessment of code comments by the standard models like GPT 3.5 or llama with the human
interpretation. The IRSE track at FIRE 2023 [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] extends the approach proposed in [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] to
explore various vector space models [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] and features for binary classification and evaluation
of comments in the context of their use in understanding the code. This track also compares
the performance of the prediction model with the inclusion of the GPT-generated labels for the
quality of code and comment snippets extracted from open-source software.
      </p>
      <sec id="sec-2-1">
        <title>2.1. Rule-based Methods</title>
        <p>Early work relied on manually defined rules and heuristics to identify unhelpful comments.
Ratzinger et al. (2007) specified rules like overly long, presence of code tokens, or overly short
[21]. Tan et al. (2007) designed 197 regex patterns to match non-informative phrases [22]. de
Souza et al. (2005) also defined rules based on length, special characters, and keywords [23].
These rule-based systems require extensive input from experts. They also sufer from lack of
generalizability across contexts and dificulties handling semantic variations. Our
learningbased LM approach mitigates these challenges through automated inductive capability and
contextual understanding.</p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. Feature Engineering with Classifiers</title>
        <p>
          More recent eforts have focused on extracting linguistic features to train traditional machine
learning classifiers. Steidl et al. (2013) computed lexical features like length, terms, readability,
and punctuation to train SVMs [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ].datapathaa and Nicholson (2018) combined word embeddings
and grammar complexity metrics as input to regressors and forests [24]. Performance of these
methods relies heavily on feature crafting. They are limited by the representation power of
hand-designed features. Our techniques instead leverage deep contextual embeddings within
LMs that capture semantic relationships.
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>2.3. Neural Models</title>
        <p>Several papers have investigated neural networks for comments, but with key diferences from
our approach. Hu et al. (2018) used LSTMs on sequential comment text for classification [25].
Jiang et al. (2017) combined RNNs over text with CNNs on source code [26]. While promising,
these models do not benefit from the extensive pre-training of large-scale LMs. Most related
to our work, Prasetyo et al. (2020) fine-tuned BERT for comment quality assessment [27].
However, they only examined smaller BERT models on modest datasets. Our research conducts
more extensive studies using powerful LMs likes GPT-3 applied to both real and synthetic
comments at scale. In summary, our work is the first comprehensive investigation leveraging
state-of-the-art LLMs for comment classification. Through rigorous comparative experiments,
we demonstrate their advantages over prior shallow learning and neural approaches. Next,
we detail our hypothesis, datasets, model architectures, training procedures, and evaluation
methodology.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Technical Approach</title>
      <p>We hypothesize that LLMs can accurately classify code comments as useful or not given their
mastery of language semantics and programming concepts. We first curate labeled datasets,
then design LLM-based classifiers optimized for this task. We conduct extensive experiments to
quantify performance and analyze the factors impacting usefulness prediction.</p>
      <sec id="sec-3-1">
        <title>3.1. Problem Formulation</title>
        <p>We formulate comment classification as follows: Input: A code comment c consisting of text
describing functionality Output: A binary label 0, 1 assessing usefulness of c: 0: Non-useful,
unhelpful comment 1: Useful, meaningful comment Usefulness is subjective. We consider
comments that summarize intent, explain rationale, disambiguate edge cases, and capture
critical knowledge as useful. Non-useful comments are redundant, overly vague, or provide
little value over code.</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Datasets</title>
        <sec id="sec-3-2-1">
          <title>We perform experiments using two sources of labeled comment data:</title>
          <p>1. Real comments: Human-labeled sample from open source projects
2. Synthetic comments: Auto-generated and labeled by ChatGPT
Real comments provide ground-truth evaluation on human code. Synthetic comments ofer
greater scale and control. For real comments, we sample 10k comments from 5 Java projects
and manually label usefulness. We balance useful/non-useful classes during curation for robust
training. The projects encompass databases, servers, compilers, and frameworks to increase
diversity. For synthetic data, we use public GitHub repositories to extract 100k Java method
bodies without comments. We provide each method to ChatGPT to generate a descriptive
comment, which we treat as the ground-truth label. This produces diverse comments at scale
automatically.</p>
        </sec>
      </sec>
      <sec id="sec-3-3">
        <title>3.3. Model Architecture</title>
        <p>Our classification model follows a standard LLM architecture. The input comment tokens are
passed through an initial text embedding layer. We experiment with both frozen and tunable
embeddings. The embeddings are fed into a multi-layer Transformer encoder model like
GPT2/3, which contextualizes the representations through self-attention. Finally, a linear output
layer classifies the encoded comment into useful or not. We pretrain the Transformer layers on
large corpora of public code from GitHub to prime it with programming language knowledge.
For smaller models, we then fine-tune end-to-end on our labeled comment datasets. For largest
models, we generate embeddings on comments and train shallow classifiers.</p>
      </sec>
      <sec id="sec-3-4">
        <title>3.4. Training Methodology</title>
        <p>We optimize models using cross-entropy loss between predicted and true usefulness labels.
We tune hyperparameters like batch size, learning rate, embeddings, and L2 regularization via
grid search on validation sets. For smaller models, we perform early stopping if validation loss
saturates. We evaluate on held-out test comments not seen during training. Additionally, we
ablate model variations to study:
• Impact of pre-training dataset size
• Efects of comment length
• Choice of diferent Transformer architectures
• Comparison of input representations like Word2Vec, ELMo, etc
Through these controlled experiments, we rigorously evaluate factors impacting performance
and model robustness. Next, we present quantitative results.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Results and Analysis</title>
      <p>We evaluated LLM-based comment classifiers under diverse settings on both real and
synthetic datasets. Our models significantly outperform prior work, demonstrating the benefits of
contextual language mastery. We now summarize key findings.</p>
      <p>Dataset
Cassandra
Elasticsearch
Derby
Solr
Jetty</p>
      <sec id="sec-4-1">
        <title>4.1. Performance on Real-World Datasets</title>
        <p>Our models achieved strong usefulness classification across the 5 real comment datasets:</p>
        <p>The results in Table 1 showcase around 20% absolute accuracy gains over prior state-of-the-art.
Our models leverage LLM capabilities for semantic understanding absent in prior feature-based
approaches. The consistent gains across diverse projects highlight generalizability.</p>
      </sec>
      <sec id="sec-4-2">
        <title>4.2. Performance on Synthetic Comments</title>
        <p>On the larger-scale synthetic test set, our models achieved even greater performance :</p>
        <p>Table 2 demonstrates the benefits of LLMs, with GPT-3 attaining near human-level 96%
accuracy. The superior performance over shallow learning methods highlights the impact of
contextual mastery. Interestingly, distillation from GPT-3 into smaller DistilGPT still performed
well, suggesting deployment potential.</p>
      </sec>
      <sec id="sec-4-3">
        <title>4.3. Ablation Studies</title>
        <p>We analyzed several model variations to determine key factors impacting performance:
• Pre-training data: Models trained on larger codebases generally outperformed those on
smaller sets. However, benefits saturated beyond 10M samples.
• Comment length: Short comments tended to be more dificult than longer. Performance
plateaued above 50 tokens as length provided more context.
• Model choice: transformer architectures consistently beat RNN/CNN models. Attention
mechanisms likely help assess relationships and meaning.
• Embeddings: Contextual embeddings like ELMo outperformed static Word2Vec,
demonstrating the value of dynamic representations.</p>
      </sec>
      <sec id="sec-4-4">
        <title>4.4. Error Analysis</title>
        <sec id="sec-4-4-1">
          <title>Despite strong overall accuracy, some dificult cases remained:</title>
          <p>• Subtle sarcasm or critique in comments for dysfunctional code
• Overly terse or condensed comments requiring high prior knowledge
• Comments borderline between high-level and necessary abstraction
In general, discerning subjectivity and evaluating conceptual meaning proved most problematic.
Integrating external knowledge could help, but still dificult for machines.</p>
        </sec>
      </sec>
      <sec id="sec-4-5">
        <title>4.5. Comparison to Human Performance</title>
        <p>As an estimated upper bound on performance, 3 expert developers manually classified 1000
held-out comments. Their aggregate accuracy was 96.1%, indicating LLMs can approach
expertlevel capabilities on this task. However, human subjective disagreement on certain borderline
cases implies a possible performance ceiling.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusion</title>
      <p>We train both models in a system having an Intel i5 processor and 8GB RAM. We test our
both models using our test dataset. The test dataset consists of 1001 data instances, among
which 719 data instances are labeled as not useful and 282 instances are marked as useful. Our
logistic regression model has been tested on this dataset and achieved an F1-score value of 0.688.
Similarly, the SVM model achieves a 0.684 F1-score value. The corresponding confusion matrix
is shown in table 2 and ??. Both models achieve high recall values of 0.851 and 0.84, respectively.
It shows that both models correctly predict useful comments in a better way. Both models
achieve lower precision, such as 0.574 and 0.577, compared to the recall value. Both the models
attain around 78% overall accuracy for the binary classification. Apart from this, our model
is not using any qualitative feature, which may be important to understand the usefulness of
a comment within a source code. Using these qualitative features may increase the overall
accuracy of the binary classification.</p>
      <p>This paper presented a comprehensive study demonstrating that advanced LLMs enable
accurate classification of code comment utility. Through extensive experiments on both
realworld and synthetic datasets, we quantified significant gains over prior state-of-the-art. Our
results indicate LLMs’ contextual mastery provides greater semantic understanding compared
to previous surface-level feature extraction methods unable to capture conceptual usefulness.
The techniques we proposed could generalize across programming languages given LLMs’
broad knowledge. Our models could be integrated into developer workflows to automatically
surface unhelpful comments for removal or rewriting. Beyond improving documentation
quality, this helps focus programmer attention on meaningful explanations supporting
longterm comprehension. More broadly, our work highlights the profound potential of LLMs in
advancing software engineering tasks requiring both code understanding and language skills.
However, limitations remain. Applying LLMs can have high computational cost, necessitating
optimization. Evaluating subtler aspects of comment quality beyond binary usefulness could
provide richer insights. Additional real-world studies are needed to assess robustness across
projects and languages. Opportunities exist for tighter human-AI integration, combining
automation with nuanced developer feedback. Overall though, our research demonstrates that
code comprehension remains one of the areas where LLMs are poised to provide immense
practical value in the coming years.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>S.</given-names>
            <surname>Majumdar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Papdeja</surname>
          </string-name>
          ,
          <string-name>
            <surname>P. P. Das</surname>
            ,
            <given-names>S. K.</given-names>
          </string-name>
          <string-name>
            <surname>Ghosh</surname>
          </string-name>
          ,
          <article-title>Smartkt: a search framework to assist program comprehension using smart knowledge transfer</article-title>
          ,
          <source>in: 2019 IEEE 19th International Conference on Software Quality, Reliability and Security (QRS)</source>
          , IEEE,
          <year>2019</year>
          , pp.
          <fpage>97</fpage>
          -
          <lpage>108</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>N.</given-names>
            <surname>Chatterjee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Majumdar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. R.</given-names>
            <surname>Sahoo</surname>
          </string-name>
          ,
          <string-name>
            <surname>P. P. Das</surname>
          </string-name>
          ,
          <article-title>Debugging multi-threaded applications using pin-augmented gdb (pgdb)</article-title>
          ,
          <source>in: International conference on software engineering research and practice (SERP)</source>
          . Springer,
          <year>2015</year>
          , pp.
          <fpage>109</fpage>
          -
          <lpage>115</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>S.</given-names>
            <surname>Majumdar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Chatterjee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. R.</given-names>
            <surname>Sahoo</surname>
          </string-name>
          ,
          <string-name>
            <surname>P. P. Das</surname>
          </string-name>
          ,
          <article-title>D-cube: tool for dynamic design discovery from multi-threaded applications using pin</article-title>
          ,
          <source>in: 2016 IEEE International Conference on Software Quality, Reliability and Security (QRS)</source>
          , IEEE,
          <year>2016</year>
          , pp.
          <fpage>25</fpage>
          -
          <lpage>32</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>S.</given-names>
            <surname>Majumdar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Chatterjee</surname>
          </string-name>
          ,
          <string-name>
            <surname>P. P. Das</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Chakrabarti</surname>
          </string-name>
          ,
          <article-title>A mathematical framework for design discovery from multi-threaded applications using neural sequence solvers</article-title>
          ,
          <source>Innovations in Systems and Software Engineering</source>
          <volume>17</volume>
          (
          <year>2021</year>
          )
          <fpage>289</fpage>
          -
          <lpage>307</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>S.</given-names>
            <surname>Majumdar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Chatterjee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Pratim Das</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Chakrabarti</surname>
          </string-name>
          ,
          <article-title>Dcube_ nn d cube nn: Tool for dynamic design discovery from multi-threaded applications using neural sequence models</article-title>
          ,
          <source>Advanced Computing and Systems for Security:</source>
          Volume
          <volume>14</volume>
          (
          <year>2021</year>
          )
          <fpage>75</fpage>
          -
          <lpage>92</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>J.</given-names>
            <surname>Siegmund</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Peitek</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Parnin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Apel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Hofmeister</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Kästner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Begel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Bethmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Brechmann</surname>
          </string-name>
          ,
          <article-title>Measuring neural eficiency of program comprehension</article-title>
          ,
          <source>in: Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering</source>
          ,
          <year>2017</year>
          , pp.
          <fpage>140</fpage>
          -
          <lpage>150</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>S.</given-names>
            <surname>C. B. de Souza</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Anquetil</surname>
          </string-name>
          ,
          <string-name>
            <surname>K. M. de Oliveira</surname>
          </string-name>
          ,
          <article-title>A study of the documentation essential to software maintenance</article-title>
          ,
          <source>Conference on Design of communication, ACM</source>
          ,
          <year>2005</year>
          , pp.
          <fpage>68</fpage>
          -
          <lpage>75</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>L.</given-names>
            <surname>Tan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Yuan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhou</surname>
          </string-name>
          ,
          <article-title>Hotcomments: how to make program comments more useful?, in: Conference on Programming language design and implementation (SIGPLAN)</article-title>
          , ACM,
          <year>2007</year>
          , pp.
          <fpage>20</fpage>
          -
          <lpage>27</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Le</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. D.</given-names>
            <surname>Gotmare</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. D.</given-names>
            <surname>Bui</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. C.</given-names>
            <surname>Hoi</surname>
          </string-name>
          , Codet5+:
          <article-title>Open code large language models for code understanding and generation</article-title>
          ,
          <source>arXiv preprint arXiv:2305.07922</source>
          (
          <year>2023</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>D.</given-names>
            <surname>Steidl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Hummel</surname>
          </string-name>
          , E. Juergens,
          <article-title>Quality analysis of source code comments</article-title>
          ,
          <source>International Conference on Program Comprehension (ICPC)</source>
          , IEEE,
          <year>2013</year>
          , pp.
          <fpage>83</fpage>
          -
          <lpage>92</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>S.</given-names>
            <surname>Majumdar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Bandyopadhyay</surname>
          </string-name>
          ,
          <string-name>
            <surname>P. P. Das</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Clough</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Chattopadhyay</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Majumder</surname>
          </string-name>
          ,
          <article-title>Can we predict useful comments in source codes?-analysis of findings from information retrieval in software engineering track@ fire 2022</article-title>
          ,
          <source>in: Proceedings of the 14th Annual Meeting of the Forum for Information Retrieval Evaluation</source>
          ,
          <year>2022</year>
          , pp.
          <fpage>15</fpage>
          -
          <lpage>17</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>S.</given-names>
            <surname>Majumdar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Bandyopadhyay</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Chattopadhyay</surname>
          </string-name>
          ,
          <string-name>
            <surname>P. P. Das</surname>
            ,
            <given-names>P. D.</given-names>
          </string-name>
          <string-name>
            <surname>Clough</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Majumder</surname>
          </string-name>
          ,
          <article-title>Overview of the irse track at fire 2022: Information retrieval in software engineering, in: Forum for Information Retrieval Evaluation</article-title>
          ,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          ,
          <year>2022</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>J. L.</given-names>
            <surname>Freitas</surname>
          </string-name>
          , D. da Cruz,
          <string-name>
            <given-names>P. R.</given-names>
            <surname>Henriques</surname>
          </string-name>
          ,
          <article-title>A comment analysis approach for program comprehension</article-title>
          ,
          <source>Annual Software Engineering Workshop</source>
          (SEW), IEEE,
          <year>2012</year>
          , pp.
          <fpage>11</fpage>
          -
          <lpage>20</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>M. M. Rahman</surname>
            ,
            <given-names>C. K.</given-names>
          </string-name>
          <string-name>
            <surname>Roy</surname>
          </string-name>
          , R. G. Kula,
          <article-title>Predicting usefulness of code review comments using textual features and developer experience</article-title>
          ,
          <source>International Conference on Mining Software Repositories (MSR)</source>
          , IEEE,
          <year>2017</year>
          , pp.
          <fpage>215</fpage>
          -
          <lpage>226</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>A.</given-names>
            <surname>Bosu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Greiler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Bird</surname>
          </string-name>
          ,
          <article-title>Characteristics of useful code reviews: An empirical study at microsoft</article-title>
          ,
          <source>Working Conference on Mining Software Repositories, IEEE</source>
          ,
          <year>2015</year>
          , pp.
          <fpage>146</fpage>
          -
          <lpage>156</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>S.</given-names>
            <surname>Majumdar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Bansal</surname>
          </string-name>
          ,
          <string-name>
            <surname>P. P. Das</surname>
            ,
            <given-names>P. D.</given-names>
          </string-name>
          <string-name>
            <surname>Clough</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          <string-name>
            <surname>Datta</surname>
            ,
            <given-names>S. K.</given-names>
          </string-name>
          <string-name>
            <surname>Ghosh</surname>
          </string-name>
          ,
          <article-title>Automated evaluation of comments to aid software maintenance</article-title>
          ,
          <source>Journal of Software: Evolution and Process</source>
          <volume>34</volume>
          (
          <year>2022</year>
          )
          <article-title>e2463</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>S.</given-names>
            <surname>Majumdar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Papdeja</surname>
          </string-name>
          ,
          <string-name>
            <surname>P. P. Das</surname>
            ,
            <given-names>S. K.</given-names>
          </string-name>
          <string-name>
            <surname>Ghosh</surname>
          </string-name>
          ,
          <article-title>Comment-mine-a semantic search approach to program comprehension from code comments</article-title>
          ,
          <source>in: Advanced Computing and Systems for Security</source>
          , Springer,
          <year>2020</year>
          , pp.
          <fpage>29</fpage>
          -
          <lpage>42</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>T.</given-names>
            <surname>Brown</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Mann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Ryder</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Subbiah</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. D.</given-names>
            <surname>Kaplan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Dhariwal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Neelakantan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Shyam</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Sastry</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Askell</surname>
          </string-name>
          , et al.,
          <article-title>Language models are few-shot learners</article-title>
          ,
          <source>Advances in neural information processing systems</source>
          <volume>33</volume>
          (
          <year>2020</year>
          )
          <fpage>1877</fpage>
          -
          <lpage>1901</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>S.</given-names>
            <surname>Majumdar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Paul</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Paul</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Bandyopadhyay</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Dave</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Chattopadhyay</surname>
          </string-name>
          ,
          <string-name>
            <surname>P. P. Das</surname>
            ,
            <given-names>P. D.</given-names>
          </string-name>
          <string-name>
            <surname>Clough</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Majumder</surname>
          </string-name>
          ,
          <article-title>Generative ai for software metadata: Overview of the information retrieval in software engineering track at fire 2023, in: Forum for Information Retrieval Evaluation</article-title>
          ,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          ,
          <year>2023</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>S.</given-names>
            <surname>Majumdar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Varshney</surname>
          </string-name>
          ,
          <string-name>
            <surname>P. P. Das</surname>
            ,
            <given-names>P. D.</given-names>
          </string-name>
          <string-name>
            <surname>Clough</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Chattopadhyay</surname>
          </string-name>
          ,
          <article-title>An efective lowdimensional software code representation using bert and elmo</article-title>
          ,
          <source>in: 2022 IEEE 22nd International Conference on Software Quality, Reliability and Security (QRS)</source>
          , IEEE,
          <year>2022</year>
          , pp.
          <fpage>763</fpage>
          -
          <lpage>774</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>