IDEAS home Printed from https://ideas.repec.org/a/baq/taprar/v6y2022i2p6-10.html
   My bibliography  Save this article

Usage of formalized knowledge about source code for refactoring actions in Swift

Author

Listed:
  • Andrii Tkachuk

    (National Technical University of Ukraine «Igor Sikorsky Kyiv Polytechnic Institute»)

  • Bogdan Bulakh

    (National Technical University of Ukraine «Igor Sikorsky Kyiv Polytechnic Institute»)

Abstract

The object of research in the paper is the source code of a software product written in the Swift programming language. Most programs as a product of a certain project during the life cycle require changes and modifications, which is costly or impossible to implement in the case of poor code quality. One of the options for solving the problem of poor code quality is the timely application of refactoring principles. The existing problem is that implementation of high-level refactoring must be done manually by the developer without the use of automated tools as built-in solutions cannot fulfill the need due to the architectural complexity of the product. To reduce the number of errors made during refactoring, to simplify the process of performing routine actions, it is suggested to use a new software product for refactoring. It works with high-level user commands based on a formalized description of the source code together with a knowledge base containing a description of code entities and their properties (what specific actions can be performed with them). In the work, the refactoring of the source code was carried out using the example of the Swift programming language. The proposed approach of component architecture (knowledge base, software engine) further allows to expand the functionality of the software product to other programming languages. The work was directed to the development of a prototype of a software product using the proposed approach to check and compare the results with other refactoring tools. A command line utility has been developed that accepts a verbal command as an input and outputs the results of processing and analysis of the source code (search for complex structures in the code) or applies the proposed change. As a result of the conducted testing, it was established that the use of the proposed approach allows performing complex refactoring tasks with the help of a simple verbal formalized command. Accomplishing the same task using only the built-in refactoring tools requires significantly more time and effort or is impossible at all.

Suggested Citation

  • Andrii Tkachuk & Bogdan Bulakh, 2022. "Usage of formalized knowledge about source code for refactoring actions in Swift," Technology audit and production reserves, PC TECHNOLOGY CENTER, vol. 6(2(68)), pages 6-10, November.
  • Handle: RePEc:baq:taprar:v:6:y:2022:i:2:p:6-10
    DOI: 10.15587/2706-5448.2022.267160
    as

    Download full text from publisher

    File URL: https://journals.uran.ua/tarp/article/view/267160/266546
    Download Restriction: no

    File URL: https://libkey.io/10.15587/2706-5448.2022.267160?utm_source=ideas
    LibKey link: if access is restricted and if your library uses this service, LibKey will redirect you to where you can use your library subscription to access this item
    ---><---

    Corrections

    All material on this site has been provided by the respective publishers and authors. You can help correct errors and omissions. When requesting a correction, please mention this item's handle: RePEc:baq:taprar:v:6:y:2022:i:2:p:6-10. See general information about how to correct material in RePEc.

    If you have authored this item and are not yet registered with RePEc, we encourage you to do it here. This allows to link your profile to this item. It also allows you to accept potential citations to this item that we are uncertain about.

    We have no bibliographic references for this item. You can help adding them by using this form .

    If you know of missing items citing this one, you can help us creating those links by adding the relevant references in the same way as above, for each refering item. If you are a registered author of this item, you may also want to check the "citations" tab in your RePEc Author Service profile, as there may be some citations waiting for confirmation.

    For technical questions regarding this item, or to correct its authors, title, abstract, bibliographic or download information, contact: Iryna Prudius (email available below). General contact details of provider: https://journals.uran.ua/tarp/issue/archive .

    Please note that corrections may take a couple of weeks to filter through the various RePEc services.

    IDEAS is a RePEc service. RePEc uses bibliographic data supplied by the respective publishers.