PROGRAM SYSTEMS: THEORY AND APPLICATIONS

12+

 

Online Scientific Journal published by the Ailamazyan Program Systems Institute of the Russian Academy of Sciences

Mathematical Foundations of Programming
Software and Hardware for Distributed Systems and Supercomputers
Artificial Intelligence, Intelligence Systems, Neural Networks

Papers are accepted in the form of a PDF file

To view the PDF files, you will need Adobe Acrobat Reader

    


• Содержание выпуска •
• Mathematical Foundations of Programming •
• Software and Hardware for Distributed Systems and Supercomputers •
• Artificial Intelligence, Intelligence Systems, Neural Networks •

Mathematical Foundations of Programming

Responsible for the Section: doctor of physico-mathematical Sciences Nikolay Nepeivoda

On the left: assigned number of the paper, submission date, the number of A5 pages contained in the paper, and the reference to the full-text PDF .

 

Article # 1_2022

31 p.

PDF

submitted on 28th Dec 2021 displayed on website on 19th Feb 2022

 

Alexey V. Goloveshkin , Stanislav S. Mikhalkovich
Robust algorithmic binding to arbitrary fragment of program code


When solving a task, a programmer actively interacts with a finite set of code fragments. The information about their locations is important for quick navigation, for other developers, and as a kind of documentation. Integrated development environments (IDEs) provide tools for marking code fragments with labels, displaying lists of labels, and using these labels for quick navigation. However, they often lose the correspondence between the label and the marked place when the code is edited, in particular when changes are made outside the IDE.
In previous works, the authors propose a tool to be integrated into various IDEs for “binding” to large syntactic entities of a program and building a markup that is robust to code editing. The description of the marked element is built on the basis of the abstract syntax tree (AST) of the program. Later it is used to algorithmically search for the element in an edited code. The search has a success rate from 99 to 100%.
This article aims at robust algorithmic binding to an arbitrary section of the code. For binding to a single-line code fragment, we propose an extension of the model describing the marked fragment, and an additional search algorithm. We also propose an algorithm for embedding nodes corresponding to multi-line fragments in an AST. We show that the correctness of the AST is not violated by these embeddings. Bindings to randomly selected lines were made in the code of three large C# projects. Manual check of these lines search results in the edited code has confirmed that the bindings are robust to code editing. (in Russian).


Key words: program markup, algorithmic binding to program code, software development, abstract syntax tree, code similarity measurement.

article citation

 http://psta.psiras.ru/read/psta2022_1_3-33.pdf

DOI
 

https://doi.org/10.25209/2079-3316-2022-13-1-3-33

Article # 2_2022

28 p.

PDF

submitted on 28th Dec 2021 displayed on website on 19th Feb 2022

 

Alexey V. Goloveshkin , Stanislav S. Mikhalkovich
Robust algorithmic binding to arbitrary fragment of program code


When solving a task, a programmer actively interacts with a finite set of code fragments. The information about their locations is important for quick navigation, for other developers, and as a kind of documentation. Integrated development environments (IDEs) provide tools for marking code fragments with labels, displaying lists of labels, and using these labels for quick navigation. However, they often lose the correspondence between the label and the marked place when the code is edited, in particular when changes are made outside the IDE.
In previous works, the authors propose a tool to be integrated into various IDEs for “binding” to large syntactic entities of a program and building a markup that is robust to code editing. The description of the marked element is built on the basis of the abstract syntax tree (AST) of the program. Later it is used to algorithmically search for the element in an edited code. The search has a success rate from 99 to 100%.
This article aims at robust algorithmic binding to an arbitrary section of the code. For binding to a single-line code fragment, we propose an extension of the model describing the marked fragment, and an additional search algorithm. We also propose an algorithm for embedding nodes corresponding to multi-line fragments in an AST. We show that the correctness of the AST is not violated by these embeddings. Bindings to randomly selected lines were made in the code of three large C# projects. Manual check of these lines search results in the edited code has confirmed that the bindings are robust to code editing. (in Russian).


Key words: program markup, algorithmic binding to program code, software development, abstract syntax tree, code similarity measurement.

article citation

 http://psta.psiras.ru/read/psta2022_1_35-62.pdf

DOI
 

https://doi.org/10.25209/2079-3316-2022-13-1-35-62

• Содержание выпуска •
• Mathematical Foundations of Programming •
• Software and Hardware for Distributed Systems and Supercomputers •
• Artificial Intelligence, Intelligence Systems, Neural Networks •

 

Adress: Ailamazyan Program Systems Institute of the Russian Academy of Sciences, PSTA Online Journal, 4 a Peter the First Street,
Veskovo village, Pereslavl area, Yaroslavl region, 152021 Russia
Phone: +7-4852-695-228.       E-mail: info@psta.psiras.ru.      Website: http://psta.psiras.ru

© Electronic Scientific Journal "Program Systems: Theory and Applications" 2010-2017
© Ailamazyan Program System Institute of RAS 2010-2018