SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
Reverse Engineering Techniques:
from Web Applications to Rich
Internet Applications
Porfirio Tramontana
Domenico Amalfitano
Anna Rita Fasolino
Dipartimento di Ingegneria Elettrica e
Tecnologie dell’Informazione

University of Naples Federico II, Italy
WSE & Reverse Engineering


Reverse Engineering has been one of the
most discussed topics in WSE events


Common topics of WSE:
Modeling
 Reverse Engineering, reengineering, refactoring
 Migration from legacy systems, to Web
Applications, to Rich Internet Applications
 Test case Generation
 Documentation Generation


Porfirio Tramontana - WSE 2013 - Eindhoven - 09/28/2013

2
WSE & Reverse Engineering




Web Systems Modeling, 3 papers in 19992001 (and a paper in 2006)
Reverse Engineering, Comprehension,
Maintenance, Documentation of:





Web Sites, 7 papers in 2000-2008
Web Applications, 6 papers in 2000-2009
Rich Internet Applications, 3 papers in 20102011

Porfirio Tramontana - WSE 2013 - Eindhoven - 09/28/2013

3
WSE Timeline
1999 2000 2001 2002 2003

Web Site Nature
And Modeling

1

Web Sites
Reverse
Engineering,
Comprehension,
Maintenance,
Documentation

6

2

15

2006

22

2009

2010

2011

2013

13

7

17

9

24

18

16
Web
Applications

2008

12

20

25

27

23
36

Rich Internet
Applications

Porfirio Tramontana - WSE 2013 - Eindhoven - 09/28/2013

34

37

4
Timeline 1: Web Site Nature and Modeling


In the first WSE editions, there was discussions about the nature of the
Web Sites and the models needed for their design






The first models for Web Site design were adaptations of data models
(RMM, WebML)




1999: G. Antoniol, G. Canfora, A. Cimitile, and A. De Lucia, “WEB Sites: Files, Programs or
databases?,”
2001: H. M. Kienle and H. A. Muller, “Leveraging program analysis for Web site reverse
engineering

2000: G. Antoniol, G. Canfora, G. Casazza, and A. De Lucia, “Web Site Reengineering Using
RMM”

The evolution of Web Sites to Web Applications caused a corresponding
evolution of models towards UML based ones


2006: F. Ricca, M. Di Penta, M. Torchiano, P. Tonella, and M. Ceccato, “An empirical study
on the usefulness of Conallen’s stereotypes inWeb application comprehension,”

Porfirio Tramontana - WSE 2013 - Eindhoven - 09/28/2013

5
Timeline 1: Web Site Nature and Modeling


Reverse Engineering suitable models describe Web Applications at a higher
level of details






2002: P. Tonella and F. Ricca, “Dynamic model extraction and statistical analysis of Web
applications,”
2002: G. A. Di Lucca, A. R. Fasolino, and P. Tramontana, “Towards a better
comprehensibility of web applications: lessons learned from reverse engineering
experiments,”

Models supporting Web 2.0 applications extended the ones suitable for Web
applications


2006: R. Djemaa, I. Amous, and A. Hamadou, “WA-UML: Towards a UML extension for
modelling Adaptive Web Applications

Porfirio Tramontana - WSE 2013 - Eindhoven - 09/28/2013

6
2000: RMM Model

G. Antoniol, G. Canfora, G. Casazza, and A. De Lucia, “Web Site
Reengineering Using RMM,”
Porfirio Tramontana - WSE 2013 - Eindhoven - 09/28/2013

7
2002: Dynamic Model

P. Tonella and F. Ricca, “Dynamic model extraction and statistical analysis of
Web applications,”

Porfirio Tramontana - WSE 2013 - Eindhoven - 09/28/2013

8
2002: Web Application Model

G. A. Di Lucca, A. R. Fasolino, F. Pace, P. Tramontana, and U. De Carlini, “WARE:
a tool for the reverse engineering of Web applications,”
Porfirio Tramontana - WSE 2013 - Eindhoven - 09/28/2013

9
2010: RIA Dynamic Model
Dom
1 Object 1

Fired >

+XPath

0..*
1

Attribute
+Name
+Value

+Previous
0..*
User
Session

0..1
User
event

1..* +Type

0..*

+Next
0..1

Dom
Change
+Type

Exception

0..*

1

+Message
0..*

Call >

0..1

Raise>

1
1
0..*
1
1 JS Function
Executed
Execution
LOC
0..*
1..*
1
+Text
+Event Handler +Function name
+File name
1 +made by
+handled by 0..1
0..1
Server
Response 0..1
+Status

0..*
1

Server Call
+Asynchronous
+HTTP Request

D. Amalfitano, A. R. Fasolino, A. Polcaro, and P. Tramontana, “Comprehending
Ajax Web Applications by the DynaRIA Tool,”
Porfirio Tramontana - WSE 2013 - Eindhoven - 09/28/2013

10
Timeline 2:
Reverse Engineering of Web Sites


Reverse Engineering for migrating …


… from HTML to XML




… from Web Sites to Web Applications …




By abstracting a data model, Estievenart et al, 2003

Reverse Engineering for reuse …




Kirda et al., 2001;

… of clones, Aversano et al., 2001

Reverse Engineering for reengineering …




… based on dynamic analysis and statistic data, Tonella and
Ricca, 2002 and 2008

… to improve the navigability, Scanniello et al., 2008

Porfirio Tramontana - WSE 2013 - Eindhoven - 09/28/2013

11
Timeline 3: Reverse Engineering of
Web Applications


Part of the ‘source’ code is generated at run-time











Static analysis is not able to recover anything
Dynamic analysis is not able to cover anything

Business logic, GUI and data management are often interleaved
Di Lucca et al., 2001, 2002, 2003, statically analyzed the source
code, abstracted detail level diagrams, reconstructed modular
architecture and and abstracted business level UML diagrams
Hassan and Holt, 2001 extracted architectural diagrams from a
combination of static and dynamic analysis
Ricca et al., 2002, extracted Conallen’s diagram from dynamic
analysis information


Bernardi et al., 2008, et Alalfi et al. 2009, focused on more specific reverse
engineering tasks

Porfirio Tramontana - WSE 2013 - Eindhoven - 09/28/2013

13
Timeline 3: References














2001: A. E. Hassan and R. C. Holt, “Towards a better understanding of Web
applications,”
2002: G. A. Di Lucca, A. R. Fasolino, and P. Tramontana, “Towards a better
comprehensibility of web applications: lessons learned from reverse engineering
experiments,”
2003: G. A. Di Lucca, A. R. Fasolino, P. Tramontana, and U. De Carlini, “Abstracting
business level UML diagrams from Web applications,”
2003: P. Tonella, F. Ricca, E. Pianta, and C. Girardi, “Evaluation methods for Web
application clustering,”
2006: F. Ricca, M. Di Penta, M. Torchiano, P. Tonella, and M. Ceccato, “An empirical
study on the usefulness of Conallen’s stereotypes inWeb application comprehension,”
2008: M. L. Bernardi, G. A. Di Lucca, and D. Distante, “Reverse engineering of Web
Applications to abstract user-centered conceptual models,”
2009: M. H. Alalfi, J. R. Cordy, and T. R. Dean, “WAFA: Fine-grained dynamic
analysis of web applications,”
Porfirio Tramontana - WSE 2013 - Eindhoven - 09/28/2013

14
Timeline 4: Reverse Engineering of
Rich Internet Applications


RIAs introduced further levels of dynamicity into Web
Applications and increasing the difficulties of tasks such
as architecture reconstruction and crawling.





Asynchronous calls
Client side code run-time self-modification

Pure dynamic analysis approaches have been proposed
…




… for test case generation, by Amalfitano et al., 2010
… for redocumentation, Amalfitano et al., 2011
… for comprehension, McIntosh et al., 2011

Porfirio Tramontana - WSE 2013 - Eindhoven - 09/28/2013

15
Future Perspectives


Reverse Engineering of Web Applications loses interest because:
 Web Applications are not more realized from the scratch but
their coding is heavily supported by visual tools for code
generation and frameworks libraries




With Wordpress, CMS, ..., Web applications are essentially ‘configured’
instead of developed from scratch

Web applications are not more so different from other typologies
of applications


Development models, paradigms and patterns can be the same of traditional
applications


E.g. a Web Application can represent only a possible user interface for a remote user

Porfirio Tramontana - WSE 2013 - Eindhoven - 09/28/2013

17
Future Perspectives


But …
 Many of the static and dynamic analysis
techniques initially proposed for Web
applications have recently proven their
usefulness in the context of mobile
applications.


E.g.: Android applications are quite similar to RIAs:



They are both based on event-based GUIs
They are both based on client-server synchronous and asynchronous
interactions.

Porfirio Tramontana - WSE 2013 - Eindhoven - 09/28/2013

18

Contenu connexe

En vedette

IEEE Day 2013 - Reverse Engineering an Android Application
IEEE Day 2013 - Reverse Engineering an Android ApplicationIEEE Day 2013 - Reverse Engineering an Android Application
IEEE Day 2013 - Reverse Engineering an Android Application
Rufatet Babakishiyev
 

En vedette (6)

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
 
Application of Reverse Engineering and CAD/CAM in Field of Prosthetics-A Make...
Application of Reverse Engineering and CAD/CAM in Field of Prosthetics-A Make...Application of Reverse Engineering and CAD/CAM in Field of Prosthetics-A Make...
Application of Reverse Engineering and CAD/CAM in Field of Prosthetics-A Make...
 
Reverse Engineering .NET and Java
Reverse Engineering .NET and JavaReverse Engineering .NET and Java
Reverse Engineering .NET and Java
 
Maintenance, Re-engineering &Reverse Engineering in Software Engineering
Maintenance,Re-engineering &Reverse Engineering in Software EngineeringMaintenance,Re-engineering &Reverse Engineering in Software Engineering
Maintenance, Re-engineering &Reverse Engineering in Software Engineering
 
Software reverse engineering
Software reverse engineeringSoftware reverse engineering
Software reverse engineering
 
IEEE Day 2013 - Reverse Engineering an Android Application
IEEE Day 2013 - Reverse Engineering an Android ApplicationIEEE Day 2013 - Reverse Engineering an Android Application
IEEE Day 2013 - Reverse Engineering an Android Application
 

Similaire à Reverse Engineering Techniques: from Web Applications to Rich Internet Applications

Past, Present and Research Challenge in Adaptive User Interfaces
Past, Present and Research Challenge in Adaptive User InterfacesPast, Present and Research Challenge in Adaptive User Interfaces
Past, Present and Research Challenge in Adaptive User Interfaces
Eduardo Castillejo Gil
 
User Interface Context of Use Guidelines for Mobile Apps
User Interface Context of Use Guidelines for Mobile AppsUser Interface Context of Use Guidelines for Mobile Apps
User Interface Context of Use Guidelines for Mobile Apps
CSCJournals
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
ESUG
 
Curriculum Vitae
Curriculum VitaeCurriculum Vitae
Curriculum Vitae
butest
 

Similaire à Reverse Engineering Techniques: from Web Applications to Rich Internet Applications (20)

Web Application Testing in Fifteen Years of WSE
Web Application Testing in Fifteen Years of WSEWeb Application Testing in Fifteen Years of WSE
Web Application Testing in Fifteen Years of WSE
 
Reverse Engineering Web Applications
Reverse Engineering Web ApplicationsReverse Engineering Web Applications
Reverse Engineering Web Applications
 
2012-09-13_Multiconsult and WSP European Task Force_BIM in infrastructure
2012-09-13_Multiconsult and WSP European Task Force_BIM in infrastructure2012-09-13_Multiconsult and WSP European Task Force_BIM in infrastructure
2012-09-13_Multiconsult and WSP European Task Force_BIM in infrastructure
 
KAIST 웹 공학 연구실 소개(Web Engineering Lab.)
KAIST 웹 공학 연구실 소개(Web Engineering Lab.)KAIST 웹 공학 연구실 소개(Web Engineering Lab.)
KAIST 웹 공학 연구실 소개(Web Engineering Lab.)
 
TUW-ASE-Summer 2014: Advanced Services Engineering- Introduction
TUW-ASE-Summer 2014: Advanced Services Engineering- IntroductionTUW-ASE-Summer 2014: Advanced Services Engineering- Introduction
TUW-ASE-Summer 2014: Advanced Services Engineering- Introduction
 
WebEng Lab 2014
WebEng Lab 2014WebEng Lab 2014
WebEng Lab 2014
 
CV Bonanni Fabrizio
CV Bonanni FabrizioCV Bonanni Fabrizio
CV Bonanni Fabrizio
 
Report on cloud computing
Report on cloud computingReport on cloud computing
Report on cloud computing
 
Seminar report of digital twin
Seminar report of digital twinSeminar report of digital twin
Seminar report of digital twin
 
Past, Present and Research Challenge in Adaptive User Interfaces
Past, Present and Research Challenge in Adaptive User InterfacesPast, Present and Research Challenge in Adaptive User Interfaces
Past, Present and Research Challenge in Adaptive User Interfaces
 
User Interface Context of Use Guidelines for Mobile Apps
User Interface Context of Use Guidelines for Mobile AppsUser Interface Context of Use Guidelines for Mobile Apps
User Interface Context of Use Guidelines for Mobile Apps
 
UML per il Web: User Centric Design
UML per il Web: User Centric DesignUML per il Web: User Centric Design
UML per il Web: User Centric Design
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
 
Autonomous Vehicle and Augmented Reality Usage
Autonomous Vehicle and Augmented Reality UsageAutonomous Vehicle and Augmented Reality Usage
Autonomous Vehicle and Augmented Reality Usage
 
SEMANCO - Integrating multiple data sources, domains and tools in urban ener...
SEMANCO - Integrating multiple data sources, domains and tools in  urban ener...SEMANCO - Integrating multiple data sources, domains and tools in  urban ener...
SEMANCO - Integrating multiple data sources, domains and tools in urban ener...
 
Internet of things research artciles in 2020
Internet of things research artciles in 2020Internet of things research artciles in 2020
Internet of things research artciles in 2020
 
B41021318
B41021318B41021318
B41021318
 
Digital Catapult Centre Brighton - Dr Nour Ali
Digital Catapult Centre Brighton - Dr Nour AliDigital Catapult Centre Brighton - Dr Nour Ali
Digital Catapult Centre Brighton - Dr Nour Ali
 
Software Architecture: Introduction to the abstraction (May 2014_Split)
Software Architecture: Introduction to the abstraction (May 2014_Split)Software Architecture: Introduction to the abstraction (May 2014_Split)
Software Architecture: Introduction to the abstraction (May 2014_Split)
 
Curriculum Vitae
Curriculum VitaeCurriculum Vitae
Curriculum Vitae
 

Plus de Porfirio Tramontana

Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...
Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...
Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...
Porfirio Tramontana
 
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...
Porfirio Tramontana
 

Plus de Porfirio Tramontana (20)

An Approach for Model Based Testing of Augmented Reality Applications.pdf
An Approach for Model Based Testing of Augmented Reality Applications.pdfAn Approach for Model Based Testing of Augmented Reality Applications.pdf
An Approach for Model Based Testing of Augmented Reality Applications.pdf
 
Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...
Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...
Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...
 
Techniques and Tools for Mobile Testing Automation
Techniques and Tools for Mobile Testing AutomationTechniques and Tools for Mobile Testing Automation
Techniques and Tools for Mobile Testing Automation
 
A technique for parallel gui testing of android applications
A technique for parallel gui testing of android applicationsA technique for parallel gui testing of android applications
A technique for parallel gui testing of android applications
 
Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...
Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...
Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...
 
Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...
Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...
Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...
 
Comprehending Web Applications by a Clustering Based Approach
Comprehending Web Applications by a Clustering Based Approach Comprehending Web Applications by a Clustering Based Approach
Comprehending Web Applications by a Clustering Based Approach
 
Recovering Interaction Design Patterns in Web Applications
Recovering Interaction Design Patterns in Web Applications Recovering Interaction Design Patterns in Web Applications
Recovering Interaction Design Patterns in Web Applications
 
Improving Usability of Web Pages for Blind
Improving Usability of Web Pages for BlindImproving Usability of Web Pages for Blind
Improving Usability of Web Pages for Blind
 
Techniques and Tools for Rich Internet Applications Testing
Techniques and Tools for Rich Internet Applications TestingTechniques and Tools for Rich Internet Applications Testing
Techniques and Tools for Rich Internet Applications Testing
 
Comprehending Ajax Web Applications by the DynaRIA Tool
Comprehending Ajax Web Applications by the DynaRIA ToolComprehending Ajax Web Applications by the DynaRIA Tool
Comprehending Ajax Web Applications by the DynaRIA Tool
 
A GUI Crawling-based Technique for Android Mobile Application Testing
A GUI Crawling-based Technique for Android Mobile Application TestingA GUI Crawling-based Technique for Android Mobile Application Testing
A GUI Crawling-based Technique for Android Mobile Application Testing
 
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...
 
Considering Context Events in Event-Based Testing of Mobile Applications
Considering Context Events in Event-Based Testing of Mobile Applications Considering Context Events in Event-Based Testing of Mobile Applications
Considering Context Events in Event-Based Testing of Mobile Applications
 
Using GUI Ripping for Automated Testing of Android Apps
Using GUI Ripping for Automated Testing of Android AppsUsing GUI Ripping for Automated Testing of Android Apps
Using GUI Ripping for Automated Testing of Android Apps
 
A Toolset for GUI Testing of Android Applications
A Toolset for GUI Testing of Android ApplicationsA Toolset for GUI Testing of Android Applications
A Toolset for GUI Testing of Android Applications
 
DynaRIA: a Tool for Ajax Web Application Comprehension
DynaRIA: a Tool for Ajax Web Application ComprehensionDynaRIA: a Tool for Ajax Web Application Comprehension
DynaRIA: a Tool for Ajax Web Application Comprehension
 
Rich Internet Application Testing Using Execution Trace Data
Rich Internet Application Testing  Using Execution Trace Data Rich Internet Application Testing  Using Execution Trace Data
Rich Internet Application Testing Using Execution Trace Data
 
An AHP-based Framework for Quality and Security Evaluation
An AHP-based Framework for Quality and Security EvaluationAn AHP-based Framework for Quality and Security Evaluation
An AHP-based Framework for Quality and Security Evaluation
 
Experimenting a Reverse Engineering Technique for Modelling the Behaviour of ...
Experimenting a Reverse Engineering Technique for Modelling the Behaviour of ...Experimenting a Reverse Engineering Technique for Modelling the Behaviour of ...
Experimenting a Reverse Engineering Technique for Modelling the Behaviour of ...
 

Dernier

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Dernier (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

Reverse Engineering Techniques: from Web Applications to Rich Internet Applications

  • 1. Reverse Engineering Techniques: from Web Applications to Rich Internet Applications Porfirio Tramontana Domenico Amalfitano Anna Rita Fasolino Dipartimento di Ingegneria Elettrica e Tecnologie dell’Informazione University of Naples Federico II, Italy
  • 2. WSE & Reverse Engineering  Reverse Engineering has been one of the most discussed topics in WSE events  Common topics of WSE: Modeling  Reverse Engineering, reengineering, refactoring  Migration from legacy systems, to Web Applications, to Rich Internet Applications  Test case Generation  Documentation Generation  Porfirio Tramontana - WSE 2013 - Eindhoven - 09/28/2013 2
  • 3. WSE & Reverse Engineering   Web Systems Modeling, 3 papers in 19992001 (and a paper in 2006) Reverse Engineering, Comprehension, Maintenance, Documentation of:    Web Sites, 7 papers in 2000-2008 Web Applications, 6 papers in 2000-2009 Rich Internet Applications, 3 papers in 20102011 Porfirio Tramontana - WSE 2013 - Eindhoven - 09/28/2013 3
  • 4. WSE Timeline 1999 2000 2001 2002 2003 Web Site Nature And Modeling 1 Web Sites Reverse Engineering, Comprehension, Maintenance, Documentation 6 2 15 2006 22 2009 2010 2011 2013 13 7 17 9 24 18 16 Web Applications 2008 12 20 25 27 23 36 Rich Internet Applications Porfirio Tramontana - WSE 2013 - Eindhoven - 09/28/2013 34 37 4
  • 5. Timeline 1: Web Site Nature and Modeling  In the first WSE editions, there was discussions about the nature of the Web Sites and the models needed for their design    The first models for Web Site design were adaptations of data models (RMM, WebML)   1999: G. Antoniol, G. Canfora, A. Cimitile, and A. De Lucia, “WEB Sites: Files, Programs or databases?,” 2001: H. M. Kienle and H. A. Muller, “Leveraging program analysis for Web site reverse engineering 2000: G. Antoniol, G. Canfora, G. Casazza, and A. De Lucia, “Web Site Reengineering Using RMM” The evolution of Web Sites to Web Applications caused a corresponding evolution of models towards UML based ones  2006: F. Ricca, M. Di Penta, M. Torchiano, P. Tonella, and M. Ceccato, “An empirical study on the usefulness of Conallen’s stereotypes inWeb application comprehension,” Porfirio Tramontana - WSE 2013 - Eindhoven - 09/28/2013 5
  • 6. Timeline 1: Web Site Nature and Modeling  Reverse Engineering suitable models describe Web Applications at a higher level of details    2002: P. Tonella and F. Ricca, “Dynamic model extraction and statistical analysis of Web applications,” 2002: G. A. Di Lucca, A. R. Fasolino, and P. Tramontana, “Towards a better comprehensibility of web applications: lessons learned from reverse engineering experiments,” Models supporting Web 2.0 applications extended the ones suitable for Web applications  2006: R. Djemaa, I. Amous, and A. Hamadou, “WA-UML: Towards a UML extension for modelling Adaptive Web Applications Porfirio Tramontana - WSE 2013 - Eindhoven - 09/28/2013 6
  • 7. 2000: RMM Model G. Antoniol, G. Canfora, G. Casazza, and A. De Lucia, “Web Site Reengineering Using RMM,” Porfirio Tramontana - WSE 2013 - Eindhoven - 09/28/2013 7
  • 8. 2002: Dynamic Model P. Tonella and F. Ricca, “Dynamic model extraction and statistical analysis of Web applications,” Porfirio Tramontana - WSE 2013 - Eindhoven - 09/28/2013 8
  • 9. 2002: Web Application Model G. A. Di Lucca, A. R. Fasolino, F. Pace, P. Tramontana, and U. De Carlini, “WARE: a tool for the reverse engineering of Web applications,” Porfirio Tramontana - WSE 2013 - Eindhoven - 09/28/2013 9
  • 10. 2010: RIA Dynamic Model Dom 1 Object 1 Fired > +XPath 0..* 1 Attribute +Name +Value +Previous 0..* User Session 0..1 User event 1..* +Type 0..* +Next 0..1 Dom Change +Type Exception 0..* 1 +Message 0..* Call > 0..1 Raise> 1 1 0..* 1 1 JS Function Executed Execution LOC 0..* 1..* 1 +Text +Event Handler +Function name +File name 1 +made by +handled by 0..1 0..1 Server Response 0..1 +Status 0..* 1 Server Call +Asynchronous +HTTP Request D. Amalfitano, A. R. Fasolino, A. Polcaro, and P. Tramontana, “Comprehending Ajax Web Applications by the DynaRIA Tool,” Porfirio Tramontana - WSE 2013 - Eindhoven - 09/28/2013 10
  • 11. Timeline 2: Reverse Engineering of Web Sites  Reverse Engineering for migrating …  … from HTML to XML   … from Web Sites to Web Applications …   By abstracting a data model, Estievenart et al, 2003 Reverse Engineering for reuse …   Kirda et al., 2001; … of clones, Aversano et al., 2001 Reverse Engineering for reengineering …   … based on dynamic analysis and statistic data, Tonella and Ricca, 2002 and 2008 … to improve the navigability, Scanniello et al., 2008 Porfirio Tramontana - WSE 2013 - Eindhoven - 09/28/2013 11
  • 12. Timeline 3: Reverse Engineering of Web Applications  Part of the ‘source’ code is generated at run-time       Static analysis is not able to recover anything Dynamic analysis is not able to cover anything Business logic, GUI and data management are often interleaved Di Lucca et al., 2001, 2002, 2003, statically analyzed the source code, abstracted detail level diagrams, reconstructed modular architecture and and abstracted business level UML diagrams Hassan and Holt, 2001 extracted architectural diagrams from a combination of static and dynamic analysis Ricca et al., 2002, extracted Conallen’s diagram from dynamic analysis information  Bernardi et al., 2008, et Alalfi et al. 2009, focused on more specific reverse engineering tasks Porfirio Tramontana - WSE 2013 - Eindhoven - 09/28/2013 13
  • 13. Timeline 3: References        2001: A. E. Hassan and R. C. Holt, “Towards a better understanding of Web applications,” 2002: G. A. Di Lucca, A. R. Fasolino, and P. Tramontana, “Towards a better comprehensibility of web applications: lessons learned from reverse engineering experiments,” 2003: G. A. Di Lucca, A. R. Fasolino, P. Tramontana, and U. De Carlini, “Abstracting business level UML diagrams from Web applications,” 2003: P. Tonella, F. Ricca, E. Pianta, and C. Girardi, “Evaluation methods for Web application clustering,” 2006: F. Ricca, M. Di Penta, M. Torchiano, P. Tonella, and M. Ceccato, “An empirical study on the usefulness of Conallen’s stereotypes inWeb application comprehension,” 2008: M. L. Bernardi, G. A. Di Lucca, and D. Distante, “Reverse engineering of Web Applications to abstract user-centered conceptual models,” 2009: M. H. Alalfi, J. R. Cordy, and T. R. Dean, “WAFA: Fine-grained dynamic analysis of web applications,” Porfirio Tramontana - WSE 2013 - Eindhoven - 09/28/2013 14
  • 14. Timeline 4: Reverse Engineering of Rich Internet Applications  RIAs introduced further levels of dynamicity into Web Applications and increasing the difficulties of tasks such as architecture reconstruction and crawling.    Asynchronous calls Client side code run-time self-modification Pure dynamic analysis approaches have been proposed …    … for test case generation, by Amalfitano et al., 2010 … for redocumentation, Amalfitano et al., 2011 … for comprehension, McIntosh et al., 2011 Porfirio Tramontana - WSE 2013 - Eindhoven - 09/28/2013 15
  • 15. Future Perspectives  Reverse Engineering of Web Applications loses interest because:  Web Applications are not more realized from the scratch but their coding is heavily supported by visual tools for code generation and frameworks libraries   With Wordpress, CMS, ..., Web applications are essentially ‘configured’ instead of developed from scratch Web applications are not more so different from other typologies of applications  Development models, paradigms and patterns can be the same of traditional applications  E.g. a Web Application can represent only a possible user interface for a remote user Porfirio Tramontana - WSE 2013 - Eindhoven - 09/28/2013 17
  • 16. Future Perspectives  But …  Many of the static and dynamic analysis techniques initially proposed for Web applications have recently proven their usefulness in the context of mobile applications.  E.g.: Android applications are quite similar to RIAs:   They are both based on event-based GUIs They are both based on client-server synchronous and asynchronous interactions. Porfirio Tramontana - WSE 2013 - Eindhoven - 09/28/2013 18