<!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>
      <journal-title-group>
        <journal-title>Workshop on Cloud Technologies in Education, December</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Accelerating software development with AI: exploring the impact of ChatGPT and GitHub Copilot</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Illia Solohubov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Artur Moroz</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mariia Yu. Tiahunova</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Halyna H. Kyrychek</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Stepan Skrupsky</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>National University “Zaporizhzhya Polytechnic”</institution>
          ,
          <addr-line>64 Zhukovskyi Str., Zaporizhzhya, 69063</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2024</year>
      </pub-date>
      <volume>22</volume>
      <issue>2023</issue>
      <fpage>0000</fpage>
      <lpage>0002</lpage>
      <abstract>
        <p>One of the directions in artificial intelligence (AI) development is the automation of the software development process. Programmers need to write a lot of code, but thanks to intelligent AI algorithms, tools are being developed that can assist with the automation of this process. In this paper an investigation is conducted into the capabilities and impact of artificial intelligence tools in program code development. The primary use cases and advantages of these tools in terms of development eficiency are examined and demonstrated. Two main tools that are currently used in program code development, Copilot and ChatGPT, are considered. A comparison is made regarding the speed of program code development, training based on certain test tasks, where a test group of developers is tasked with completing them using these tools. It is proven that the advancement of artificial intelligence technologies in the field of software development opens up new opportunities for improving productivity and eficiency in development. The obtained results confirm the advantages of using artificial intelligence as assistants in the development of program code for computer systems.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Copilot</kwd>
        <kwd>ChatGPT</kwd>
        <kwd>development</kwd>
        <kwd>artificial intelligence</kwd>
        <kwd>code generation</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Owing to the rapid development of AI technologies, including machine learning and deep learning,
there has been significant distrust in society towards the use of these technologies [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. This distrust is
not limited to the general public but also extends directly to software developers.
      </p>
      <p>The problem lies in developers having biases that artificial intelligence will not make a significant
contribution and that there will always be a need to write code manually. They tend to think that AI
will almost never be able to generate quality code, and developers will still have to rewrite it. However,
this notion does not reflect reality, as the basic functions of artificial intelligence can easily generate
code.</p>
      <p>
        The aim of this study was to investigate and ascertain that artificial intelligence technologies,
particularly machine learning and deep learning, will be used by all software developers in the future.
The capabilities of these technologies were demonstrated, and how these technologies significantly
streamline development [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>
        With the rapid advancement of AI technologies, they are finding increasing applications in the field
of software development. AI has a significant impact on the development process, easing the tasks of
programmers and increasing productivity [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>There are many AI tools that assist in software development:
1. Tabnine is an advanced AI-powered tool that’s popular in developer communities. It leverages
machine learning algorithms to autocomplete code and efortlessly converts natural language
descriptions into functional code. Tabnine works as a code assistant and can learn your coding
habits to predict what you intend to code and provide valuable suggestions.
2. DeepCode is a platform for static code analysis using artificial intelligence. It provides
recommendations for code improvement, identifies potential errors, and suggests optimizations based
on the analysis of millions of open repositories.
3. SonarQube is a continuous integration tool that provides code analysis for errors, code duplication,
and other issues.
4. Github Copilot is powered by OpenAi CodeX, an AI system developed by OpenAI and trained
on diverse data from multiple sources. This AI tool auto-generates and auto-completes code
snippets.
5. ChatGPT is an AI-powered language model developed by OpenAI, capable of generating
humanlike text based on context and past conversations.</p>
      <p>This paper has analyzed two AI tools for software development – Copilot and ChatGPT. Their
combination, serving as a tool for rapid code generation/correction and as a tool for information
retrieval/error correction/idea generation, provides a robust foundation for researching and uncovering
the potential of AI in the future of software development and various other domains.</p>
      <p>One of the directions in AI development is the automation of the software development process.
Programmers need to write a lot of code, but thanks to intelligent AI algorithms, tools are being
developed that can assist with the automation of this process. One of the recently released tools is
OpenAI Codex from the GPT-3 project, which is used in ChatGPT and Copilot.</p>
      <p>OpenAI Codex is capable of generating code based on a text description of the task or a common code
template. This allows programmers to eficiently create programs using only a small amount of input
data. Codex understands various programming languages and can provide useful recommendations
regarding program structure and optimal use of functions.</p>
      <p>The application of AI in software development, such as ChatGPT and Copilot, greatly eases the
tasks of programmers and increases the speed of development. Due to their language understanding
capabilities and code generation, they can ofer auto-completion, hints, and rapid implementation
options that help programmers accelerate the development process.</p>
      <p>Copilot users can receive intelligent assistance while writing code, complementing their intentions
and making recommendations on possible ways to solve the problem. ChatGPT, on the other hand, can
be used for communicating with a program or system, allowing for the creation of natural language
task descriptions and receiving responses in code format.</p>
      <p>However, despite everything described above, there exists a large community of people who are
sceptical about the idea of using these tools. There are many arguments made from both sides regarding
the feasibility and benefits of using such tools.</p>
      <p>The proposed research aims to:
1. Study the fundamental AI tools and their capabilities in code development.
2. Analyse the capabilities of the Copilot tool, its impact on development and the evaluation of the
increased eficiency in development provided by this tool.
3. Analyse the capabilities of the ChatGPT tool in development, such as generating new code,
analysing existing code, fixing errors, as well as its impact on the speed of learning new
technologies.
4. Investigate the future prospects of the development of these technologies, the necessity of their
use, and their implementation in development.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Investigating the impact of ChatGPT and Copilot</title>
      <p>ChatGPT and Copilot are examples of cutting-edge technologies based on artificial intelligence,
developed by OpenAI. Their goal is to enhance and simplify communication and software development
processes.</p>
      <sec id="sec-2-1">
        <title>2.1. Exploring the capabilities of Copilot</title>
        <p>
          Copilot is a coding assistant that ofers support in writing code by generating code constructs [
          <xref ref-type="bibr" rid="ref4 ref5 ref6 ref7 ref8">4, 5, 6, 7, 8</xref>
          ].
The researchers decided to test this tool on a simple task of creating a CRUD API for products, opting
for the Dart programming language and the Flutter framework for implementation. Although Copilot
claims to be efective in conjunction with languages such as Python, JavaScript, TypeScript, Ruby, and
Go, it can actually work with any tool. Dart was chosen as an example for this study because it is not
widely used, making the experiment more intriguing. The task involved implementing functionality
for retrieving all products, fetching a single product by its identifier, creating, updating, and deleting a
product. It was also necessary to create a product model with corresponding fields and simple markup
for displaying a product card and delete button. The detailed functionality for creating and updating
the product was excluded from the experiment since the result becomes apparent during the writing of
this markup.
        </p>
        <p>Initially, it was necessary to implement the Product class model. With Copilot’s assistance, a basic
structure of the class with two JSON serialization methods was suggested. After pasting this code
into the development environment and editing it by adding the necessary fields, Copilot automatically
suggests making changes to the constructor and serialization methods, which takes less than 5 seconds.</p>
        <p>Next, to implement standard CRUD operations, a service class was created that is responsible for
interacting with the API server. Copilot provided the basic functionality of this class without error
handling or additional logic. For demonstration, figure 1 and figure 2 show how the bot tries to suggest
additional functionality for this class.</p>
        <p>Therefore, with the help of Copilot, one can quickly generate standard code for implementing a
simple class. Considering that business tasks are most often trivial, this tool can automate a larger part
of the development. For more complex tasks, Copilot will be less eficient in generating code, but in
such a case it begins to act as an automatic code generator, which, based on previously partially written
code, can suggest additions that in most cases coincide with the desired code.</p>
        <p>From the demonstration, it is evident that Copilot can set the basic structure for any functionality if
even a small context is provided.</p>
        <p>The markup, that is, the code of the interface, is the only place where Copilot cannot anticipate the
subsequent code. This is because each project has its own interface, and it looks diferent. Design
should not be fully standardised by nature, as it is considered a bad practice in design in general. It
must be unique. Thus, although Copilot can help in creating graphical components, it is more used
as a help in the form of code autocompletion in places where elements often repeat, such as indents,
header styles. However, for input fields and buttons where a name and function are present, Copilot
can suggest code that will automatically add a function to the event handler for pressing, based on what
code was initialised.</p>
        <p>It often happens that a developer, through inattention, may copy some part of the code and forget
to edit variables or logic in some line of code, resulting in an inconspicuous error in the code. A key
feature of Copilot in aiding code writing is also the absence of typos in the code.</p>
        <p>Several tests were conducted with diferent subject areas, and approximate acceleration in code
writing was derived. The data is demonstrated in figure 3, where three parts of a simple application –
model, logic, interface, and the time in seconds spent writing them are depicted. People were asked to
do the same task with Copilot and independently.</p>
        <p>The evaluation may vary depending on the type of tasks, their complexity, and uniqueness. Also,
everything may depend on the initial experience of the programmer. However, on average, the results
show that Copilot allows for approximately a 30% acceleration in writing the logic of the project and
never adversely afects it.</p>
        <p>Development time, as mentioned above, is saved not only because we generate code with the bot, but
also because less time is needed to check the written code, and errors in the code due to human factors
are less frequent, which also saves a lot of man-hours in writing code.</p>
        <p>It is also possible to consider the amount of code that the developer has to edit independently and
correct what the bot suggests, write himself compared to how much can be left as is. For comparison,
several tasks with diferent subject areas were also considered. The subject areas were chosen to be
trivial – product display, shopping cart, data editing of an object, authorisation, simple chat. These tasks
were chosen because there is some regularity in them since these tasks are solved most often. In other
tasks, there is a very strong variation depending on the complexity of the task, the bot may suggest
either entire independent functions or only certain pieces. The results are demonstrated in figure 4.</p>
        <p>As can be seen, for the logical part of the project, the code largely remains as is, which is explained
by the fact that often the code contains primitive actions such as storing some value of an element from
user input, error handling, creating/editing an object which have common logic, difering only in that
we know some information about an existing object, various authorisation methods that are done by
template, or transitioning the application’s states like ‘loading’, ‘successful loading’, ‘error’, ‘not found’.</p>
        <p>However, the situation remains worse for writing the interface, as the design needs to be unique.
Nevertheless, some aspects of its development are simplified, as there are often repetitive elements in
the code such as input fields, subheadings, margins, or styles of elements. Depending on the design, the
influence of Copilot varies, but it is observed that the impact on writing the interface is minimal.</p>
        <p>A significant advantage is also the fact that often, depending on the experience of the developer,
the bot can provide a better solution than the one the developer might have suggested. Therefore, the
developer can adopt the code proposed by the bot rather than their own. This is particularly beneficial
for beginners and novices who are learning a new tool and are not familiar with all its capabilities.</p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. ChatGPT feature research in development</title>
        <p>
          ChatGPT, in contrast to Copilot, serves as an assistant that responds to specific questions [
          <xref ref-type="bibr" rid="ref10 ref11 ref12 ref9">9, 10, 11, 12</xref>
          ].
Its use in development serves a diferent purpose. With its help, a developer can find solutions for their
problems or quickly learn new tools.
        </p>
        <sec id="sec-2-2-1">
          <title>2.2.1. First experiment</title>
          <p>The first experiment of the study was aimed precisely at testing how quickly one can master a new tool
if using ChatGPT. The specific time estimation is subjective as it all depends on the developer’s skills
and mindset, as well as the ability to learn. However, one can try to find a pattern by giving the same
task to several people and asking them to accomplish certain tasks using the chat and without the chat.</p>
          <p>As a task, several developers were asked to complete 5 programming tasks in programming languages
unknown to them and to observe how quickly they could learn the basics of the language. They
were only prohibited from asking for a ready-made solution, but were allowed to ask questions about
the language’s toolset, such as the availability of standard structures, classes, functions with their
descriptions.</p>
          <p>As can be seen in figure 5, learning on simple tasks occurs about a third faster. This result is explained
by the fact that ChatGPT provides ready-made information with a detailed description of a specific
tool or its parts, immediately provides the necessary libraries. Thus, the developer spends less time
searching for information and can quickly start accomplishing the specific tasks set.</p>
          <p>For more complex tasks such as learning new frameworks, the situation remains roughly the same,
but in the long term plays a significant role as the acceleration is now measured in days or even weeks.
This bot provides the necessary libraries, even those that are far down in search lists, and provides
explanations, freeing one from reading extensive documentation.</p>
        </sec>
        <sec id="sec-2-2-2">
          <title>2.2.2. Second experiment</title>
          <p>This experiment is an investigation of ChatGPT’s capabilities regarding code generation. Sometimes in
development, there are moments when it is necessary to write some code or use an unknown library
only for a specific task, which is specific to a particular project. For this, the bot was asked to generate
code to build a model of Mars using the three.js library – a specific task where the client desired one
model of a planet, another task was algorithmic – finding duplicates in two arrays.</p>
          <p>This experiment is of particular interest because there are often situations where a specific task
needs to be solved or a library’s capabilities need to be utilized, but only about 1% of its functionality is
required. In such cases, it can sometimes be more rational to find a ready-made solution. This is where
ChatGPT can be useful – it can provide a ready-made solution with detailed explanations of how the
code works, saving the programmer time searching for information. On the other hand, this can be
considered a harmful habit if used too frequently. However, it often simply serves as a time-saving
measure.</p>
          <p>As can be seen in figure 6 and figure 7, ChatGPT allows for easy generation of working code, thus
the developer can spend less time on research and learning the library and execute specific tasks. It
also allows for quickly solving tasks in a more optimized way. Of course, more often than not this is
considered bad practice, as the developer should learn and gain experience independently, but sometimes
tasks need to be solved on a “here and now” basis, so this chatbot allows for quickly solving the given
problem.</p>
        </sec>
        <sec id="sec-2-2-3">
          <title>2.2.3. Third experiment</title>
          <p>This experiment is associated with testing the capabilities in error correction by the chatbot. Let’s
assume there is some code in which subtle logical errors have been made, figure 8. At first glance, it’s
not noticeable that one of the vowels is missing in the array and that in the if block, the symbol = is
used instead of ==. Such errors may not occur often, but there are many other similar errors that can
be found in the code and not be noticeable to the eye. Developers can spend hours searching for such
errors.</p>
          <p>In figure 9, it is demonstrated how the bot can find errors and correct them; as can be seen, the
bot easily found these subtle errors and resolved the task set before it. This also greatly simplifies
development and allows for quickly remedying the code, even if the developer did not write this code
and received it for further development or correction.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Conclusions</title>
      <p>Having analysed the two artificial intelligence tools as assistants for software development, it can be
asserted that their emergence is a revolutionary new phase in development as a whole. Thanks to these
tools, programmers can focus more on solving specific tasks without dwelling too much on their precise
implementation and spending less time on code testing or error hunting, especially those that are due
to human factors, such as inattentiveness or otherwise.</p>
      <p>The combination of these tools and the range of options they provide – code generation based on
past context (Github Copilot) and fast information retrieval, error checking, and idea generation for
development (ChatGPT) – pave the way for a new era where humans gradually move away from</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>S. O.</given-names>
            <surname>Semerikov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T. A.</given-names>
            <surname>Vakaliuk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I. S.</given-names>
            <surname>Mintii</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V. A.</given-names>
            <surname>Hamaniuk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V. N.</given-names>
            <surname>Soloviev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O. V.</given-names>
            <surname>Bondarenko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. P.</given-names>
            <surname>Nechypurenko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. V.</given-names>
            <surname>Shokaliuk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. V.</given-names>
            <surname>Moiseienko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V. R.</given-names>
            <surname>Ruban</surname>
          </string-name>
          ,
          <article-title>Development of the computer vision system based on machine learning for educational purposes</article-title>
          ,
          <source>Educational Dimension</source>
          <volume>5</volume>
          (
          <year>2021</year>
          )
          <fpage>8</fpage>
          -
          <lpage>60</lpage>
          . doi:
          <volume>10</volume>
          .31812/educdim.4717.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>K.</given-names>
            <surname>Osadcha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Osadchyi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Semerikov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Chemerys</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Chorna</surname>
          </string-name>
          ,
          <article-title>The Review of the Adaptive Learning Systems for the Formation of Individual Educational Trajectory</article-title>
          , in: O.
          <string-name>
            <surname>Sokolov</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          <string-name>
            <surname>Zholtkevych</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          <string-name>
            <surname>Yakovyna</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          <string-name>
            <surname>Tarasich</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          <string-name>
            <surname>Kharchenko</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          <string-name>
            <surname>Kobets</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          <string-name>
            <surname>Burov</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Semerikov</surname>
          </string-name>
          , H. Kravtsov (Eds.),
          <source>Proceedings of the 16th International Conference on ICT in Education, Research and Industrial Applications</source>
          . Integration, Harmonization and
          <string-name>
            <given-names>Knowledge</given-names>
            <surname>Transfer</surname>
          </string-name>
          . Volume II: Workshops, Kharkiv, Ukraine,
          <source>October 06-10</source>
          ,
          <year>2020</year>
          , volume
          <volume>2732</volume>
          <source>of CEUR Workshop Proceedings, CEUR-WS.org</source>
          ,
          <year>2020</year>
          , pp.
          <fpage>547</fpage>
          -
          <lpage>558</lpage>
          . URL: https://ceur-ws.
          <source>org/</source>
          Vol-
          <volume>2732</volume>
          /20200547.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>M. Y.</given-names>
            <surname>Tiahunova</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. H.</given-names>
            <surname>Kyrychek</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y. D.</given-names>
            <surname>Turianskyi</surname>
          </string-name>
          ,
          <article-title>The system for testing diferent versions of the PHP</article-title>
          , in: T. A.
          <string-name>
            <surname>Vakaliuk</surname>
            ,
            <given-names>S. O.</given-names>
          </string-name>
          <string-name>
            <surname>Semerikov</surname>
          </string-name>
          (Eds.),
          <source>Proceedings of the 3rd Edge Computing Workshop</source>
          , Zhytomyr, Ukraine, April 7,
          <year>2023</year>
          , volume
          <volume>3374</volume>
          <source>of CEUR Workshop Proceedings, CEUR-WS.org</source>
          ,
          <year>2023</year>
          , pp.
          <fpage>112</fpage>
          -
          <lpage>129</lpage>
          . URL: https://ceur-ws.
          <source>org/</source>
          Vol-
          <volume>3374</volume>
          /paper09.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>P.</given-names>
            <surname>Denny</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Kumar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Giacaman</surname>
          </string-name>
          ,
          <article-title>Conversing with Copilot: Exploring Prompt Engineering for Solving CS1 Problems Using Natural Language</article-title>
          ,
          <source>in: Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 1</source>
          ,
          <string-name>
            <surname>SIGCSE</surname>
          </string-name>
          <year>2023</year>
          ,
          <article-title>Association for Computing Machinery</article-title>
          , New York, NY, USA,
          <year>2023</year>
          , p.
          <fpage>1136</fpage>
          -
          <lpage>1142</lpage>
          . doi:
          <volume>10</volume>
          .1145/3545945.3569823.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>B. A.</given-names>
            <surname>Becker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Denny</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Finnie-Ansley</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Luxton-Reilly</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Prather</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. A.</given-names>
            <surname>Santos</surname>
          </string-name>
          ,
          <string-name>
            <surname>Programming Is</surname>
          </string-name>
          Hard - Or at Least It Used to Be:
          <article-title>Educational Opportunities and Challenges of AI Code Generation</article-title>
          ,
          <source>in: Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 1</source>
          ,
          <string-name>
            <surname>SIGCSE</surname>
          </string-name>
          <year>2023</year>
          ,
          <article-title>Association for Computing Machinery</article-title>
          , New York, NY, USA,
          <year>2023</year>
          , p.
          <fpage>500</fpage>
          -
          <lpage>506</lpage>
          . doi:
          <volume>10</volume>
          .1145/3545945.3569759.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>B.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Liang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Zhou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ahmad</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Waseem</surname>
          </string-name>
          ,
          <article-title>Practices and Challenges of Using GitHub Copilot: An Empirical Study</article-title>
          ,
          <source>in: Proceedings of the 35th International Conference on Software Engineering and Knowledge Engineering</source>
          , SEKE2023, KSI Research Inc.,
          <year>2023</year>
          . doi:
          <volume>10</volume>
          .18293/ seke2023-
          <fpage>077</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>S.</given-names>
            <surname>Imai</surname>
          </string-name>
          ,
          <article-title>Is GitHub copilot a substitute for human pair-programming? an empirical study</article-title>
          ,
          <source>in: Proceedings of the ACM/IEEE 44th International Conference on Software Engineering: Companion Proceedings, ICSE '22</source>
          ,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2022</year>
          , p.
          <fpage>319</fpage>
          -
          <lpage>321</lpage>
          . doi:
          <volume>10</volume>
          .1145/3510454.3522684.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>A.</given-names>
            <surname>Moradi Dakhel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Majdinasab</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Nikanjam</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Khomh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. C.</given-names>
            <surname>Desmarais</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z. M. J.</given-names>
            <surname>Jiang</surname>
          </string-name>
          ,
          <article-title>GitHub Copilot AI pair programmer: Asset or Liability?</article-title>
          ,
          <source>Journal of Systems and Software</source>
          <volume>203</volume>
          (
          <year>2023</year>
          )
          <article-title>111734</article-title>
          . doi:
          <volume>10</volume>
          .1016/j.jss.
          <year>2023</year>
          .
          <volume>111734</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>M. A.</given-names>
            <surname>Haque</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <article-title>The Potential Use of ChatGPT for Debugging and Bug Fixing</article-title>
          ,
          <source>EAI Endorsed Transactions on AI and Robotics</source>
          <volume>2</volume>
          (
          <year>2023</year>
          ). doi:
          <volume>10</volume>
          .4108/airo.v2i1.
          <fpage>3276</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>M. M. Rahman</surname>
          </string-name>
          , Y. Watanobe,
          <article-title>ChatGPT for education and research: Opportunities, threats</article-title>
          , and strategies,
          <source>Applied Sciences</source>
          <volume>13</volume>
          (
          <year>2023</year>
          )
          <article-title>5783</article-title>
          . doi:
          <volume>10</volume>
          .3390/app13095783.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>M.</given-names>
            <surname>Aljanabi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ghazi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. H.</given-names>
            <surname>Ali</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. A.</given-names>
            <surname>Abed</surname>
          </string-name>
          , ChatGpt, ChatGpt: Open Possibilities,
          <source>Iraqi Journal For Computer Science and Mathematics</source>
          <volume>4</volume>
          (
          <year>2023</year>
          )
          <fpage>62</fpage>
          -
          <lpage>64</lpage>
          . doi:
          <volume>10</volume>
          .52866/20ijcsm.
          <year>2023</year>
          .
          <volume>01</volume>
          .01. 0018.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>A. V.</given-names>
            <surname>Riabko</surname>
          </string-name>
          ,
          <string-name>
            <surname>T. A</surname>
          </string-name>
          . Vakaliuk,
          <article-title>Physics on autopilot: exploring the use of an AI assistant for independent problem-solving practice</article-title>
          ,
          <source>Educational Technology Quarterly</source>
          <year>2024</year>
          (
          <year>2024</year>
          )
          <fpage>56</fpage>
          -
          <lpage>75</lpage>
          . doi:
          <volume>10</volume>
          .55056/etq.671.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>