|
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
|
|