A porting method for coordinated multiplatform evolution. Issue 2 (15th October 2018) - Stehle, Tilmann; Riebisch, Matthias
Abstract: Cross‐platform development nowadays is a key issue in software engineering, since software developers have to target multiple platforms in order to reach a larger number of users. Often, software is developed initially for one platform before being extended to multiplatform development. However, most of the existing technical support and methods for cross‐platform development are applicable only to projects that develop a software product from scratch. They do not address the frequent situation that an existing mature software shall be ported rather than being reimplemented for an additional platform. In this article, we present a flexible transformation method from single to multiplatform development that systematically leverages existing and novel tools. For facilitating coordinated evolution of the original and the target platform code, we establish traceability across the two versions and develop a common architecture across both the original and target platform implementations. As an economic advantage, the method allows to keep the original mature application and reduces maintenance redundancies compared with reimplementation. As a validation, the approach has been applied to port two mobile apps and a Java library to new platforms resulting in high portions of commonly used convertible code, structural equivalences across the original and target platform implementation and traceability between them. Abstract : We introduce a method for porting software to new platforms that reduces the effort for subsequent evolution tasks. The method enforces similarities between the original and the ported implementation. Furthermore, it introduces explicit trace links between the implementations and utilizes them for the code's coordinated co‐evolution.