SlideShare a Scribd company logo
1 of 31
1
Darian Frajberg, Politecnico di Milano - Italy
Matías Urbieta, University of La Plata - Argentina
Gustavo Rossi, University of La Plata - Argentina
Wieland Schwinger, Johannes Kepler University - Austria
Volatile Functionality in Action:
Methods, Techniques and
Assessment
2
Introduction and motivation
 Continuous evolution and dynamism of current Web Applications
 Emergence of new requirements after deployment within maintenance stage
 Emergent functionalities
 Permanent functionalities
 Volatile functionalities (VFs)
 Impact of incorporation and removal of VFs during maintenance phase
 Code quality
 Times
 Costs
3
Example - Black Friday in
Amazon
and the same marketing strategy has been adopted for other promotion such as Cyber
Monday case. Figure 1 shows the “Black Friday” promotions. On top of the image
you can see several Black Friday banners notifying the availability of promotions. In
the middle, there is a carousel showing products that have big discounts. Finally, there
is another banner with the remaining time for the promotion, and one of the adver-
tised products with its corresponding discount.
Fig. 1. Black Friday in Amazon.co.uk.
4
Objectives
 Alternative implementation for Web Applications with VFs
 Efficient support for the management of VFs
 Analysis of possible methods and techniques for the implementation
with different technologies
 Development of prototypes
 Assessment
5
VF Framework
 Conceptual and technological Framework
 Permits to improve the lifespan of VFs in Web Applications
 Automates the processes of activation and deactivation of VFs
 Based on two main principles
 Decoupling of VFs from the original application
 Possibility to schedule the activation and deactivation of VFs
6
Our approach - key concepts
7
Features required for
supporting VF approach
 Weaving approach
 Business model enhancement
 Navigation model enhancement
 Presentation model enhancement
 Lifespan management
8
Weaving approach
 Transparent seamless integration between Core Application and VFs
Weaving mechanism
9
Weaving approach
Strategy Applicability
conditions
Implementation
example
Static Static type binding Maven
Dynamic Dynamic type binding Reflection
 Alternatives
10
Business model enhancement
 Injection of variables and relationships
 Object-Relational Mapping (ORM of variables and relationships)
 Injection of methods
 Modification of methods
11
Navigation model
enhancement
 Injection of dependencies
 Injection of methods
 Modification of methods
12
Business & Navigation model
enhancement
Strategy Applicability
conditions
Implementation
example
Aspect-Oriented
Programming (AOP)
Methods interception AspectJ, PHANtom
Regex modifications Interpreted code
execution
Pharo native support
 Alternatives
13
SALE VF ACTIVATED
Presentation model
enhancement
 Visualization of modifications dependent on VF’s state
14
SALE VF DEACTIVATED
Presentation model
enhancement
 Visualization of modifications dependent on VF’s state
15
Presentation model
enhancement
Strategy Applicability
conditions
Implementation
example
Documents
transformation
Document-based UI XSLT
Aspect-Oriented
Programming (AOP)
Methods interception AspectJ, PHANtom
Regex modifications Interpreted code
execution
Pharo native support
 Alternatives
16
Lifespan management
 Events scheduling
 Temporal events
 Business events
 Temporal business events
Event scheduler
17
Lifespan management
 Events scheduling
 Temporal events
 Business events
 Temporal business events Activate on
10/06/2016 12:00 AM
Event scheduler
18
Lifespan management
 Events scheduling
 Temporal events
 Business events
 Temporal business events
Event scheduler
Deactivate when
productA.stock = 0
19
Lifespan management
 Events scheduling
 Temporal events
 Business events
 Temporal business events
Event scheduler
Activate on
10/06/2016 12:00 AM
when
productB.stock < 100
20
Lifespan management
Strategy Applicability
conditions
Implementation
example
Rules-engine based Mature enterprise
solutions
Drools
Scheduler and AOP
based
Restricted development
kit
Quartz
 Alternatives
21
Smalltalk prototype
 Sushi store Web Application sample with two VFs:
 Discount
 3x2 promotion
 Implementation:
 Weaving approach: Dynamic weaving with Reflection
 Business & Navigation model enhancement: AOP with PHANtom & Regex
modifications
 Presentation model enhancement: Regex modifications
 Lifespan management: Scheduler and AOP based
 White box Framework for VFs management
22
Java Prototype
 Hotel booking Web Application sample with two VFs:
 Long weekend promotion
 Notification
 Implementation:
 Weaving approach: Static weaving with Maven
 Business & Navigation model enhancement: AOP with AspectJ
 Presentation model enhancement: Documents transformation with XSLT
 Lifespan management: Drools rules engine
23
Assessment experiment
 Assess software quality and developers’ perception of the
development process for VFs removal
 VF approach vs. Ad-hoc approach
 Independent groups of participants
 Ad-hoc approach: 17
 VF approach: 14
24
Assessment results
 a) Is Ad-hoc approach more prone to have application external quality
issues?
76%
0%
Ad-hoc approach VF approach
Users that left perceivable changes
25
Assessment results
 b) Is application’s internal quality more negatively affected by Ad-hoc
approach than VF approach?
94.1%
0%
Ad-hoc approach VF approach
Users that left unnatended changes
at model and controller layers
26
Assessment results
 c) Does VF approach requires less time than Ad-hoc approach?
5h 12min
54 min
Ad-hoc approach VF approach
Average time
27
Assessment results
 d) Is the developers’ confidence affected by VF approach?
14%
29%57%
VF approach is … than Ad-hoc
approach (*)
Less stable Equally stable More stable
(*) Answered just by VF approach group
28
Assessment results
 d) Is the developers’ confidence affected by VF approach?
10 or more
1
Ad-hoc approach VF approach
Average testing cycles required
29
Conclusions
 Clear need to count with an alternative to deal with the emergence of VFs
within Web Applications
 The proposed approach provides solutions to cover the whole life-cycle of
VFs in Web applications
 VF approach can be useful and applied in a wide range of applications
 VF Framework has been taken into practice and has been satisfactorily
proved with the implementation of prototypes
 The use of VF Framework during the experiment showed to:
 Avoid introducing errors
 Save time and effort
 Improve the developers’ experience
 Be accepted by impartial developers
30
Future work
 Development of more prototypes with different technologies
 Deeper analysis on the impact of VFs on persistence layer and
database
 Consolidation of a solid and mature Framework that can be positioned
and used by the community
 Implementation of tools for users to create their own activation and
deactivation rules easily
31
Q & A

More Related Content

What's hot

A GQM plan for the evaluation of the trustworthiness of open-source software
A GQM plan for the evaluation of the trustworthiness of open-source softwareA GQM plan for the evaluation of the trustworthiness of open-source software
A GQM plan for the evaluation of the trustworthiness of open-source softwareDavide Taibi
 
Rethinking product lifecycle curves to fight commoditization
Rethinking product lifecycle curves to fight commoditizationRethinking product lifecycle curves to fight commoditization
Rethinking product lifecycle curves to fight commoditizationThomas Emrich
 
Lean Venture Series - Stage 2 Lesson 4 slides
Lean Venture Series - Stage 2 Lesson 4 slides Lean Venture Series - Stage 2 Lesson 4 slides
Lean Venture Series - Stage 2 Lesson 4 slides Joan Divor
 
Open Bqr an Open Framework for the assessment of Open Source Software
Open Bqr an Open Framework for the assessment of Open Source SoftwareOpen Bqr an Open Framework for the assessment of Open Source Software
Open Bqr an Open Framework for the assessment of Open Source SoftwareDavide Taibi
 
The Golden Rules for Managing Large Testing Initiatives
The Golden Rules for Managing Large Testing InitiativesThe Golden Rules for Managing Large Testing Initiatives
The Golden Rules for Managing Large Testing InitiativesTechWell
 
Increasing business success with TPI NEXT and PointZERO
Increasing business success with TPI NEXT and PointZEROIncreasing business success with TPI NEXT and PointZERO
Increasing business success with TPI NEXT and PointZERORik Marselis
 
Assignment 1 marking crtieria
Assignment 1 marking crtieriaAssignment 1 marking crtieria
Assignment 1 marking crtieriazohaibabbas38
 
What is AB Testing? A Beginner's Guide
What is AB Testing? A Beginner's GuideWhat is AB Testing? A Beginner's Guide
What is AB Testing? A Beginner's GuidePPCexpo
 

What's hot (8)

A GQM plan for the evaluation of the trustworthiness of open-source software
A GQM plan for the evaluation of the trustworthiness of open-source softwareA GQM plan for the evaluation of the trustworthiness of open-source software
A GQM plan for the evaluation of the trustworthiness of open-source software
 
Rethinking product lifecycle curves to fight commoditization
Rethinking product lifecycle curves to fight commoditizationRethinking product lifecycle curves to fight commoditization
Rethinking product lifecycle curves to fight commoditization
 
Lean Venture Series - Stage 2 Lesson 4 slides
Lean Venture Series - Stage 2 Lesson 4 slides Lean Venture Series - Stage 2 Lesson 4 slides
Lean Venture Series - Stage 2 Lesson 4 slides
 
Open Bqr an Open Framework for the assessment of Open Source Software
Open Bqr an Open Framework for the assessment of Open Source SoftwareOpen Bqr an Open Framework for the assessment of Open Source Software
Open Bqr an Open Framework for the assessment of Open Source Software
 
The Golden Rules for Managing Large Testing Initiatives
The Golden Rules for Managing Large Testing InitiativesThe Golden Rules for Managing Large Testing Initiatives
The Golden Rules for Managing Large Testing Initiatives
 
Increasing business success with TPI NEXT and PointZERO
Increasing business success with TPI NEXT and PointZEROIncreasing business success with TPI NEXT and PointZERO
Increasing business success with TPI NEXT and PointZERO
 
Assignment 1 marking crtieria
Assignment 1 marking crtieriaAssignment 1 marking crtieria
Assignment 1 marking crtieria
 
What is AB Testing? A Beginner's Guide
What is AB Testing? A Beginner's GuideWhat is AB Testing? A Beginner's Guide
What is AB Testing? A Beginner's Guide
 

Similar to Volatile Functionality in Action: Methods, Techniques and Assessment

Managing Accessibility Compliance in the Enterprise
Managing Accessibility Compliance in the EnterpriseManaging Accessibility Compliance in the Enterprise
Managing Accessibility Compliance in the EnterpriseKarl Groves
 
Critical steps in Determining Your Value Stream Management Solution
Critical steps in Determining Your Value Stream Management SolutionCritical steps in Determining Your Value Stream Management Solution
Critical steps in Determining Your Value Stream Management SolutionDevOps.com
 
Dev ops I Best Practices I NuggetHub
Dev ops I Best Practices I NuggetHubDev ops I Best Practices I NuggetHub
Dev ops I Best Practices I NuggetHubRichardNowack
 
Om0013 advanced production and operations management
Om0013   advanced production and operations managementOm0013   advanced production and operations management
Om0013 advanced production and operations managementsmumbahelp
 
Aginext 2021: Built-in Quality - How agile coaches can contribute
Aginext 2021: Built-in Quality - How agile coaches can contributeAginext 2021: Built-in Quality - How agile coaches can contribute
Aginext 2021: Built-in Quality - How agile coaches can contributeDerk-Jan de Grood
 
A Method for Evaluating End-User Development Technologies
A Method for Evaluating End-User Development TechnologiesA Method for Evaluating End-User Development Technologies
A Method for Evaluating End-User Development TechnologiesClaudia Melo
 
Majestic MRSS Usability Engineering
Majestic MRSS Usability EngineeringMajestic MRSS Usability Engineering
Majestic MRSS Usability EngineeringMajestic MRSS
 
Manoj Kolhe - Testing in Agile Environment
Manoj Kolhe - Testing in Agile EnvironmentManoj Kolhe - Testing in Agile Environment
Manoj Kolhe - Testing in Agile EnvironmentManoj Kolhe
 
Beyond Simple A/B testing
Beyond Simple A/B testingBeyond Simple A/B testing
Beyond Simple A/B testingRatio
 
ManageEngine - Forrester Webinar: Maximize your application performance to en...
ManageEngine - Forrester Webinar: Maximize your application performance to en...ManageEngine - Forrester Webinar: Maximize your application performance to en...
ManageEngine - Forrester Webinar: Maximize your application performance to en...ManageEngine
 
Some practical considerations and a
Some practical considerations and aSome practical considerations and a
Some practical considerations and aijseajournal
 
DOES14 - John Kosco - Blue Agility - Discover How to Improve Productivity by ...
DOES14 - John Kosco - Blue Agility - Discover How to Improve Productivity by ...DOES14 - John Kosco - Blue Agility - Discover How to Improve Productivity by ...
DOES14 - John Kosco - Blue Agility - Discover How to Improve Productivity by ...Gene Kim
 
MMRSS Usability Engineering
MMRSS Usability EngineeringMMRSS Usability Engineering
MMRSS Usability EngineeringMajesticMRSS
 
Addressing The Challenges Of Testing Soa Based Applications From AppLabs
Addressing The Challenges Of Testing Soa Based Applications From AppLabsAddressing The Challenges Of Testing Soa Based Applications From AppLabs
Addressing The Challenges Of Testing Soa Based Applications From AppLabsVIJAYA BHASKARA VARMA YARAKARAJU
 
Successfully Achieving And Delivering Results Through Rigorous Project Select...
Successfully Achieving And Delivering ResultsThrough Rigorous Project Select...Successfully Achieving And Delivering ResultsThrough Rigorous Project Select...
Successfully Achieving And Delivering Results Through Rigorous Project Select...shawncarner
 

Similar to Volatile Functionality in Action: Methods, Techniques and Assessment (20)

Managing Accessibility Compliance in the Enterprise
Managing Accessibility Compliance in the EnterpriseManaging Accessibility Compliance in the Enterprise
Managing Accessibility Compliance in the Enterprise
 
Critical steps in Determining Your Value Stream Management Solution
Critical steps in Determining Your Value Stream Management SolutionCritical steps in Determining Your Value Stream Management Solution
Critical steps in Determining Your Value Stream Management Solution
 
Application Sustainability Assessment Framework within the Canada Revenue Ag...
Application Sustainability Assessment Framework within the Canada Revenue Ag...Application Sustainability Assessment Framework within the Canada Revenue Ag...
Application Sustainability Assessment Framework within the Canada Revenue Ag...
 
Dev ops I Best Practices I NuggetHub
Dev ops I Best Practices I NuggetHubDev ops I Best Practices I NuggetHub
Dev ops I Best Practices I NuggetHub
 
Om0013 advanced production and operations management
Om0013   advanced production and operations managementOm0013   advanced production and operations management
Om0013 advanced production and operations management
 
Slcm sharbani bhattacharya
Slcm sharbani bhattacharyaSlcm sharbani bhattacharya
Slcm sharbani bhattacharya
 
Online testing strategy
Online testing strategyOnline testing strategy
Online testing strategy
 
Aginext 2021: Built-in Quality - How agile coaches can contribute
Aginext 2021: Built-in Quality - How agile coaches can contributeAginext 2021: Built-in Quality - How agile coaches can contribute
Aginext 2021: Built-in Quality - How agile coaches can contribute
 
RUP
RUPRUP
RUP
 
A Method for Evaluating End-User Development Technologies
A Method for Evaluating End-User Development TechnologiesA Method for Evaluating End-User Development Technologies
A Method for Evaluating End-User Development Technologies
 
Majestic MRSS Usability Engineering
Majestic MRSS Usability EngineeringMajestic MRSS Usability Engineering
Majestic MRSS Usability Engineering
 
Manoj Kolhe - Testing in Agile Environment
Manoj Kolhe - Testing in Agile EnvironmentManoj Kolhe - Testing in Agile Environment
Manoj Kolhe - Testing in Agile Environment
 
Sdpl1
Sdpl1Sdpl1
Sdpl1
 
Beyond Simple A/B testing
Beyond Simple A/B testingBeyond Simple A/B testing
Beyond Simple A/B testing
 
ManageEngine - Forrester Webinar: Maximize your application performance to en...
ManageEngine - Forrester Webinar: Maximize your application performance to en...ManageEngine - Forrester Webinar: Maximize your application performance to en...
ManageEngine - Forrester Webinar: Maximize your application performance to en...
 
Some practical considerations and a
Some practical considerations and aSome practical considerations and a
Some practical considerations and a
 
DOES14 - John Kosco - Blue Agility - Discover How to Improve Productivity by ...
DOES14 - John Kosco - Blue Agility - Discover How to Improve Productivity by ...DOES14 - John Kosco - Blue Agility - Discover How to Improve Productivity by ...
DOES14 - John Kosco - Blue Agility - Discover How to Improve Productivity by ...
 
MMRSS Usability Engineering
MMRSS Usability EngineeringMMRSS Usability Engineering
MMRSS Usability Engineering
 
Addressing The Challenges Of Testing Soa Based Applications From AppLabs
Addressing The Challenges Of Testing Soa Based Applications From AppLabsAddressing The Challenges Of Testing Soa Based Applications From AppLabs
Addressing The Challenges Of Testing Soa Based Applications From AppLabs
 
Successfully Achieving And Delivering Results Through Rigorous Project Select...
Successfully Achieving And Delivering ResultsThrough Rigorous Project Select...Successfully Achieving And Delivering ResultsThrough Rigorous Project Select...
Successfully Achieving And Delivering Results Through Rigorous Project Select...
 

Recently uploaded

Motivation and Theory Maslow and Murray pdf
Motivation and Theory Maslow and Murray pdfMotivation and Theory Maslow and Murray pdf
Motivation and Theory Maslow and Murray pdfakankshagupta7348026
 
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara ServicesVVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara ServicesPooja Nehwal
 
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...Salam Al-Karadaghi
 
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024eCommerce Institute
 
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...NETWAYS
 
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...Sheetaleventcompany
 
CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...
CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...
CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...henrik385807
 
SaaStr Workshop Wednesday w: Jason Lemkin, SaaStr
SaaStr Workshop Wednesday w: Jason Lemkin, SaaStrSaaStr Workshop Wednesday w: Jason Lemkin, SaaStr
SaaStr Workshop Wednesday w: Jason Lemkin, SaaStrsaastr
 
Genesis part 2 Isaiah Scudder 04-24-2024.pptx
Genesis part 2 Isaiah Scudder 04-24-2024.pptxGenesis part 2 Isaiah Scudder 04-24-2024.pptx
Genesis part 2 Isaiah Scudder 04-24-2024.pptxFamilyWorshipCenterD
 
Russian Call Girls in Kolkata Vaishnavi 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Vaishnavi 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Vaishnavi 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Vaishnavi 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 
Microsoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AIMicrosoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AITatiana Gurgel
 
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night EnjoyCall Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night EnjoyPooja Nehwal
 
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...NETWAYS
 
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...Pooja Nehwal
 
Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...
Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...
Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...Krijn Poppe
 
Philippine History cavite Mutiny Report.ppt
Philippine History cavite Mutiny Report.pptPhilippine History cavite Mutiny Report.ppt
Philippine History cavite Mutiny Report.pptssuser319dad
 
Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝
Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝
Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝soniya singh
 
George Lever - eCommerce Day Chile 2024
George Lever -  eCommerce Day Chile 2024George Lever -  eCommerce Day Chile 2024
George Lever - eCommerce Day Chile 2024eCommerce Institute
 
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...Hasting Chen
 
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...NETWAYS
 

Recently uploaded (20)

Motivation and Theory Maslow and Murray pdf
Motivation and Theory Maslow and Murray pdfMotivation and Theory Maslow and Murray pdf
Motivation and Theory Maslow and Murray pdf
 
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara ServicesVVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
 
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
 
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
 
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...
 
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
 
CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...
CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...
CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...
 
SaaStr Workshop Wednesday w: Jason Lemkin, SaaStr
SaaStr Workshop Wednesday w: Jason Lemkin, SaaStrSaaStr Workshop Wednesday w: Jason Lemkin, SaaStr
SaaStr Workshop Wednesday w: Jason Lemkin, SaaStr
 
Genesis part 2 Isaiah Scudder 04-24-2024.pptx
Genesis part 2 Isaiah Scudder 04-24-2024.pptxGenesis part 2 Isaiah Scudder 04-24-2024.pptx
Genesis part 2 Isaiah Scudder 04-24-2024.pptx
 
Russian Call Girls in Kolkata Vaishnavi 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Vaishnavi 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Vaishnavi 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Vaishnavi 🤌 8250192130 🚀 Vip Call Girls Kolkata
 
Microsoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AIMicrosoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AI
 
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night EnjoyCall Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
 
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
 
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...
 
Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...
Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...
Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...
 
Philippine History cavite Mutiny Report.ppt
Philippine History cavite Mutiny Report.pptPhilippine History cavite Mutiny Report.ppt
Philippine History cavite Mutiny Report.ppt
 
Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝
Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝
Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝
 
George Lever - eCommerce Day Chile 2024
George Lever -  eCommerce Day Chile 2024George Lever -  eCommerce Day Chile 2024
George Lever - eCommerce Day Chile 2024
 
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
 
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...
 

Volatile Functionality in Action: Methods, Techniques and Assessment

  • 1. 1 Darian Frajberg, Politecnico di Milano - Italy Matías Urbieta, University of La Plata - Argentina Gustavo Rossi, University of La Plata - Argentina Wieland Schwinger, Johannes Kepler University - Austria Volatile Functionality in Action: Methods, Techniques and Assessment
  • 2. 2 Introduction and motivation  Continuous evolution and dynamism of current Web Applications  Emergence of new requirements after deployment within maintenance stage  Emergent functionalities  Permanent functionalities  Volatile functionalities (VFs)  Impact of incorporation and removal of VFs during maintenance phase  Code quality  Times  Costs
  • 3. 3 Example - Black Friday in Amazon and the same marketing strategy has been adopted for other promotion such as Cyber Monday case. Figure 1 shows the “Black Friday” promotions. On top of the image you can see several Black Friday banners notifying the availability of promotions. In the middle, there is a carousel showing products that have big discounts. Finally, there is another banner with the remaining time for the promotion, and one of the adver- tised products with its corresponding discount. Fig. 1. Black Friday in Amazon.co.uk.
  • 4. 4 Objectives  Alternative implementation for Web Applications with VFs  Efficient support for the management of VFs  Analysis of possible methods and techniques for the implementation with different technologies  Development of prototypes  Assessment
  • 5. 5 VF Framework  Conceptual and technological Framework  Permits to improve the lifespan of VFs in Web Applications  Automates the processes of activation and deactivation of VFs  Based on two main principles  Decoupling of VFs from the original application  Possibility to schedule the activation and deactivation of VFs
  • 6. 6 Our approach - key concepts
  • 7. 7 Features required for supporting VF approach  Weaving approach  Business model enhancement  Navigation model enhancement  Presentation model enhancement  Lifespan management
  • 8. 8 Weaving approach  Transparent seamless integration between Core Application and VFs Weaving mechanism
  • 9. 9 Weaving approach Strategy Applicability conditions Implementation example Static Static type binding Maven Dynamic Dynamic type binding Reflection  Alternatives
  • 10. 10 Business model enhancement  Injection of variables and relationships  Object-Relational Mapping (ORM of variables and relationships)  Injection of methods  Modification of methods
  • 11. 11 Navigation model enhancement  Injection of dependencies  Injection of methods  Modification of methods
  • 12. 12 Business & Navigation model enhancement Strategy Applicability conditions Implementation example Aspect-Oriented Programming (AOP) Methods interception AspectJ, PHANtom Regex modifications Interpreted code execution Pharo native support  Alternatives
  • 13. 13 SALE VF ACTIVATED Presentation model enhancement  Visualization of modifications dependent on VF’s state
  • 14. 14 SALE VF DEACTIVATED Presentation model enhancement  Visualization of modifications dependent on VF’s state
  • 15. 15 Presentation model enhancement Strategy Applicability conditions Implementation example Documents transformation Document-based UI XSLT Aspect-Oriented Programming (AOP) Methods interception AspectJ, PHANtom Regex modifications Interpreted code execution Pharo native support  Alternatives
  • 16. 16 Lifespan management  Events scheduling  Temporal events  Business events  Temporal business events Event scheduler
  • 17. 17 Lifespan management  Events scheduling  Temporal events  Business events  Temporal business events Activate on 10/06/2016 12:00 AM Event scheduler
  • 18. 18 Lifespan management  Events scheduling  Temporal events  Business events  Temporal business events Event scheduler Deactivate when productA.stock = 0
  • 19. 19 Lifespan management  Events scheduling  Temporal events  Business events  Temporal business events Event scheduler Activate on 10/06/2016 12:00 AM when productB.stock < 100
  • 20. 20 Lifespan management Strategy Applicability conditions Implementation example Rules-engine based Mature enterprise solutions Drools Scheduler and AOP based Restricted development kit Quartz  Alternatives
  • 21. 21 Smalltalk prototype  Sushi store Web Application sample with two VFs:  Discount  3x2 promotion  Implementation:  Weaving approach: Dynamic weaving with Reflection  Business & Navigation model enhancement: AOP with PHANtom & Regex modifications  Presentation model enhancement: Regex modifications  Lifespan management: Scheduler and AOP based  White box Framework for VFs management
  • 22. 22 Java Prototype  Hotel booking Web Application sample with two VFs:  Long weekend promotion  Notification  Implementation:  Weaving approach: Static weaving with Maven  Business & Navigation model enhancement: AOP with AspectJ  Presentation model enhancement: Documents transformation with XSLT  Lifespan management: Drools rules engine
  • 23. 23 Assessment experiment  Assess software quality and developers’ perception of the development process for VFs removal  VF approach vs. Ad-hoc approach  Independent groups of participants  Ad-hoc approach: 17  VF approach: 14
  • 24. 24 Assessment results  a) Is Ad-hoc approach more prone to have application external quality issues? 76% 0% Ad-hoc approach VF approach Users that left perceivable changes
  • 25. 25 Assessment results  b) Is application’s internal quality more negatively affected by Ad-hoc approach than VF approach? 94.1% 0% Ad-hoc approach VF approach Users that left unnatended changes at model and controller layers
  • 26. 26 Assessment results  c) Does VF approach requires less time than Ad-hoc approach? 5h 12min 54 min Ad-hoc approach VF approach Average time
  • 27. 27 Assessment results  d) Is the developers’ confidence affected by VF approach? 14% 29%57% VF approach is … than Ad-hoc approach (*) Less stable Equally stable More stable (*) Answered just by VF approach group
  • 28. 28 Assessment results  d) Is the developers’ confidence affected by VF approach? 10 or more 1 Ad-hoc approach VF approach Average testing cycles required
  • 29. 29 Conclusions  Clear need to count with an alternative to deal with the emergence of VFs within Web Applications  The proposed approach provides solutions to cover the whole life-cycle of VFs in Web applications  VF approach can be useful and applied in a wide range of applications  VF Framework has been taken into practice and has been satisfactorily proved with the implementation of prototypes  The use of VF Framework during the experiment showed to:  Avoid introducing errors  Save time and effort  Improve the developers’ experience  Be accepted by impartial developers
  • 30. 30 Future work  Development of more prototypes with different technologies  Deeper analysis on the impact of VFs on persistence layer and database  Consolidation of a solid and mature Framework that can be positioned and used by the community  Implementation of tools for users to create their own activation and deactivation rules easily