19
Migrating Legacy Spreadsheets-based Systems to Web MVC Architecture: an Industrial Case Study Domenico Amalfitano Anna Rita Fasolino Valerio Maggio Porfirio Tramontana Giancarlo Di Mare Ferdinando Ferrara Stefano Scala CSMR – WCRE 2014 – Antwerp, February 3-6

Migrating Legacy Spreadsheets-based Systems to Web MVC architecture: an Industrial Case Study

Embed Size (px)

Citation preview

Page 1: Migrating Legacy Spreadsheets-based Systems to Web MVC architecture: an Industrial Case Study

Migrating Legacy Spreadsheets-based Systems to Web MVC Architecture: an Industrial Case Study

Domenico AmalfitanoAnna Rita FasolinoValerio MaggioPorfirio Tramontana

Giancarlo Di MareFerdinando FerraraStefano Scala

CSMR – WCRE 2014 – Antwerp, February 3-6

Page 2: Migrating Legacy Spreadsheets-based Systems to Web MVC architecture: an Industrial Case Study

ContextHardware-In-the-Loop (HIL) testing of

Electronic Control Units (ECUs).HIL testing is used as a validation

technique.◦ Sequences of test cases, named Test

Objects, are executed in a hardware simulation environment.

CSMR – WCRE 2014 – Antwerp, February 3-6

Input Signals

MeasuredOutputSignals

ExpectedOutputs

OK / KO

Page 3: Migrating Legacy Spreadsheets-based Systems to Web MVC architecture: an Industrial Case Study

Context

CSMR – WCRE 2014 – Antwerp, February 3-6

Test Engineer Test Pattern

ManuallyWrites

Excel template file organized in seven sheets. Embeds:• the data model, • the business logic functions

implemented in VBA and Macros providing data entry features and conveyed to the GUI by a set of graphical interface components.Inherits

Test ObjectAutomatically Translated

Saved

HIL Spreadsheets-based Information System made by a set of 30,615 different Excel files, each containing on average 2,700 data cells

Page 4: Migrating Legacy Spreadsheets-based Systems to Web MVC architecture: an Industrial Case Study

Issues Poor maintainability of Test Patterns (data and

VBA code). Difficult reuse of the Test Patterns.

◦ high rate of replicated data,◦ scattered data among multiple spreadsheets,◦ lacked any information about related data, ◦ replication of the VBA code, code is injected in every Excel file via the template.

◦ poor quality of the VBA code. Frequent runtime exceptions of the Test

Objects caused by invalid input values introduced during the Test Pattern editing steps.

CSMR – WCRE 2014 – Antwerp, February 3-6

Page 5: Migrating Legacy Spreadsheets-based Systems to Web MVC architecture: an Industrial Case Study

Proposed Migration ProcessMigrate to a Web Based Information

System based on the MVC pattern:◦ no data and functionality provided by the

legacy system had to be lost; ◦ backward compatibilities with the Test

Objects generation process had to be guaranteed;

◦ provide a rich user interface (similar to the EXCEL UI) equipped with assistive technologies aiming at:

reducing compilation errors, improving the system usability.

CSMR – WCRE 2014 – Antwerp, February 3-6

Page 6: Migrating Legacy Spreadsheets-based Systems to Web MVC architecture: an Industrial Case Study

Proposed Migration Process

CSMR – WCRE 2014 – Antwerp, February 3-6

Reverse Engineering of

the Legacy System

Data Model Reverse EngineeringUser Interface and Business Logic Reverse Engineering

Reengineering

Validation

Page 7: Migrating Legacy Spreadsheets-based Systems to Web MVC architecture: an Industrial Case Study

Proposed Migration ProcessData Model Reverse EngineeringPerformed to infer the data model of

the legacy system.An heuristic based was proposed:

◦ 26 heuristics were considered,◦ 11 heuristics derived from the literature

and adapted to work in this specific context.

Heuristics can be grouped in two main classes: ◦ Structure based rules (SBRs)◦ Information based rules (IBRs)

CSMR – WCRE 2014 – Antwerp, February 3-6

Page 8: Migrating Legacy Spreadsheets-based Systems to Web MVC architecture: an Industrial Case Study

Proposed Migration ProcessData Model Reverse Engineering Structure based rules (SBRs) analyze the

structure and the properties of spreadsheets and their components.

◦ Abstract the set of candidate classes and their relationships;

◦ Applied to a single Excel File.

Information based rules (IBRs) analyze the informative content of the cells.

◦ Infer the attributes of classes, the relationships between classes and their cardinalities.

◦ Applied to all the Excel Files of the Legacy System.CSMR – WCRE 2014 – Antwerp, February 3-6

Page 9: Migrating Legacy Spreadsheets-based Systems to Web MVC architecture: an Industrial Case Study

Proposed Migration ProcessExample of SBR

CSMR – WCRE 2014 – Antwerp, February 3-6

Rule:If the spreadsheet contains more than one sheet, then it is possible to associate the spreadsheet to a class C and each component sheet to a distinct class Si, where C has a UML composition relationship with each Si.

Page 10: Migrating Legacy Spreadsheets-based Systems to Web MVC architecture: an Industrial Case Study

Proposed Migration ProcessExample of SBR

CSMR – WCRE 2014 – Antwerp, February 3-6

Rule:If a sheet S contains sets of consecutive non-empty cells (hereafter non-empty cell area) that are well delimited from each other by means of empty cells, then it is possible to associate each non-empty cell area to a single class Ci and the sheet S to a candidate class CS, where S has a UML composition relationship with each Ci.

Page 11: Migrating Legacy Spreadsheets-based Systems to Web MVC architecture: an Industrial Case Study

Proposed Migration ProcessExample of IBR

CSMR – WCRE 2014 – Antwerp, February 3-6

Rule:If the header cells of the columns that discriminated the extraction of a given class A assume the same textual content in all the spreadsheets, then these values may be considered attributes of that class.

Page 12: Migrating Legacy Spreadsheets-based Systems to Web MVC architecture: an Industrial Case Study

Proposed Migration ProcessUser Interface and Business Logic Reverse Engineering

The step was performed to comprehend both the structure and the behavior of the legacy system User Interface (UI) and the functionalities provided by it.

Program comprehension techniques already proposed in the literature and actually used by professionals in industry were adapted to the VBA code

Inspection of the VBA source code by both static and dynamic analysis techniques was required due to the lack of documentation.

CSMR – WCRE 2014 – Antwerp, February 3-6

Page 13: Migrating Legacy Spreadsheets-based Systems to Web MVC architecture: an Industrial Case Study

Proposed Migration ProcessUser Interface and Business Logic Reverse Engineering

Static analysis has been used to reconstruct the structure of the UI.

Dynamic analysis techniques were exploited to understand the features provided by the Excel UI.◦ The interaction with the UI and the

corresponding code execution were traced in Log files.

◦ Log files were post-processed and analyzed.

CSMR – WCRE 2014 – Antwerp, February 3-6

Page 14: Migrating Legacy Spreadsheets-based Systems to Web MVC architecture: an Industrial Case Study

Reengineering The validated models were used to

design and develop the new WEB based Information System. ◦.NET framework and Microsoft SQL Server

DBMS. Additional features of data

Import/Export were developed to support:◦the release of the new application;◦the backward compatibility with existing

HIL tool chain.CSMR – WCRE 2014 – Antwerp, February 3-6

Page 15: Migrating Legacy Spreadsheets-based Systems to Web MVC architecture: an Industrial Case Study

Reengineering Analogies between GUIs

CSMR – WCRE 2014 – Antwerp, February 3-6

Excel GUI

Web Application GUI

Page 16: Migrating Legacy Spreadsheets-based Systems to Web MVC architecture: an Industrial Case Study

Validation A study to assess the usability of the new

system was carried out. 8 FIAT testing engineers were selected to

accomplish 25 tasks, using both the legacy and the new Web application.

Three usability metrics were considered:◦ Completion time; ◦ Number of editing errors;◦ Number of interactions (i.e., steps) with the user

interface. Values were collected during the execution

of the tasks. CSMR – WCRE 2014 – Antwerp, February 3-6

Page 17: Migrating Legacy Spreadsheets-based Systems to Web MVC architecture: an Industrial Case Study

Validation

Average results about the three metrics

CSMR – WCRE 2014 – Antwerp, February 3-6

AVG #Steps per Task

AVG Completion Time per Task

AVG Editing Errors per task

Excel-Based App

6.6 10.4 12

Web Application

3.9 7 0

Difference -41% -33% -100%Effective integration of the application in the

HIL tool chain was preliminarily demonstrated :◦ Test Patterns edited in the new application were

translated into Test Objects and executed. No runtime exceptions occurred.

Page 18: Migrating Legacy Spreadsheets-based Systems to Web MVC architecture: an Industrial Case Study

ConclusionsThe proposed project showed:

◦relevance of the spreadsheet-based legacy systems migration topic in industrial contexts.

◦approaches of reverse engineering can be used in migration processes involving industrial systems.

In future work, the reusability of the proposed approach in different industrial contexts involving other spreadsheets-based systems will be evaluated.

CSMR – WCRE 2014 – Antwerp, February 3-6

Page 19: Migrating Legacy Spreadsheets-based Systems to Web MVC architecture: an Industrial Case Study

Thank you!!!

CSMR – WCRE 2014 – Antwerp, February 3-6