SlideShare uma empresa Scribd logo
1 de 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
Context
 Hardware-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
Measured
Output
Signals
Expected
Outputs
OK / KO
Context
CSMR – WCRE 2014 – Antwerp, February 3-6
Test Engineer Test Pattern
Manually
Writes
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 Object
Automatically
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
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
Proposed Migration Process
 Migrate 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
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
Proposed Migration Process
Data Model Reverse Engineering
 Performed 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
Proposed Migration Process
Data 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
Proposed Migration Process
Example 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.
Proposed Migration Process
Example 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.
Proposed Migration Process
Example 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.
Proposed Migration Process
User 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
Proposed Migration Process
User 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
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
Reengineering
Analogies between GUIs
CSMR – WCRE 2014 – Antwerp, February 3-6
Excel GUI
Web Application GUI
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
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.
Conclusions
 The 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
Thank you!!!
CSMR – WCRE 2014 – Antwerp, February 3-6

Mais conteúdo relacionado

Destaque

Fedex International Courier Services Gurgaon
Fedex International Courier Services  GurgaonFedex International Courier Services  Gurgaon
Fedex International Courier Services GurgaonSc Joshi
 
Музей русского платка и шали в Павловском Посаде
Музей русского платка и шали в Павловском ПосадеМузей русского платка и шали в Павловском Посаде
Музей русского платка и шали в Павловском Посадеинна ветрова
 
Appendix G- Competitor Research Star Paper 2
Appendix G- Competitor Research Star Paper 2Appendix G- Competitor Research Star Paper 2
Appendix G- Competitor Research Star Paper 2Erwin Santhio
 
Level Up Your Talent Development with Gamification [eBook]
Level Up Your Talent Development with Gamification [eBook]Level Up Your Talent Development with Gamification [eBook]
Level Up Your Talent Development with Gamification [eBook]Monica Cornetti
 
Data Science Week 2016. RockStat. "Мультиканальная атрибуция на основе вовлеч...
Data Science Week 2016. RockStat. "Мультиканальная атрибуция на основе вовлеч...Data Science Week 2016. RockStat. "Мультиканальная атрибуция на основе вовлеч...
Data Science Week 2016. RockStat. "Мультиканальная атрибуция на основе вовлеч...Newprolab
 
Web2.0 new tools
Web2.0 new toolsWeb2.0 new tools
Web2.0 new toolsmarivava
 
Linee pastorali 2015-16_slim
Linee pastorali 2015-16_slimLinee pastorali 2015-16_slim
Linee pastorali 2015-16_slimMaria Concetta
 
Atender Bem ou Tratar Bem
Atender Bem ou Tratar BemAtender Bem ou Tratar Bem
Atender Bem ou Tratar BemIris Fyrigos
 
Portfólio Marcela Nóbrega - Analista de Mídias Sociais
Portfólio Marcela Nóbrega - Analista de Mídias SociaisPortfólio Marcela Nóbrega - Analista de Mídias Sociais
Portfólio Marcela Nóbrega - Analista de Mídias SociaisMarcela Nóbrega Barbosa
 
Sequencing batch reactor ppt
Sequencing batch reactor pptSequencing batch reactor ppt
Sequencing batch reactor pptAshwini Ingale
 
História dos Surdos
História dos SurdosHistória dos Surdos
História dos Surdosjoaoribau
 
STP designs - Dr. Ananth Kodavasal
STP designs - Dr. Ananth KodavasalSTP designs - Dr. Ananth Kodavasal
STP designs - Dr. Ananth KodavasalADDA
 
Design criteria for waste water treatment
Design criteria for waste water treatmentDesign criteria for waste water treatment
Design criteria for waste water treatmentBibhabasu Mohanty
 

Destaque (20)

Fedex International Courier Services Gurgaon
Fedex International Courier Services  GurgaonFedex International Courier Services  Gurgaon
Fedex International Courier Services Gurgaon
 
Flier - ABOUT IPS
Flier - ABOUT IPSFlier - ABOUT IPS
Flier - ABOUT IPS
 
MobileDimension
MobileDimensionMobileDimension
MobileDimension
 
Музей русского платка и шали в Павловском Посаде
Музей русского платка и шали в Павловском ПосадеМузей русского платка и шали в Павловском Посаде
Музей русского платка и шали в Павловском Посаде
 
33547
3354733547
33547
 
Appendix G- Competitor Research Star Paper 2
Appendix G- Competitor Research Star Paper 2Appendix G- Competitor Research Star Paper 2
Appendix G- Competitor Research Star Paper 2
 
дельфіни
дельфінидельфіни
дельфіни
 
Level Up Your Talent Development with Gamification [eBook]
Level Up Your Talent Development with Gamification [eBook]Level Up Your Talent Development with Gamification [eBook]
Level Up Your Talent Development with Gamification [eBook]
 
Vision periferica
Vision perifericaVision periferica
Vision periferica
 
Data Science Week 2016. RockStat. "Мультиканальная атрибуция на основе вовлеч...
Data Science Week 2016. RockStat. "Мультиканальная атрибуция на основе вовлеч...Data Science Week 2016. RockStat. "Мультиканальная атрибуция на основе вовлеч...
Data Science Week 2016. RockStat. "Мультиканальная атрибуция на основе вовлеч...
 
Web2.0 new tools
Web2.0 new toolsWeb2.0 new tools
Web2.0 new tools
 
Linee pastorali 2015-16_slim
Linee pastorali 2015-16_slimLinee pastorali 2015-16_slim
Linee pastorali 2015-16_slim
 
Atender Bem ou Tratar Bem
Atender Bem ou Tratar BemAtender Bem ou Tratar Bem
Atender Bem ou Tratar Bem
 
Cl cup russia_guide_final_v1
Cl cup russia_guide_final_v1Cl cup russia_guide_final_v1
Cl cup russia_guide_final_v1
 
Portfólio Marcela Nóbrega - Analista de Mídias Sociais
Portfólio Marcela Nóbrega - Analista de Mídias SociaisPortfólio Marcela Nóbrega - Analista de Mídias Sociais
Portfólio Marcela Nóbrega - Analista de Mídias Sociais
 
Sequencing batch reactor ppt
Sequencing batch reactor pptSequencing batch reactor ppt
Sequencing batch reactor ppt
 
História dos Surdos
História dos SurdosHistória dos Surdos
História dos Surdos
 
ETP- Effluent Treatment Plant
ETP- Effluent Treatment PlantETP- Effluent Treatment Plant
ETP- Effluent Treatment Plant
 
STP designs - Dr. Ananth Kodavasal
STP designs - Dr. Ananth KodavasalSTP designs - Dr. Ananth Kodavasal
STP designs - Dr. Ananth Kodavasal
 
Design criteria for waste water treatment
Design criteria for waste water treatmentDesign criteria for waste water treatment
Design criteria for waste water treatment
 

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

E132833
E132833E132833
E132833irjes
 
Performance prediction for software architectures
Performance prediction for software architecturesPerformance prediction for software architectures
Performance prediction for software architecturesMr. Chanuwan
 
Performancepredictionforsoftwarearchitectures 100810045752-phpapp02
Performancepredictionforsoftwarearchitectures 100810045752-phpapp02Performancepredictionforsoftwarearchitectures 100810045752-phpapp02
Performancepredictionforsoftwarearchitectures 100810045752-phpapp02NNfamily
 
Scaling Application on High Performance Computing Clusters and Analysis of th...
Scaling Application on High Performance Computing Clusters and Analysis of th...Scaling Application on High Performance Computing Clusters and Analysis of th...
Scaling Application on High Performance Computing Clusters and Analysis of th...Rusif Eyvazli
 
Open CAESAR Initiative
Open CAESAR InitiativeOpen CAESAR Initiative
Open CAESAR InitiativeMaged Elaasar
 
SyMAR - A Systematic Method for software Architecture Recovery
SyMAR - A Systematic Method for software Architecture RecoverySyMAR - A Systematic Method for software Architecture Recovery
SyMAR - A Systematic Method for software Architecture RecoveryUniversity of Pretoria
 
Csc8710 001 winter2014-mohammed_shahnawazali-ff2687_presentation_2
Csc8710 001 winter2014-mohammed_shahnawazali-ff2687_presentation_2Csc8710 001 winter2014-mohammed_shahnawazali-ff2687_presentation_2
Csc8710 001 winter2014-mohammed_shahnawazali-ff2687_presentation_2ff2687
 
Traffic Simulator
Traffic SimulatorTraffic Simulator
Traffic Simulatorgystell
 
DOTNET 2013 IEEE MOBILECOMPUTING PROJECT Model based analysis of wireless sys...
DOTNET 2013 IEEE MOBILECOMPUTING PROJECT Model based analysis of wireless sys...DOTNET 2013 IEEE MOBILECOMPUTING PROJECT Model based analysis of wireless sys...
DOTNET 2013 IEEE MOBILECOMPUTING PROJECT Model based analysis of wireless sys...IEEEGLOBALSOFTTECHNOLOGIES
 
PeterBarnumGenResume
PeterBarnumGenResumePeterBarnumGenResume
PeterBarnumGenResumePeter Barnum
 
Incquery Suite Models 2020 Conference by István Ráth, CEO of IncQuery Labs
Incquery Suite Models 2020 Conference by István Ráth, CEO of IncQuery LabsIncquery Suite Models 2020 Conference by István Ráth, CEO of IncQuery Labs
Incquery Suite Models 2020 Conference by István Ráth, CEO of IncQuery LabsIncQuery Labs
 
Software Architectural & Data Design
Software Architectural & Data DesignSoftware Architectural & Data Design
Software Architectural & Data DesignGaurav Bisht
 
Agile Data: Automating database refactorings
Agile Data: Automating database refactoringsAgile Data: Automating database refactorings
Agile Data: Automating database refactoringsIJERA Editor
 
An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey
 An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey
An Adjacent Analysis of the Parallel Programming Model Perspective: A SurveyIRJET Journal
 
Availability Assessment of Software Systems Architecture Using Formal Models
Availability Assessment of Software Systems Architecture Using Formal ModelsAvailability Assessment of Software Systems Architecture Using Formal Models
Availability Assessment of Software Systems Architecture Using Formal ModelsEditor IJCATR
 
Hardware-Software allocation specification of IMA systems for early simulation
Hardware-Software allocation specification of IMA systems for early simulationHardware-Software allocation specification of IMA systems for early simulation
Hardware-Software allocation specification of IMA systems for early simulationÁkos Horváth
 
big-book-of-data-science-2ndedition.pdf
big-book-of-data-science-2ndedition.pdfbig-book-of-data-science-2ndedition.pdf
big-book-of-data-science-2ndedition.pdfssuserd397dd
 
IRJET- A Repository Application Developed using .Net MVC and Angularjs for In...
IRJET- A Repository Application Developed using .Net MVC and Angularjs for In...IRJET- A Repository Application Developed using .Net MVC and Angularjs for In...
IRJET- A Repository Application Developed using .Net MVC and Angularjs for In...IRJET Journal
 
AjinkyaKher_Resume
AjinkyaKher_ResumeAjinkyaKher_Resume
AjinkyaKher_ResumeAjinkya Kher
 

Semelhante a Migrating Legacy Spreadsheets-based Systems to Web MVC architecture: an Industrial Case Study (20)

E132833
E132833E132833
E132833
 
Performance prediction for software architectures
Performance prediction for software architecturesPerformance prediction for software architectures
Performance prediction for software architectures
 
Performancepredictionforsoftwarearchitectures 100810045752-phpapp02
Performancepredictionforsoftwarearchitectures 100810045752-phpapp02Performancepredictionforsoftwarearchitectures 100810045752-phpapp02
Performancepredictionforsoftwarearchitectures 100810045752-phpapp02
 
Scaling Application on High Performance Computing Clusters and Analysis of th...
Scaling Application on High Performance Computing Clusters and Analysis of th...Scaling Application on High Performance Computing Clusters and Analysis of th...
Scaling Application on High Performance Computing Clusters and Analysis of th...
 
Open CAESAR Initiative
Open CAESAR InitiativeOpen CAESAR Initiative
Open CAESAR Initiative
 
SyMAR - A Systematic Method for software Architecture Recovery
SyMAR - A Systematic Method for software Architecture RecoverySyMAR - A Systematic Method for software Architecture Recovery
SyMAR - A Systematic Method for software Architecture Recovery
 
Csc8710 001 winter2014-mohammed_shahnawazali-ff2687_presentation_2
Csc8710 001 winter2014-mohammed_shahnawazali-ff2687_presentation_2Csc8710 001 winter2014-mohammed_shahnawazali-ff2687_presentation_2
Csc8710 001 winter2014-mohammed_shahnawazali-ff2687_presentation_2
 
Traffic Simulator
Traffic SimulatorTraffic Simulator
Traffic Simulator
 
DOTNET 2013 IEEE MOBILECOMPUTING PROJECT Model based analysis of wireless sys...
DOTNET 2013 IEEE MOBILECOMPUTING PROJECT Model based analysis of wireless sys...DOTNET 2013 IEEE MOBILECOMPUTING PROJECT Model based analysis of wireless sys...
DOTNET 2013 IEEE MOBILECOMPUTING PROJECT Model based analysis of wireless sys...
 
PeterBarnumGenResume
PeterBarnumGenResumePeterBarnumGenResume
PeterBarnumGenResume
 
Incquery Suite Models 2020 Conference by István Ráth, CEO of IncQuery Labs
Incquery Suite Models 2020 Conference by István Ráth, CEO of IncQuery LabsIncquery Suite Models 2020 Conference by István Ráth, CEO of IncQuery Labs
Incquery Suite Models 2020 Conference by István Ráth, CEO of IncQuery Labs
 
Software Architectural & Data Design
Software Architectural & Data DesignSoftware Architectural & Data Design
Software Architectural & Data Design
 
Agile Data: Automating database refactorings
Agile Data: Automating database refactoringsAgile Data: Automating database refactorings
Agile Data: Automating database refactorings
 
An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey
 An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey
An Adjacent Analysis of the Parallel Programming Model Perspective: A Survey
 
Availability Assessment of Software Systems Architecture Using Formal Models
Availability Assessment of Software Systems Architecture Using Formal ModelsAvailability Assessment of Software Systems Architecture Using Formal Models
Availability Assessment of Software Systems Architecture Using Formal Models
 
MarkAndrews
MarkAndrewsMarkAndrews
MarkAndrews
 
Hardware-Software allocation specification of IMA systems for early simulation
Hardware-Software allocation specification of IMA systems for early simulationHardware-Software allocation specification of IMA systems for early simulation
Hardware-Software allocation specification of IMA systems for early simulation
 
big-book-of-data-science-2ndedition.pdf
big-book-of-data-science-2ndedition.pdfbig-book-of-data-science-2ndedition.pdf
big-book-of-data-science-2ndedition.pdf
 
IRJET- A Repository Application Developed using .Net MVC and Angularjs for In...
IRJET- A Repository Application Developed using .Net MVC and Angularjs for In...IRJET- A Repository Application Developed using .Net MVC and Angularjs for In...
IRJET- A Repository Application Developed using .Net MVC and Angularjs for In...
 
AjinkyaKher_Resume
AjinkyaKher_ResumeAjinkyaKher_Resume
AjinkyaKher_Resume
 

Mais de REvERSE University of Naples Federico II

Introducing Software Product Lines in Model-Based Design Processes: an Indust...
Introducing Software Product Lines in Model-BasedDesign Processes: an Indust...Introducing Software Product Lines in Model-BasedDesign Processes: an Indust...
Introducing Software Product Lines in Model-Based Design Processes: an Indust...REvERSE University of Naples Federico II
 
Exploiting the Saturation Effect in Automatic Random Testing of Android Appli...
Exploiting the Saturation Effect in Automatic Random Testing of Android Appli...Exploiting the Saturation Effect in Automatic Random Testing of Android Appli...
Exploiting the Saturation Effect in Automatic Random Testing of Android Appli...REvERSE University of Naples Federico II
 
Toward automatic Model-In-the-Loop testing of Electronic Vehicle Information ...
Toward automatic Model-In-the-Loop testing of Electronic Vehicle Information ...Toward automatic Model-In-the-Loop testing of Electronic Vehicle Information ...
Toward automatic Model-In-the-Loop testing of Electronic Vehicle Information ...REvERSE University of Naples Federico II
 
A Conceptual Framework for the Comparison of Fully Automated GUI Testing Tech...
A Conceptual Framework for the Comparison of Fully Automated GUI Testing Tech...A Conceptual Framework for the Comparison of Fully Automated GUI Testing Tech...
A Conceptual Framework for the Comparison of Fully Automated GUI Testing Tech...REvERSE University of Naples Federico II
 
Comparing model coverage and code coverage in Model Driven testing: an explor...
Comparing model coverage and code coverage in Model Driven testing: an explor...Comparing model coverage and code coverage in Model Driven testing: an explor...
Comparing model coverage and code coverage in Model Driven testing: an explor...REvERSE University of Naples Federico II
 

Mais de REvERSE University of Naples Federico II (7)

Introducing Software Product Lines in Model-Based Design Processes: an Indust...
Introducing Software Product Lines in Model-BasedDesign Processes: an Indust...Introducing Software Product Lines in Model-BasedDesign Processes: an Indust...
Introducing Software Product Lines in Model-Based Design Processes: an Indust...
 
AGRippin: A Novel Search Based Testing Technique for Android Applications
AGRippin: A Novel Search Based Testing Technique for Android ApplicationsAGRippin: A Novel Search Based Testing Technique for Android Applications
AGRippin: A Novel Search Based Testing Technique for Android Applications
 
Exploiting the Saturation Effect in Automatic Random Testing of Android Appli...
Exploiting the Saturation Effect in Automatic Random Testing of Android Appli...Exploiting the Saturation Effect in Automatic Random Testing of Android Appli...
Exploiting the Saturation Effect in Automatic Random Testing of Android Appli...
 
Toward automatic Model-In-the-Loop testing of Electronic Vehicle Information ...
Toward automatic Model-In-the-Loop testing of Electronic Vehicle Information ...Toward automatic Model-In-the-Loop testing of Electronic Vehicle Information ...
Toward automatic Model-In-the-Loop testing of Electronic Vehicle Information ...
 
A Conceptual Framework for the Comparison of Fully Automated GUI Testing Tech...
A Conceptual Framework for the Comparison of Fully Automated GUI Testing Tech...A Conceptual Framework for the Comparison of Fully Automated GUI Testing Tech...
A Conceptual Framework for the Comparison of Fully Automated GUI Testing Tech...
 
Comparing model coverage and code coverage in Model Driven testing: an explor...
Comparing model coverage and code coverage in Model Driven testing: an explor...Comparing model coverage and code coverage in Model Driven testing: an explor...
Comparing model coverage and code coverage in Model Driven testing: an explor...
 
Toward Reverse Engineering of VBA Based Excel Spreadsheets Applications
Toward Reverse Engineering of VBA Based Excel Spreadsheets ApplicationsToward Reverse Engineering of VBA Based Excel Spreadsheets Applications
Toward Reverse Engineering of VBA Based Excel Spreadsheets Applications
 

Último

%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benonimasabamasaba
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxAnnaArtyushina1
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 

Último (20)

%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 

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

  • 1. 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
  • 2. Context  Hardware-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 Measured Output Signals Expected Outputs OK / KO
  • 3. Context CSMR – WCRE 2014 – Antwerp, February 3-6 Test Engineer Test Pattern Manually Writes 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 Object Automatically 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
  • 4. 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
  • 5. Proposed Migration Process  Migrate 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
  • 6. 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
  • 7. Proposed Migration Process Data Model Reverse Engineering  Performed 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
  • 8. Proposed Migration Process Data 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
  • 9. Proposed Migration Process Example 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.
  • 10. Proposed Migration Process Example 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.
  • 11. Proposed Migration Process Example 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.
  • 12. Proposed Migration Process User 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
  • 13. Proposed Migration Process User 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
  • 14. 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
  • 15. Reengineering Analogies between GUIs CSMR – WCRE 2014 – Antwerp, February 3-6 Excel GUI Web Application GUI
  • 16. 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
  • 17. 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.
  • 18. Conclusions  The 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
  • 19. Thank you!!! CSMR – WCRE 2014 – Antwerp, February 3-6