Abstract | ||
---|---|---|
The development of a procedure supporting automated migration of Java programs to a new set of libraries is explored. Code migration is a common task in modern software projects. For example, it may arise when a project must be ported to a more secure or feature-rich library, a new platform, or a new version of an existing library. This paper presents a procedure for semantics-driven automated migration. A metamodel that applies the formalism earlier proposed by the authors and intended to describe libraries in object-oriented languages was developed for the migration procedure. The formalism specifies a library behaviour by using a system of extended finite state machines (EFSMs). The migration is split into five steps and each step is described in the paper. The procedure applies an algorithm of an equivalent path based on a breadth-first search extended for the needs of the migration task. The proposed procedure is implemented in a prototype of the migration tool. The tool includes modules for extraction of the software execution path, visualization of library models, user interaction, and migration. A library description language was developed for the tool. The prototype was tested by both artificial code and a real-world open source project. The article describes the experiments performed, the difficulties that have arisen in the process of migration of test samples, and how they are solved in the proposed procedure. The HTTP protocol and log library are used as libraries in the experiment. The results of the experiments indicate that code migration can be successfully automated through the developed procedures. |
Year | DOI | Venue |
---|---|---|
2018 | 10.3103/S0146411618070027 | Automatic Control and Computer Sciences |
Keywords | Field | DocType |
software library, code migration, behavioral description, program transformation | Programming language,Program transformation,Computer science,Theoretical computer science,Code migration,Java,Semantics | Journal |
Volume | Issue | ISSN |
52 | 7 | 1558-108X |
Citations | PageRank | References |
0 | 0.34 | 6 |
Authors | ||
2 |
Name | Order | Citations | PageRank |
---|---|---|---|
Artyom Olegovich Aleksyuk | 1 | 0 | 0.34 |
Vladimir Itsykson | 2 | 3 | 2.50 |