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

More Related Content

Viewers also liked

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
REvERSE University of Naples Federico II
 
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...
Association of Scientists, Developers and Faculties
 
Reverse Engineering .NET and Java
Reverse Engineering .NET and JavaReverse Engineering .NET and Java
Reverse Engineering .NET and Java
Joe Kuemerle
 
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
Manish Kumar
 
Software reverse engineering
Software reverse engineeringSoftware reverse engineering
Software reverse engineering
Parminder Singh
 
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 ApplicationRufatet Babakishiyev
 

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

Similar to Reverse Engineering Techniques: from Web Applications to Rich Internet Applications

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
Porfirio Tramontana
 
Reverse Engineering Web Applications
Reverse Engineering Web ApplicationsReverse Engineering Web Applications
Reverse Engineering Web Applications
Porfirio Tramontana
 
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
Åge Langedrag
 
KAIST 웹 공학 연구실 소개(Web Engineering Lab.)
KAIST 웹 공학 연구실 소개(Web Engineering Lab.)KAIST 웹 공학 연구실 소개(Web Engineering Lab.)
KAIST 웹 공학 연구실 소개(Web Engineering Lab.)
webeng_kaist
 
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
Hong-Linh Truong
 
CV Bonanni Fabrizio
CV Bonanni FabrizioCV Bonanni Fabrizio
CV Bonanni Fabrizio
Fabrizio Bonanni BonFa
 
Report on cloud computing
Report on cloud computingReport on cloud computing
Report on cloud computing
FarhanAhmade
 
Seminar report of digital twin
Seminar report of digital twinSeminar report of digital twin
Seminar report of digital twin
faheem m m
 
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 InterfacesEduardo 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
 
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
Henry Muccini
 
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
 
Autonomous Vehicle and Augmented Reality Usage
Autonomous Vehicle and Augmented Reality UsageAutonomous Vehicle and Augmented Reality Usage
Autonomous Vehicle and Augmented Reality Usage
Dr. Amarjeet Singh
 
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...
Álvaro Sicilia
 
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
AIRCC Publishing Corporation
 
B41021318
B41021318B41021318
B41021318
IJERA Editor
 
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
wired_sussex
 
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)
Henry Muccini
 
Curriculum Vitae
Curriculum VitaeCurriculum Vitae
Curriculum Vitaebutest
 

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

More from Porfirio Tramontana

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
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
 
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
Porfirio Tramontana
 
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
Porfirio Tramontana
 
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...
Porfirio Tramontana
 
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 ...
Porfirio Tramontana
 
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
Porfirio Tramontana
 
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
Porfirio Tramontana
 
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
Porfirio Tramontana
 
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
Porfirio Tramontana
 
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
Porfirio Tramontana
 
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
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
 
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
Porfirio Tramontana
 
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
Porfirio Tramontana
 
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
Porfirio Tramontana
 
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
Porfirio Tramontana
 
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
Porfirio Tramontana
 
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
Porfirio Tramontana
 
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 ...
Porfirio Tramontana
 

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

Recently uploaded

Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 

Recently uploaded (20)

Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 

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