SlideShare a Scribd company logo
1 of 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

More Related Content

Viewers also liked

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
 

Viewers also liked (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
 

Similar to 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
 

Similar to 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
 

More from 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
 

More from 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
 

Recently uploaded

Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....ShaimaaMohamedGalal
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 

Recently uploaded (20)

Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 

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