SlideShare a Scribd company logo
1 of 36
Download to read offline
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
Delft University of Technology
ICSE 2017
International Conference on
Software Engineering UNIVERSITÀ DEGLI STUDI
DI SALERNO
Recommending and Localizing
Change Requests
for Mobile Apps based on User Reviews
Fabio Palomba1, Pasquale Salza2, Adelina Ciurumelea3, Sebastiano Panichella3
Harald Gall3, Filomena Ferrucci2, Andrea De Lucia2
1Delft University of Technology, 2University of Salerno, 3University of Zurich
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
Apps everywhere
Over 2 billions people rely on 5
millions of mobile apps for
social and emergency
connectivity
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
Apps are software too
Short period releases
User reviews on the stores
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
User reviews are useful…
Other than non informative content, they contain
important pieces of information
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
Reading all of them is an effort-prone task
…but they are too many!
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
The State-of-the-Art
But, it is not possible to:
1. Extract only the useful information hidden behind
different user reviews
2. Group together fine-grained information
3. Understand the actual impact of each change
request
SURF CLAP
Summarizes user reviews Prioritizes user reviews
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
ChangeAdvisor
Transforms user reviews in change requests
and localises them within the source code
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
ChangeAdvisor
JAVA
JAVA
JAVA
JAVA
Parser
ARdoc
HDP-LDADice Indexer
Source code
Feedback clusters
Code components
Filter
Feedback
preprocessing
Source code
preprocessing
Problem discovery and
Feature requests
Classified feedback
Ranked list
(cluster/component)
Reviews
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
JAVA
JAVA
JAVA
JAVA
Parser
ARdoc
Source code Code components
Filter
Source code
preprocessing
Classified feedbackReviews
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
Extraction of a bag of words for each class
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
JAVA
JAVA
JAVA
JAVA
Parser
ARdoc
Dice Indexer
Source code Code components
S
pr
Classified feedbackReviews
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
Extraction and classification of user feedback
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
HDice Indexer
Code components
Filter
F
pre
Source code
preprocessing
Problem discovery and
Feature requests
Classified feedback
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
Filtering of change requests
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
HDP-LDAexer
Feedback clusters
Filter
Feedback
preprocessing
Source code
preprocessing
Problem discovery and
Feature requests
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
Grouping similar
user needs
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
ARdoc
Dice Indexer
Feedback clusters
Filter
Problem discovery and
Feature requests
Classified feedback
Ranked list
(cluster/component)
iews
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
Code components
Linking feedback to components
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
Empirical Study
10 open source apps
13,510 feedback
4,138 classes
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
RQ1
Does ChangeAdvisor identify cohesive
user feedback clusters representing
related change requests?
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
Clusters evaluation
We asked the experts to rate the
cohesiveness of clusters using a
Likert scale
5+ years experience
4
3
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
Results
Overall median = 4
Overall max = 5
8.2 clusters/app
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
RQ2
Does ChangeAdvisor correctly
link user feedback clusters to
source code components and
how does it compare with the
state-of-the-art?
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
Oracle definition
We asked the experts to define the
link between clusters and classes
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
Links evaluation
We measured the
accuracy of
ChangeAdvisor using
precision and recall
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
Comparison
We exploited BLUiR
that links bug reports
to classes using the
Vector Space Model
BLUiR
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
Results
ChangeAdvisor
Precision = 81 %
Recall = 70 %
BLUiR
Precision = 34 %
Recall = 32 %
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
Overlap analysis
ChangeAdvisor BLUiR
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
Number of links correctly identified by one approach and
missed by the other
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
Overlap analysis
ChangeAdvisor
BLUiR
72 % 5 %23 %
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
Are the suggestions
provided by ChangeAdvisor
actually useful for
developers?
RQ3
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
Surveying developers
Cohesiveness. How well are the user
reviews grouped according to the
number of source code components
that need to be modified?
Precision. How well do the proposed
classes match the actual set of those
needed to be changed in order to satisfy
the user requests?
Completeness. Evaluate the
completeness of the set of classes
suggested compared to the actual set
of those needed to be modified
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
Results
Cohesiveness = high Precision = very high Completeness = very high
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
Results
I know what changes I
have to make in my app
when implementing a
change. However, a tool
like this may help in
quantifying the number of
classes to be modified.
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
Future directions
• Extend the study involving
more apps and developers
• Improve our approach to
prioritize user feedback
based on the number of
classes to be modified
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
One more thing…
http://bit.ly/2r5GzMq
ChangeAdvisor
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
NLP steps
1. Spelling correction
2. Contractions expansion
3. Nouns and verbs filtering
4. Tokenization
5. Singularization
6. Stopword removal
7. Stemming
8. Repetitions removal
9. Short tokens removal
10.Short tokens removal
11.Short documents
removal
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
Dice similarity
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
Characteristics of the apps in the dataset
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
Evaluation of the clusters cohesiveness
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
ChangeAdvisor vs BLUiR
May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
ICSE 2017
Surveys results

More Related Content

Similar to Recommending and Localizing Change Requests for Mobile Apps based on User Reviews

· define the terms sample and population and describe some of
· define the terms sample and population and describe some of · define the terms sample and population and describe some of
· define the terms sample and population and describe some of
LesleyWhitesidefv
 

Similar to Recommending and Localizing Change Requests for Mobile Apps based on User Reviews (20)

UX, Conversion: Optimization of a medical app (Aptus Health - Appdays 2017)
UX, Conversion: Optimization of a medical app (Aptus Health - Appdays 2017)UX, Conversion: Optimization of a medical app (Aptus Health - Appdays 2017)
UX, Conversion: Optimization of a medical app (Aptus Health - Appdays 2017)
 
3 Steps to Expand DevOps and Automation Throughout the Enterprise
3 Steps to Expand DevOps and Automation Throughout the Enterprise3 Steps to Expand DevOps and Automation Throughout the Enterprise
3 Steps to Expand DevOps and Automation Throughout the Enterprise
 
Same App, Different App Stores: A comparative Study
Same App, Different App Stores: A comparative StudySame App, Different App Stores: A comparative Study
Same App, Different App Stores: A comparative Study
 
Mobile marketing techniques
Mobile marketing techniquesMobile marketing techniques
Mobile marketing techniques
 
Mobile App Developers Dubai
Mobile App Developers DubaiMobile App Developers Dubai
Mobile App Developers Dubai
 
Android Interview Questions And Answers | Android Tutorial | Android Online T...
Android Interview Questions And Answers | Android Tutorial | Android Online T...Android Interview Questions And Answers | Android Tutorial | Android Online T...
Android Interview Questions And Answers | Android Tutorial | Android Online T...
 
Scaling DevOps - delivering on the promise of business velocity and quality
Scaling DevOps - delivering on the promise of business velocity and qualityScaling DevOps - delivering on the promise of business velocity and quality
Scaling DevOps - delivering on the promise of business velocity and quality
 
Iceemas 119- state of art of metrics of aspect oriented programming
Iceemas 119- state of art of metrics of aspect oriented programmingIceemas 119- state of art of metrics of aspect oriented programming
Iceemas 119- state of art of metrics of aspect oriented programming
 
Agile IT: Modern Architecture for Rapid Mobile App Development
Agile IT: Modern Architecture for Rapid Mobile App DevelopmentAgile IT: Modern Architecture for Rapid Mobile App Development
Agile IT: Modern Architecture for Rapid Mobile App Development
 
ATAGTR2017 Machine Learning telepathy for Shift Right approach of testing
ATAGTR2017 Machine Learning telepathy for Shift Right approach of testingATAGTR2017 Machine Learning telepathy for Shift Right approach of testing
ATAGTR2017 Machine Learning telepathy for Shift Right approach of testing
 
How to optimize the mobile experience - with insights
How to optimize the mobile experience - with insightsHow to optimize the mobile experience - with insights
How to optimize the mobile experience - with insights
 
SLAS 2017 - "Multiple Research Platforms: One Single Data Sharing Portal"
SLAS 2017 - "Multiple Research Platforms:  One Single Data Sharing Portal"SLAS 2017 - "Multiple Research Platforms:  One Single Data Sharing Portal"
SLAS 2017 - "Multiple Research Platforms: One Single Data Sharing Portal"
 
Kurogo Higher Ed Mobile Conference 2017: Streamlining The Mobile Experience: ...
Kurogo Higher Ed Mobile Conference 2017: Streamlining The Mobile Experience: ...Kurogo Higher Ed Mobile Conference 2017: Streamlining The Mobile Experience: ...
Kurogo Higher Ed Mobile Conference 2017: Streamlining The Mobile Experience: ...
 
So you want to build an app
So you want to build an appSo you want to build an app
So you want to build an app
 
Workshop on android apps development
Workshop on android apps developmentWorkshop on android apps development
Workshop on android apps development
 
· define the terms sample and population and describe some of
· define the terms sample and population and describe some of · define the terms sample and population and describe some of
· define the terms sample and population and describe some of
 
Sentiment analysis in Twitter on Big Data
Sentiment analysis in Twitter on Big DataSentiment analysis in Twitter on Big Data
Sentiment analysis in Twitter on Big Data
 
mobile enterprise platform chatbots
mobile enterprise platform chatbotsmobile enterprise platform chatbots
mobile enterprise platform chatbots
 
Calling all Developers: Building Connections Apps and Integrating with Pink
Calling all Developers: Building Connections Apps and Integrating with PinkCalling all Developers: Building Connections Apps and Integrating with Pink
Calling all Developers: Building Connections Apps and Integrating with Pink
 
What Is The Mobile App Development Cost In India.pdf
What Is The Mobile App Development Cost In India.pdfWhat Is The Mobile App Development Cost In India.pdf
What Is The Mobile App Development Cost In India.pdf
 

More from Pasquale Salza

Do Developers Update
 Third-Party Libraries in Mobile Apps?
Do Developers Update
 Third-Party Libraries in Mobile Apps?Do Developers Update
 Third-Party Libraries in Mobile Apps?
Do Developers Update
 Third-Party Libraries in Mobile Apps?
Pasquale Salza
 
Parallel Genetic Algorithms in the Cloud
Parallel Genetic Algorithms in the CloudParallel Genetic Algorithms in the Cloud
Parallel Genetic Algorithms in the Cloud
Pasquale Salza
 

More from Pasquale Salza (6)

Do Developers Update
 Third-Party Libraries in Mobile Apps?
Do Developers Update
 Third-Party Libraries in Mobile Apps?Do Developers Update
 Third-Party Libraries in Mobile Apps?
Do Developers Update
 Third-Party Libraries in Mobile Apps?
 
A Framework for Genetic Algorithms Based on Hadoop
A Framework for Genetic Algorithms Based on HadoopA Framework for Genetic Algorithms Based on Hadoop
A Framework for Genetic Algorithms Based on Hadoop
 
Parallel Genetic Algorithms in the Cloud
Parallel Genetic Algorithms in the CloudParallel Genetic Algorithms in the Cloud
Parallel Genetic Algorithms in the Cloud
 
elephant56: Design and Implementation of a Parallel Genetic Algorithms Framew...
elephant56: Design and Implementation of a Parallel Genetic Algorithms Framew...elephant56: Design and Implementation of a Parallel Genetic Algorithms Framew...
elephant56: Design and Implementation of a Parallel Genetic Algorithms Framew...
 
COSMIC Functional Measurement of Mobile Applications and Code Size Estimation
COSMIC Functional Measurement of Mobile Applications and Code Size EstimationCOSMIC Functional Measurement of Mobile Applications and Code Size Estimation
COSMIC Functional Measurement of Mobile Applications and Code Size Estimation
 
UniSa Pursuit: A Location-Based Game for the University of Salerno
UniSa Pursuit: A Location-Based Game for the University of SalernoUniSa Pursuit: A Location-Based Game for the University of Salerno
UniSa Pursuit: A Location-Based Game for the University of Salerno
 

Recently uploaded

Unlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven Curiosity
Unlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven CuriosityUnlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven Curiosity
Unlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven Curiosity
Hung Le
 
Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...
Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...
Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...
ZurliaSoop
 
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
amilabibi1
 
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
David Celestin
 
Uncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoUncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac Folorunso
Kayode Fayemi
 

Recently uploaded (17)

in kuwait௹+918133066128....) @abortion pills for sale in Kuwait City
in kuwait௹+918133066128....) @abortion pills for sale in Kuwait Cityin kuwait௹+918133066128....) @abortion pills for sale in Kuwait City
in kuwait௹+918133066128....) @abortion pills for sale in Kuwait City
 
Unlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven Curiosity
Unlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven CuriosityUnlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven Curiosity
Unlocking Exploration: Self-Motivated Agents Thrive on Memory-Driven Curiosity
 
lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.
 
Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...
Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...
Jual obat aborsi Jakarta 085657271886 Cytote pil telat bulan penggugur kandun...
 
Dreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video TreatmentDreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video Treatment
 
Report Writing Webinar Training
Report Writing Webinar TrainingReport Writing Webinar Training
Report Writing Webinar Training
 
My Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle BaileyMy Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle Bailey
 
Introduction to Artificial intelligence.
Introduction to Artificial intelligence.Introduction to Artificial intelligence.
Introduction to Artificial intelligence.
 
Digital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of DrupalDigital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of Drupal
 
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
 
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdfAWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
 
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
 
Uncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoUncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac Folorunso
 
ICT role in 21st century education and it's challenges.pdf
ICT role in 21st century education and it's challenges.pdfICT role in 21st century education and it's challenges.pdf
ICT role in 21st century education and it's challenges.pdf
 
Zone Chairperson Role and Responsibilities New updated.pptx
Zone Chairperson Role and Responsibilities New updated.pptxZone Chairperson Role and Responsibilities New updated.pptx
Zone Chairperson Role and Responsibilities New updated.pptx
 
Dreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio IIIDreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio III
 
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdfSOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
 

Recommending and Localizing Change Requests for Mobile Apps based on User Reviews

  • 1. May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews Delft University of Technology ICSE 2017 International Conference on Software Engineering UNIVERSITÀ DEGLI STUDI DI SALERNO Recommending and Localizing Change Requests for Mobile Apps based on User Reviews Fabio Palomba1, Pasquale Salza2, Adelina Ciurumelea3, Sebastiano Panichella3 Harald Gall3, Filomena Ferrucci2, Andrea De Lucia2 1Delft University of Technology, 2University of Salerno, 3University of Zurich
  • 2. May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 Apps everywhere Over 2 billions people rely on 5 millions of mobile apps for social and emergency connectivity
  • 3. May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 Apps are software too Short period releases User reviews on the stores
  • 4. May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 User reviews are useful… Other than non informative content, they contain important pieces of information
  • 5. May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 Reading all of them is an effort-prone task …but they are too many!
  • 6. May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 The State-of-the-Art But, it is not possible to: 1. Extract only the useful information hidden behind different user reviews 2. Group together fine-grained information 3. Understand the actual impact of each change request SURF CLAP Summarizes user reviews Prioritizes user reviews
  • 7. May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 ChangeAdvisor Transforms user reviews in change requests and localises them within the source code
  • 8. May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 ChangeAdvisor JAVA JAVA JAVA JAVA Parser ARdoc HDP-LDADice Indexer Source code Feedback clusters Code components Filter Feedback preprocessing Source code preprocessing Problem discovery and Feature requests Classified feedback Ranked list (cluster/component) Reviews May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017
  • 9. May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 JAVA JAVA JAVA JAVA Parser ARdoc Source code Code components Filter Source code preprocessing Classified feedbackReviews May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 Extraction of a bag of words for each class
  • 10. May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 JAVA JAVA JAVA JAVA Parser ARdoc Dice Indexer Source code Code components S pr Classified feedbackReviews May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 Extraction and classification of user feedback
  • 11. May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 HDice Indexer Code components Filter F pre Source code preprocessing Problem discovery and Feature requests Classified feedback May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 Filtering of change requests
  • 12. May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 HDP-LDAexer Feedback clusters Filter Feedback preprocessing Source code preprocessing Problem discovery and Feature requests May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 Grouping similar user needs
  • 13. May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 ARdoc Dice Indexer Feedback clusters Filter Problem discovery and Feature requests Classified feedback Ranked list (cluster/component) iews May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 Code components Linking feedback to components
  • 14. May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 Empirical Study 10 open source apps 13,510 feedback 4,138 classes
  • 15. May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 RQ1 Does ChangeAdvisor identify cohesive user feedback clusters representing related change requests?
  • 16. May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 Clusters evaluation We asked the experts to rate the cohesiveness of clusters using a Likert scale 5+ years experience 4 3
  • 17. May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 Results Overall median = 4 Overall max = 5 8.2 clusters/app
  • 18. May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 RQ2 Does ChangeAdvisor correctly link user feedback clusters to source code components and how does it compare with the state-of-the-art?
  • 19. May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 Oracle definition We asked the experts to define the link between clusters and classes
  • 20. May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 Links evaluation We measured the accuracy of ChangeAdvisor using precision and recall
  • 21. May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 Comparison We exploited BLUiR that links bug reports to classes using the Vector Space Model BLUiR
  • 22. May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 Results ChangeAdvisor Precision = 81 % Recall = 70 % BLUiR Precision = 34 % Recall = 32 % May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017
  • 23. May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 Overlap analysis ChangeAdvisor BLUiR May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 Number of links correctly identified by one approach and missed by the other
  • 24. May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 Overlap analysis ChangeAdvisor BLUiR 72 % 5 %23 % May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017
  • 25. May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 Are the suggestions provided by ChangeAdvisor actually useful for developers? RQ3
  • 26. May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 Surveying developers Cohesiveness. How well are the user reviews grouped according to the number of source code components that need to be modified? Precision. How well do the proposed classes match the actual set of those needed to be changed in order to satisfy the user requests? Completeness. Evaluate the completeness of the set of classes suggested compared to the actual set of those needed to be modified
  • 27. May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 Results Cohesiveness = high Precision = very high Completeness = very high
  • 28. May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 Results I know what changes I have to make in my app when implementing a change. However, a tool like this may help in quantifying the number of classes to be modified.
  • 29. May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 Future directions • Extend the study involving more apps and developers • Improve our approach to prioritize user feedback based on the number of classes to be modified
  • 30. May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 One more thing… http://bit.ly/2r5GzMq ChangeAdvisor
  • 31. May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 NLP steps 1. Spelling correction 2. Contractions expansion 3. Nouns and verbs filtering 4. Tokenization 5. Singularization 6. Stopword removal 7. Stemming 8. Repetitions removal 9. Short tokens removal 10.Short tokens removal 11.Short documents removal
  • 32. May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 Dice similarity
  • 33. May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 Characteristics of the apps in the dataset
  • 34. May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 Evaluation of the clusters cohesiveness
  • 35. May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 ChangeAdvisor vs BLUiR
  • 36. May 25th, 2017Recommending and Localizing Change Requests for Mobile Apps based on User Reviews ICSE 2017 Surveys results