=Paper=
{{Paper
|id=Vol-1129/paper14
|storemode=property
|title=Towards Quality-Driven Software Migration
|pdfUrl=https://ceur-ws.org/Vol-1129/paper14.pdf
|volume=Vol-1129
|dblpUrl=https://dblp.org/rec/conf/se/JelschenPW14
}}
==Towards Quality-Driven Software Migration==
Towards Quality-Driven Software Migration Jan Jelschen, Gaurav Pandey, Andreas Winter Carl von Ossietzky Universität, Oldenburg, Germany {jelschen,pandey,winter}@se.uni-oldenburg.de Long-running software systems suffer from software erosion, due to their constant evo- lution to meet new or changing requirements, severely limiting their maintainability. Mi- grating software systems, i.e. transferring legacy systems into modern environments and technologies without changing functionality [FWE+ 12], is a key technique of software evolution, and serves to keep existing software systems operational. Structured migrations allow for transferring established software solutions to cutting edge technology, without having to consider the significantly higher risks of developing a new system from scratch. Reliable predictions regarding long-term trends of software systems’ quality are a prereq- uisite to make sensible decisions between software migration or redevelopment strategies, which enable a system’s continued development, evolution, and operation. Especially when planning to migrate software systems, and choosing appropriate tools, a prognosis of project-specific quality properties of the system after migration is required. To assess and compare software quality before and after language migrations, like from COBOL to Java, a major obstacle to overcome is the paradigm shift between procedural and object-oriented programming that occurs (or should occur) when translating between these languages. For example, any measures which try to capture object-oriented properties like encapsulation will only provide meaningful results on the target system, with nothing to compare to on the source system side, i.e. a direct comparison is impossible. Recognizing these challenges, two main research questions can be identified, which lead to two sets of central objectives regarding quality criteria and quality prediction, to ad- dress them: 1. How to measure and compare the quality of legacy and migrated software systems? 2. How to predict the quality of software migration results? Quality Criteria. A basic prerequisite for quality measurements is having a set of criteria appropriate for assessing and comparing the quality of software systems under migration, and knowing which criteria are relevant for a specific project. Whereas criteria for incre- mental quality monitoring in plain forward engineering projects, utilizing a fixed devel- opment environment, are known, comparable criteria applicable for legacy and migrated systems are unknown. Therefore, a catalog of quality criteria has to be assembled, elicited from literature review and expert interviews, and a process to define a migration project’s goals, and select suitable, measurable criteria has to be created. Quality Prediction. To help a cooperation to decide whether to migrate, or choose a different strategy (e.g. re- or new-development), or to tailor a migration process to specific needs, information is needed on the resulting system’s quality properties before carrying out the migration. A quality prediction model has to be derived by measuring software systems before and after migration, and looking for correlations. Such a model will serve Copyright c 2014 for the individual papers by the papers’ authors. Copying permitted for private and academic purposes. This volume is published and copyrighted by its editors. 8 Q-MIG Software Migration Toolchain Source Target Transformation System M1 Analysis Tools M2 M3 Generator Tools M4 System Tools Artifacts Artifacts Quality Assurance Quality Metrics Tools Reports Quality Control Center Figure 1: The Q-MIG software migration toolchain and quality control center. to project quality properties after a migration, given the source system, and the migration toolchain with its parameters. It can also be used to refine such parameters in an iterative process, to meet certain quality requirements in the target system. Figure 1 depicts a generic software migration toolchain, equipped with a quality control center. The former takes source systems and transforms them into target systems, accord- ing to the migration scenario’s parameters, using appropriate analysis, transformation, and code generation tools. The latter complements the migration process by tapping into it at monitoring points, evaluating quality criteria using metrics at different steps, assessing and comparing the quality using quality assurance tools, and generating quality reports. To realize the quality control center, the central questions subject to research are a) which criteria are relevant for a given migration scenario, b) how to measure and interpret them in a way that correlates with experts’ assessments, and c) how to sensibly compare them, considering programming paradigm shifts. These issues will be addressed by the project Q-MIG: Building a Quality-Driven, Generic Tool-Chain for Software Migration1 , which commenced on January 1, 2014. Q-MIG is a joint project of pro et con Innovative Informatikanwendungen GmbH (focusing on the software migration toolchain [EU11]) and Carl von Ossietzky University (focusing on the quality control center). For integration, a service-based approach will be used [JMOW13]. Q-MIG aims at enabling project managers and software developers to make early strategic decisions regarding the realization of software migrations, and to already carry out targeted quality assuring measures during the migration. At the workshop, we would like to discuss how to predict comparable (internal) quality criteria for software migration projects. References [EU11] U. Erdmenger, D. Uhlig. Ein Translator für die COBOL-Java-Migration. Software- technik-Trends, 31(2), 2011. [FWE+ 12] A. Fuhr, A. Winter, U. Erdmenger, T. Horn, U. Kaiser, V. Riediger, W. Teppe. Model- Driven Software Migration - Process Model, Tool Support and Application. In A. Ionita, M. Litoiu, G. Lewis, eds, Migrating Legacy Applications: Challenges in Service Ori- ented Architure and Cloud Computing Environments. IGI, Hershey, 2012. [JMOW13] J. Jelschen, J. Meier, M.-C. Ostendorp, A. Winter. A Description Model for Software Evolution Services. In CoNaIISI, Cordoba, November 2013. RIISIC. 1 Q-MIG is funded by the Central Innovation Program SME of the German Federal Ministry of Economics and Technology (Bundesministerium für Wirtschaft und Technologie - BMWi). Funding code: KF3182501KM3. 9