Semantics-Driven Migration of Java']Java Programs: A Practical Application

被引:1
作者
Aleksyuk, A. O. [1 ]
Itsykson, V. M. [1 ]
机构
[1] Peter Great St Petersburg Polytech Univ, St Petersburg 195251, Russia
关键词
software library; code migration; behavioral description; program transformation;
D O I
10.3103/S0146411618070027
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
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.
引用
收藏
页码:581 / 588
页数:8
相关论文
共 11 条
[1]   DMS®:: Program transformations for practical scalable software evolution [J].
Baxter, ID ;
Pidgeon, C ;
Mehlich, M .
ICSE 2004: 26TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2004, :625-634
[2]   Stratego/XT 0.17. A language and toolset for program transformation [J].
Bravenboer, Martin ;
Kalleberg, Karl Trygve ;
Vermaas, Rob ;
Visser, Eelco .
SCIENCE OF COMPUTER PROGRAMMING, 2008, 72 (1-2) :52-70
[3]  
Broeksema B., 2011, VIS SOFTW UND AN VIS, P1
[4]  
Christoph A, 2003, LECT NOTES COMPUT SC, V2863, P18
[5]   The TXL source transformation language [J].
Cordy, James R. .
SCIENCE OF COMPUTER PROGRAMMING, 2006, 61 (03) :190-210
[6]  
Eisenbarth T., 2002, REV ENG 2002 P 9 WOR, P128
[7]  
Filman R. E., 2002, WORKSH FDN ASP OR LA, P45
[8]   Formalism and Language Tools for Specification of the Semantics of Software Libraries [J].
Itsykson V.M. .
Automatic Control and Computer Sciences, 2017, 51 (7) :531-538
[9]  
Jemerov D, 2008, P 2 WORKSH REF TOOLS, P13
[10]  
Marosi AC, 2009, INT PARALL DISTRIB P, P2365