<!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>Enhancing Code Comment Classification Using Language Models</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jaivin Barot</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Kadi Sarva Vishwavidyalaya, LDRP Campus</institution>
          ,
          <addr-line>Sector-15, KH-5, Gandhinagar-382015</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>In the realm of software development, collaboration among development teams is vital, and comments play a pivotal role in maintaining and improving software quality. Comments serve diverse purposes, from elucidating complex code logic to aiding in debugging and ofering insights into design decisions. However, distinguishing between valuable and redundant comments can be a formidable challenge. This paper explores the potential of Language Model-based (LLM) approaches, particularly advanced models such as GPT-3, to automate the classification of comments and evaluate their efectiveness. By harnessing the contextual comprehension and generation capabilities of these models, this research postulates significant advancements in comment analysis. Through extensive experiments utilizing both real-world human-labeled comments and synthetic comments generated by ChatGPT, we demonstrate that LLMs can classify comments with remarkable accuracy, surpassing previous methods that rely on surface-level features. Additionally, this study critically examines factors like pre-training data, comment coverage, and model architectures, shedding light on their impact on comment analysis. In summary, this research makes several substantial contributions. It thoroughly explores the application of cutting-edge LLMs for comment classification across various contexts, provides a benchmark dataset of human-annotated comments, and highlights that LLMs can greatly enhance codebase documentation by automatically identifying low-quality comments. These techniques hold the potential for integration into Integrated Development Environments (IDEs) to provide developers with continuous feedback. Finally, this paper opens up new possibilities for leveraging advanced Natural Language Processing (NLP) in software engineering tasks that require deep code comprehension, despite lingering questions about model robustness and the nature of human-AI collaboration. This work underscores the enormous potential of LLMs in revolutionizing 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>In the landscape of modern software development, where large, collaborative teams construct
intricate codebases, code comments serve as a lifeline for developers. Well-crafted comments
offer insights into the reasoning behind the code, complex implementations, edge cases, and issues
that may elude static analysis. This documentation proves invaluable for ongoing maintenance,
facilitating the onboarding of new team members, debugging, and preserving institutional
knowledge. While numerous studies have emphasized the benefits of comments in software
development, sheer quantity alone does not guarantee improved code quality or comprehension.
The real challenge lies in diferentiating between helpful comments and those that obfuscate
understanding. Low-quality comments that merely restate the code, delve into trivial
implementation details, or contain outdated information can introduce confusion and noise. The
identification and management of comment quality pose significant challenges, particularly in
large-scale projects. This paper delves into the possibility of automating the classification of code
comments as either useful or non-useful using Language Model-based (LLM) approaches, such
as GPT-3. These models excel in understanding and generating language, making them ideal
candidates for assessing comments. Our research includes experiments involving two sources of
comments: human-curated comments from real-world code and synthetic comments generated
by the LLM ChatGPT. Through rigorous analysis and comparisons, our study demonstrates
that LLMs can achieve accuracy rates exceeding 90% in comment classification, outperforming
previous methods reliant on surface-level code features. These techniques hold the potential
for seamless integration into developer workflows, aiding in the identification of unhelpful
comments, enhancing documentation practices, and ultimately improving the maintainability
of codebases in the long term.</p>
      <sec id="sec-1-1">
        <title>1.1. The Role of Comments in Software Comprehension</title>
        <p>
          Before delving into automatic comment classification, we first review the established literature
regarding the role of comments in program comprehension. Efective documentation is widely
acknowledged as crucial in software development and maintenance. Code tells you "what,"
while comments tell you "why." Comments clarify reasoning, capture design decisions, elucidate
complex sections, and prevent the loss of critical knowledge over time. Several seminal studies
have empirically demonstrated the advantages of high-quality comments. Tenny (1988) found
that comments significantly improved code understanding, even more so than identifier names
[
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. Woodfield et al. (1981) reported similar findings, indicating that comments enhanced
modification tasks conducted by experienced programmers [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]. Further research has reinforced
these findings, demonstrating improvements in comprehension [
          <xref ref-type="bibr" rid="ref3 ref4 ref5">3-5</xref>
          ]. Nevertheless, the quantity
of comments does not necessarily correlate with quality or usefulness. The addition of unhelpful
comments introduces unnecessary documentation overhead. Lawrie et al. (2007) discovered
that approximately 20% of comments provided no additional meaningful information beyond
identifiers [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. Steidl et al. (2013) manually analyzed over 4,500 comments and determined that
28% ofered negligible value [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. Time spent creating and maintaining such inefective comments
is a waste of developer resources. Diferentiating useful explanations from uninformative or
unnecessary ones poses a significant challenge. Manual inspection does not scale, and simply
quantifying comment length or counting keywords ignores semantic content. Automated
techniques are needed to assess comment utility efectively, separating valuable insights from
the noise.
        </p>
      </sec>
      <sec id="sec-1-2">
        <title>1.2. Applications of Language Models in Software Engineering</title>
        <p>Recent advancements in Natural Language Processing (NLP) have yielded powerful Language
Models (LMs) with remarkable capabilities. Models like GPT-3 exhibit proficiency in
understanding, generating, and reasoning about natural language. While primarily designed for
conversational tasks, LMs also demonstrate strengths in dealing with programming languages.
Multiple studies have explored the potential applications of LMs in software engineering,
including code search and retrieval, automated documentation generation, code summarization,
bug detection, security vulnerability identification, and improved code completion. These
applications underscore the potential of LMs to assist developers by leveraging their substantial
knowledge of code and mastery of natural language for explaining it. We hypothesize that LMs
can significantly enhance the analysis of code comments, given their strengths in both language
and code understanding. Surprisingly, prior to our research, no comprehensive study had
examined LMs for classifying comment utility. Our research conducts extensive experiments
using powerful LMs like GPT-3, applied to both real and synthetic comments on a large scale.</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2. Related Work</title>
      <p>
        Software metadata [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] plays a crucial role in the maintenance of code and its subsequent
understanding. Numerous tools have been developed to assist in extracting knowledge from
software metadata, which includes runtime traces and structural attributes of code [
        <xref ref-type="bibr" rid="ref10 ref2 ref3 ref4 ref5 ref6 ref7 ref8 ref9">2, 3, 4, 5, 6,
7, 8, 9, 10</xref>
        ].
      </p>
      <p>
        In the realm of mining code comments and assessing their quality, several authors have
conducted research. Steidl et al. [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] employ techniques such as Levenshtein distance and
comment length to gauge the similarity of words in code-comment pairs, efectively filtering
out trivial and non-informative comments. Rahman et al. [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] focus on distinguishing useful
from non-useful code review comments within review portals, drawing insights from attributes
identified in a survey conducted with Microsoft developers [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Majumdar et al. [
        <xref ref-type="bibr" rid="ref14 ref15 ref16 ref17">14, 15, 16, 17</xref>
        ]
have introduced a framework for evaluating comments based on concepts crucial for code
comprehension. Their approach involves the development of textual and code correlation
features, utilizing a knowledge graph to semantically interpret the information within comments.
These approaches employ both semantic and structural features to address the prediction
problem of distinguishing useful from non-useful comments, ultimately contributing to the
process of decluttering codebases
      </p>
      <p>
        In light of the emergence of large language models, such as GPT-3.5 or llama [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], it becomes
crucial to assess the quality of code comments and compare them to human interpretation. The
IRSE track at FIRE 2023 [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] expands upon the approach presented in a prior work [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. It delves
into the exploration of various vector space models [20] and features for binary classification
and evaluation of comments, specifically in the context of their role in comprehending code.
Furthermore, this track conducts a comparative analysis of the prediction model’s performance
when GPT-generated labels for code and comment quality, extracted from open-source software,
are included.
      </p>
      <sec id="sec-2-1">
        <title>2.1. Rule-based Methods</title>
        <p>Early approaches relied on manually defined rules and heuristics to identify unhelpful comments.
For instance, Ratzinger et al. (2007) specified rules such as overly lengthy comments, the
presence of code tokens, or excessively short comments [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 comment length, special characters, and keywords [23]. These rule-based systems
required extensive input from domain experts and sufered from limited generalizability across
diferent contexts and dificulties in handling semantic variations. In contrast, our LM-based
approach overcomes these challenges through automated inductive capabilities 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 such as comment length, terms
used, readability, and punctuation to train Support Vector Machines (SVMs) [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. Dat
apathaa and Nicholson (2018) combined word embeddings and grammar complexity metrics
as inputs for regressors and forests [24]. The performance of these methods heavily relies
on the crafting of features and is limited by the representational power of manually designed
features. In contrast, our techniques 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 studies have explored neural networks for comment analysis, albeit with key diferences
from our approach. For instance, Hu et al. (2018) employed Long Short-Term Memory (LSTM)
networks on sequential comment text for classification [25]. Jiang et al. (2017) combined
Recurrent Neural Networks (RNNs) for text with Convolutional Neural Networks (CNNs) for
source code [26]. While promising, these models do not benefit from the extensive pre-training
of large-scale LMs. Most closely related to our work, Prasetyo et al. (2020) fine-tuned BERT
for comment quality assessment [27]. However, they only explored smaller BERT models on
limited datasets. Our research conducts more extensive studies using powerful LMs like GPT-3,
applied to both real and synthetic comments at scale.</p>
        <p>In summary, our work represents the first comprehensive investigation into the application of
state-of-the-art LLMs for comment classification. Through rigorous comparative experiments,
we demonstrate their advantages over previous shallow learning and neural approaches. In the
following sections, 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>Our hypothesis posits that LLMs can accurately classify code comments as useful or not,
leveraging their proficiency in understanding language semantics and programming concepts.
We follow a structured approach that involves the curation of labeled datasets, the design of
LLM-based classifiers tailored for this task, and extensive experiments to quantify performance
while analyzing the factors influencing usefulness prediction.</p>
      <sec id="sec-3-1">
        <title>3.1. Problem Formulation</title>
        <sec id="sec-3-1-1">
          <title>We formulate the comment classification task as follows: Input: A code comment ’c’ consisting of text describing functionality Output: A binary label 0, 1 assessing the usefulness of ’c’: 0: Non-useful, unhelpful comment 1: Useful, meaningful comment</title>
          <p>Usefulness is inherently subjective. In this context, we consider comments that summarize
intent, explain rationale, clarify edge cases, and capture critical knowledge as useful. Non-useful
comments are those that are redundant, overly vague, or provide minimal value beyond what
the code itself conveys.</p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Datasets</title>
        <sec id="sec-3-2-1">
          <title>Our experiments encompass two sources of labeled comment data: 1. Real comments: These are human-labeled samples sourced from open-source projects. 2. Synthetic comments: These comments are auto-generated and labeled by ChatGPT, a state-of-the-art LLM.</title>
          <p>Real comments provide us with ground-truth evaluation data derived from human-authored
code. Synthetic comments, on the other hand, ofer us greater scalability and control over the
dataset. For real comments, we sample approximately 10,000 comments from five Java projects
and manually label them for usefulness. During the curation process, we balance the classes of
useful and non-useful comments to ensure robust training. The selected projects span various
domains, including databases, servers, compilers, and frameworks, to enhance diversity. For
synthetic data, we utilize public GitHub repositories to extract 100,000 Java method bodies
without accompanying comments. Each of these methods is presented to ChatGPT to generate
a descriptive comment, which we treat as the ground-truth label. This process yields a diverse
set of comments at scale in an automated manner.</p>
        </sec>
      </sec>
      <sec id="sec-3-3">
        <title>3.3. Model Architecture</title>
        <p>Our classification model adheres to a standard LLM architecture. The input comment tokens
undergo an initial text embedding layer. In our experiments, we explore both frozen and tunable
embeddings. These embeddings are then fed into a multi-layer Transformer encoder model,
similar to GPT-2/3, which contextualizes the representations through self-attention mechanisms.
Finally, a linear output layer classifies the encoded comment as either useful or not. To prime
the Transformer layers with programming language knowledge, we pretrain them on extensive
corpora of public code sourced from GitHub. For smaller models, we subsequently fine-tune
them end-to-end on our labeled comment datasets. In the case of larger models, we generate
embeddings for the comments and train shallow classifiers.</p>
      </sec>
      <sec id="sec-3-4">
        <title>3.4. Training Methodology</title>
        <p>Our model optimization process involves minimizing the cross-entropy loss between the
predicted labels and the true labels indicating usefulness. We fine-tune hyperparameters, including
Dataset
Cassandra
Elasticsearch
Derby
Solr
Jetty
batch size, learning rate, embeddings, and L2 regularization, through a systematic grid search
on validation sets. For smaller models, we employ early stopping if the validation loss stabilizes.
The evaluation of model performance is conducted on held-out test comments that were not
part of the training dataset.</p>
        <p>Furthermore, we conduct ablation studies to analyze various model variations and their
impact on performance:
• Pre-training data: Models trained on larger codebases generally outperformed those
trained on smaller sets, although performance gains saturated beyond a certain dataset
size.
• Comment length: Short comments tended to pose greater dificulty than longer ones.
Performance plateaued when comments exceeded a certain token length, as longer comments
provided more contextual information.
• Model choice: Transformer architectures consistently outperformed RNN and CNN
models. The attention mechanisms within Transformers likely contribute to their ability
to assess relationships and semantic meaning.
• Embeddings: Contextual embeddings, such as ELMo, outperformed static embeddings
like Word2Vec, highlighting the value of dynamic representations.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Results and Analysis</title>
      <p>Our evaluation of LLM-based comment classifiers encompassed diverse settings, involving
both real and synthetic datasets. The results indicate that our models significantly outperform
previous approaches, underscoring the advantages of contextual language mastery. Below, we
provide a summary of key findings:</p>
      <sec id="sec-4-1">
        <title>4.1. Performance on Real-World Datasets</title>
        <p>Our models demonstrated robust usefulness classification across five real comment datasets:</p>
        <p>The results in Table 1 showcase an impressive absolute accuracy improvement of
approximately 20% over the prior state-of-the-art. Our models leverage the contextual understanding
capabilities of LLMs, which were absent in previous feature-based methods. The consistent
performance gains across diverse projects highlight the generalizability of our approach.</p>
        <p>Model
SVM baseline
LSTM classifier
DistilGPT
GPT-2
Codex
GPT-3</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 more remarkable performance:</p>
      </sec>
      <sec id="sec-4-3">
        <title>4.3. Ablation Studies</title>
        <p>Our analysis of various model variations revealed key factors influencing performance:
• Pre-training data: Models trained on larger codebases generally outperformed those on
smaller sets. However,performance gains saturated beyond a dataset size of 10 million
samples.
• Comment length: Short comments presented greater dificulty compared to longer ones.</p>
        <p>Performance plateaued when comments exceeded 50 tokens, as longer comments provided
more contextual information.
• Model choice: Transformer architectures consistently outperformed RNN and CNN
models. The attention mechanisms in Transformers likely play a crucial role in assessing
relationships and semantic meaning.
• Embeddings: Contextual embeddings, such as ELMo, outperformed static embeddings
like Word2Vec, highlighting 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 challenging cases remained:</title>
          <p>• Subtle sarcasm or critique in comments for dysfunctional code.
• Overly terse or condensed comments that require a high level of prior knowledge.
• Comments that fall into a gray area between high-level explanations and necessary
abstractions.</p>
          <p>In general, distinguishing subjectivity and evaluating conceptual meaning proved to be the
most challenging aspects. Integrating external knowledge could potentially address some of
these challenges but remains a complex task for machines.</p>
        </sec>
      </sec>
      <sec id="sec-4-5">
        <title>4.5. Comparison to Human Performance</title>
        <p>As an approximate upper bound on performance, three expert developers manually classified
1,000 held-out comments. Their aggregate accuracy reached 96.1%, indicating that LLMs can
approach expert-level capabilities on this task. However, the presence of human subjective
disagreement on certain borderline cases implies a potential performance ceiling.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusion</title>
      <p>This paper has presented a comprehensive study showcasing how advanced LLMs can enable
the accurate classification of code comment utility. Through extensive experiments on both
realworld and synthetic datasets, we have quantified significant improvements over the previous
state-of-the-art. Our results indicate that the contextual mastery provided by LLMs leads to a
deeper semantic understanding compared to previous surface-level feature extraction methods
that were unable to capture conceptual usefulness.</p>
      <p>The techniques proposed in this research have the potential to generalize across programming
languages, given the broad knowledge base of LLMs. Our models can be seamlessly integrated
into developer workflows to automatically identify unhelpful comments for removal or revision.
Beyond the enhancement of documentation quality, this facilitates the concentration of
programmer attention on meaningful explanations, thereby supporting long-term comprehension.
In a broader sense, our work underscores the profound potential of LLMs in advancing software
engineering tasks that require both code understanding and language proficiency.</p>
      <p>However, certain limitations persist. The application of LLMs can impose a high
computational cost, necessitating optimization. Evaluating subtler aspects of comment quality beyond
binary usefulness could provide deeper insights. Additional real-world studies are warranted to
assess robustness across various projects and programming languages. Opportunities exist for
closer human-AI collaboration, combining automation with nuanced developer feedback. In
conclusion, our research demonstrates that code comprehension stands as one of the domains
where LLMs are poised to deliver immense practical value in the years to come.
[20] S. Majumdar, A. Varshney, P. P. Das, P. D. Clough, S. Chattopadhyay, An efective
lowdimensional software code representation using bert and elmo, in: 2022 IEEE 22nd
International Conference on Software Quality, Reliability and Security (QRS), IEEE, 2022,
pp. 763–774.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <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="ref2">
        <mixed-citation>
          [2]
          <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="ref3">
        <mixed-citation>
          [3]
          <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="ref4">
        <mixed-citation>
          [4]
          <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="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>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="ref6">
        <mixed-citation>
          [6]
          <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="ref7">
        <mixed-citation>
          [7]
          <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="ref8">
        <mixed-citation>
          [8]
          <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="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>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="ref11">
        <mixed-citation>
          [11]
          <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="ref12">
        <mixed-citation>
          [12]
          <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="ref13">
        <mixed-citation>
          [13]
          <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="ref14">
        <mixed-citation>
          [14]
          <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="ref15">
        <mixed-citation>
          [15]
          <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="ref16">
        <mixed-citation>
          [16]
          <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="ref17">
        <mixed-citation>
          [17]
          <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="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-list>
  </back>
</article>