SlideShare a Scribd company logo
Exploring the Development of
Micro-Apps
Mark D. Syer, Bram Adams, Ying Zou and Ahmed E.
Hassan
mdsyer@cs.queensu.ca
Software Analysis and Intelligence Lab
Queen’s University, Canada
1
Huge number of apps
2
AvailableApps(000’s)
+244%
+150%
+70%
All users want the same apps
4 of the top 5 apps are
common to all platforms
.
3
Given the same app on
two different platforms,
how do they compare?
4
Code Dependency Churn
Which platform
requires more
development effort?
Which platform
requires more
maintenance effort?
Which platform
provides more
support?
Popular Mobile App Platforms
5
WordPress
Google Authenticator
Facebook SDK
Functionally Equivalent App Pairs
Android apps are smaller
6
0
5
10
15
20
25
30
35
40
FacebookSDK Google Authenticator Wordpress
Android
BlackBerry
LinesofCode(thousands)
7
Code Dependency Churn
Which platform
requires more
development effort?
Which platform
requires more
maintenance effort?
Which platform
provides more
support?
Types of micro app dependencies
8
Unique Code Base Third Party Library
foo
bar
main
JAVA APIsAndroid or BlackBerry APIs
Platform Dependencies
JAVA
Dependencies
Unique Dependencies
Third Party
Dependencies
Android apps depend on platform
9
10
Code Dependency Churn
Which platform
requires more
development effort?
Which platform
requires more
maintenance effort?
Which platform
provides more
support?
but, more third
party libraries
11
2009 2010 2011
Constantly Growing Code Base
12
Code Dependency Churn
Which platform
requires more
development effort?
Which platform
requires more
maintenance effort?
Which platform
provides more
support?
but, more third
party libraries
Discussion
• Platform support:
– Good? additional features and functionality
reduces development effort
– Bad? high platform dependency leads to lock-in
and increases the effort of porting
• How do micro apps compare to desktop
applications?
• How does adoption/migration of platform
dependencies vary o
13

More Related Content

What's hot

Mobile application security
Mobile application securityMobile application security
Mobile application securityShubhneet Goel
 
Firefox OS - mobile trends, learnings & visions, at FOKUS FUSECO Forum 2014
Firefox OS - mobile trends, learnings & visions, at FOKUS FUSECO Forum 2014Firefox OS - mobile trends, learnings & visions, at FOKUS FUSECO Forum 2014
Firefox OS - mobile trends, learnings & visions, at FOKUS FUSECO Forum 2014Robert Nyman
 
Incident Management Mobile Application
Incident Management Mobile ApplicationIncident Management Mobile Application
Incident Management Mobile Application
Mike Taylor
 
Challenges in Testing Mobile App Security
Challenges in Testing Mobile App SecurityChallenges in Testing Mobile App Security
Challenges in Testing Mobile App SecurityCygnet Infotech
 
Mobile app development for android
Mobile app development for androidMobile app development for android
Mobile app development for android
Master Software Solutions
 
Android App Security Solution
Android App Security SolutionAndroid App Security Solution
Android App Security Solution
Jay Li
 
5 Key Ways to Incorporate Security Protection into your Organization’s Mobile...
5 Key Ways to Incorporate Security Protection into your Organization’s Mobile...5 Key Ways to Incorporate Security Protection into your Organization’s Mobile...
5 Key Ways to Incorporate Security Protection into your Organization’s Mobile...
IBM Security
 
Android interview questions for 2 to 5 years (1)
Android interview questions for 2 to 5 years (1)Android interview questions for 2 to 5 years (1)
Android interview questions for 2 to 5 years (1)
satish reddy
 
Mobile application security Guidelines
Mobile application security GuidelinesMobile application security Guidelines
Mobile application security Guidelines
Entersoft Security
 
Security testing of mobile applications
Security testing of mobile applicationsSecurity testing of mobile applications
Security testing of mobile applicationsGTestClub
 
Location based services 10
Location based services   10Location based services   10
Location based services 10Michael Shrove
 
About android applications
About android applicationsAbout android applications
About android applications
Steve Smith
 
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...
Edureka!
 
Mobile Application Development
Mobile Application DevelopmentMobile Application Development
Mobile Application Development
Mosiur Rahman Imraan
 
Mobile App Development for Dummies
Mobile App Development for DummiesMobile App Development for Dummies
Mobile App Development for Dummies
Clark Davidson
 
Mobile App development service by GirnarSoft
Mobile App development service by GirnarSoftMobile App development service by GirnarSoft
Mobile App development service by GirnarSoft
Komal Agarwal
 

What's hot (19)

Mobile application security
Mobile application securityMobile application security
Mobile application security
 
Firefox OS - mobile trends, learnings & visions, at FOKUS FUSECO Forum 2014
Firefox OS - mobile trends, learnings & visions, at FOKUS FUSECO Forum 2014Firefox OS - mobile trends, learnings & visions, at FOKUS FUSECO Forum 2014
Firefox OS - mobile trends, learnings & visions, at FOKUS FUSECO Forum 2014
 
Incident Management Mobile Application
Incident Management Mobile ApplicationIncident Management Mobile Application
Incident Management Mobile Application
 
Mobile Apps Security Testing -3
Mobile Apps Security Testing -3Mobile Apps Security Testing -3
Mobile Apps Security Testing -3
 
Challenges in Testing Mobile App Security
Challenges in Testing Mobile App SecurityChallenges in Testing Mobile App Security
Challenges in Testing Mobile App Security
 
Mobile app development for android
Mobile app development for androidMobile app development for android
Mobile app development for android
 
Android App Security Solution
Android App Security SolutionAndroid App Security Solution
Android App Security Solution
 
madanResume
madanResumemadanResume
madanResume
 
Mobile App Security Testing -2
Mobile App Security Testing -2Mobile App Security Testing -2
Mobile App Security Testing -2
 
5 Key Ways to Incorporate Security Protection into your Organization’s Mobile...
5 Key Ways to Incorporate Security Protection into your Organization’s Mobile...5 Key Ways to Incorporate Security Protection into your Organization’s Mobile...
5 Key Ways to Incorporate Security Protection into your Organization’s Mobile...
 
Android interview questions for 2 to 5 years (1)
Android interview questions for 2 to 5 years (1)Android interview questions for 2 to 5 years (1)
Android interview questions for 2 to 5 years (1)
 
Mobile application security Guidelines
Mobile application security GuidelinesMobile application security Guidelines
Mobile application security Guidelines
 
Security testing of mobile applications
Security testing of mobile applicationsSecurity testing of mobile applications
Security testing of mobile applications
 
Location based services 10
Location based services   10Location based services   10
Location based services 10
 
About android applications
About android applicationsAbout android applications
About android applications
 
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...
 
Mobile Application Development
Mobile Application DevelopmentMobile Application Development
Mobile Application Development
 
Mobile App Development for Dummies
Mobile App Development for DummiesMobile App Development for Dummies
Mobile App Development for Dummies
 
Mobile App development service by GirnarSoft
Mobile App development service by GirnarSoftMobile App development service by GirnarSoft
Mobile App development service by GirnarSoft
 

Similar to Icsm2011 syer

ASE 2016 Taming Android Fragmentation: Characterizing and Detecting Compatibi...
ASE 2016 Taming Android Fragmentation: Characterizing and Detecting Compatibi...ASE 2016 Taming Android Fragmentation: Characterizing and Detecting Compatibi...
ASE 2016 Taming Android Fragmentation: Characterizing and Detecting Compatibi...
Lili Wei
 
Best Android Frameworks For App Development In 2023.pdf
Best Android Frameworks For App Development In 2023.pdfBest Android Frameworks For App Development In 2023.pdf
Best Android Frameworks For App Development In 2023.pdf
christiemarie4
 
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
Laura Miller
 
Best android frameworks for app development in 2023.pdf
Best android frameworks for app development in 2023.pdfBest android frameworks for app development in 2023.pdf
Best android frameworks for app development in 2023.pdf
Laura Miller
 
Apps world 2014 15
Apps world 2014 15Apps world 2014 15
Apps world 2014 15
hemant chadda
 
Top 5 Android app development frameworks.pdf
Top 5 Android app development frameworks.pdfTop 5 Android app development frameworks.pdf
Top 5 Android app development frameworks.pdf
Moon Technolabs Pvt. Ltd.
 
Windows Phone 8 Wave Guide Montreal Code Camp - The Windows Phone opportunity
Windows Phone 8 Wave Guide Montreal Code Camp - The Windows Phone opportunityWindows Phone 8 Wave Guide Montreal Code Camp - The Windows Phone opportunity
Windows Phone 8 Wave Guide Montreal Code Camp - The Windows Phone opportunity
Frédéric Harper
 
Software Development Trends 2014
Software Development Trends 2014Software Development Trends 2014
Software Development Trends 2014
IMC Institute
 
Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...
Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...
Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...
ReformedTech
 
Benefits of using Xamarin app development in the present time .pdf
Benefits of using Xamarin app development in the present time .pdfBenefits of using Xamarin app development in the present time .pdf
Benefits of using Xamarin app development in the present time .pdf
Moon Technolabs Pvt. Ltd.
 
Native vs cross platform native development which one is right for your requ...
Native vs cross platform native development  which one is right for your requ...Native vs cross platform native development  which one is right for your requ...
Native vs cross platform native development which one is right for your requ...
Concetto Labs
 
Android workshop sn tech solutions
Android workshop sn tech solutionsAndroid workshop sn tech solutions
Android workshop sn tech solutions
SN Tech Solutions
 
5 Factors of Mobile App Development & What is Native App.pdf
5 Factors of Mobile App Development & What is Native App.pdf5 Factors of Mobile App Development & What is Native App.pdf
5 Factors of Mobile App Development & What is Native App.pdf
Leed Software Development
 
18-mobile-malware.pptx
18-mobile-malware.pptx18-mobile-malware.pptx
18-mobile-malware.pptx
sundar110567
 
Why go mobile
Why go mobileWhy go mobile
Why go mobile
James Quick
 
Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)Ahsanul Karim
 
Choosing the Right OS for Mobile App
Choosing the Right OS for Mobile AppChoosing the Right OS for Mobile App
Choosing the Right OS for Mobile App
Copper Mobile, Inc.
 
Top 12 Reasons You Should Invest in Android App Development.pptx
Top 12 Reasons You Should Invest in Android App Development.pptxTop 12 Reasons You Should Invest in Android App Development.pptx
Top 12 Reasons You Should Invest in Android App Development.pptx
Bytes Technolab Inc.
 
How APIs are Changing Software Development
How APIs are Changing Software DevelopmentHow APIs are Changing Software Development
How APIs are Changing Software Development
3scale
 
Confused about Native vs Hybrid vs Cross-Platform ?
Confused about Native vs Hybrid vs Cross-Platform ?Confused about Native vs Hybrid vs Cross-Platform ?
Confused about Native vs Hybrid vs Cross-Platform ?
Rosalie Lauren
 

Similar to Icsm2011 syer (20)

ASE 2016 Taming Android Fragmentation: Characterizing and Detecting Compatibi...
ASE 2016 Taming Android Fragmentation: Characterizing and Detecting Compatibi...ASE 2016 Taming Android Fragmentation: Characterizing and Detecting Compatibi...
ASE 2016 Taming Android Fragmentation: Characterizing and Detecting Compatibi...
 
Best Android Frameworks For App Development In 2023.pdf
Best Android Frameworks For App Development In 2023.pdfBest Android Frameworks For App Development In 2023.pdf
Best Android Frameworks For App Development In 2023.pdf
 
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
 
Best android frameworks for app development in 2023.pdf
Best android frameworks for app development in 2023.pdfBest android frameworks for app development in 2023.pdf
Best android frameworks for app development in 2023.pdf
 
Apps world 2014 15
Apps world 2014 15Apps world 2014 15
Apps world 2014 15
 
Top 5 Android app development frameworks.pdf
Top 5 Android app development frameworks.pdfTop 5 Android app development frameworks.pdf
Top 5 Android app development frameworks.pdf
 
Windows Phone 8 Wave Guide Montreal Code Camp - The Windows Phone opportunity
Windows Phone 8 Wave Guide Montreal Code Camp - The Windows Phone opportunityWindows Phone 8 Wave Guide Montreal Code Camp - The Windows Phone opportunity
Windows Phone 8 Wave Guide Montreal Code Camp - The Windows Phone opportunity
 
Software Development Trends 2014
Software Development Trends 2014Software Development Trends 2014
Software Development Trends 2014
 
Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...
Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...
Native, Hybrid, or Cross-platform Development? What Type of Mobile App is Bes...
 
Benefits of using Xamarin app development in the present time .pdf
Benefits of using Xamarin app development in the present time .pdfBenefits of using Xamarin app development in the present time .pdf
Benefits of using Xamarin app development in the present time .pdf
 
Native vs cross platform native development which one is right for your requ...
Native vs cross platform native development  which one is right for your requ...Native vs cross platform native development  which one is right for your requ...
Native vs cross platform native development which one is right for your requ...
 
Android workshop sn tech solutions
Android workshop sn tech solutionsAndroid workshop sn tech solutions
Android workshop sn tech solutions
 
5 Factors of Mobile App Development & What is Native App.pdf
5 Factors of Mobile App Development & What is Native App.pdf5 Factors of Mobile App Development & What is Native App.pdf
5 Factors of Mobile App Development & What is Native App.pdf
 
18-mobile-malware.pptx
18-mobile-malware.pptx18-mobile-malware.pptx
18-mobile-malware.pptx
 
Why go mobile
Why go mobileWhy go mobile
Why go mobile
 
Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)
 
Choosing the Right OS for Mobile App
Choosing the Right OS for Mobile AppChoosing the Right OS for Mobile App
Choosing the Right OS for Mobile App
 
Top 12 Reasons You Should Invest in Android App Development.pptx
Top 12 Reasons You Should Invest in Android App Development.pptxTop 12 Reasons You Should Invest in Android App Development.pptx
Top 12 Reasons You Should Invest in Android App Development.pptx
 
How APIs are Changing Software Development
How APIs are Changing Software DevelopmentHow APIs are Changing Software Development
How APIs are Changing Software Development
 
Confused about Native vs Hybrid vs Cross-Platform ?
Confused about Native vs Hybrid vs Cross-Platform ?Confused about Native vs Hybrid vs Cross-Platform ?
Confused about Native vs Hybrid vs Cross-Platform ?
 

More from SAIL_QU

Studying the Integration Practices and the Evolution of Ad Libraries in the G...
Studying the Integration Practices and the Evolution of Ad Libraries in the G...Studying the Integration Practices and the Evolution of Ad Libraries in the G...
Studying the Integration Practices and the Evolution of Ad Libraries in the G...
SAIL_QU
 
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
SAIL_QU
 
Improving the testing efficiency of selenium-based load tests
Improving the testing efficiency of selenium-based load testsImproving the testing efficiency of selenium-based load tests
Improving the testing efficiency of selenium-based load tests
SAIL_QU
 
Studying User-Developer Interactions Through the Distribution and Reviewing M...
Studying User-Developer Interactions Through the Distribution and Reviewing M...Studying User-Developer Interactions Through the Distribution and Reviewing M...
Studying User-Developer Interactions Through the Distribution and Reviewing M...
SAIL_QU
 
Studying online distribution platforms for games through the mining of data f...
Studying online distribution platforms for games through the mining of data f...Studying online distribution platforms for games through the mining of data f...
Studying online distribution platforms for games through the mining of data f...
SAIL_QU
 
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
SAIL_QU
 
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
SAIL_QU
 
Mining Development Knowledge to Understand and Support Software Logging Pract...
Mining Development Knowledge to Understand and Support Software Logging Pract...Mining Development Knowledge to Understand and Support Software Logging Pract...
Mining Development Knowledge to Understand and Support Software Logging Pract...
SAIL_QU
 
Which Log Level Should Developers Choose For a New Logging Statement?
Which Log Level Should Developers Choose For a New Logging Statement?Which Log Level Should Developers Choose For a New Logging Statement?
Which Log Level Should Developers Choose For a New Logging Statement?
SAIL_QU
 
Towards Just-in-Time Suggestions for Log Changes
Towards Just-in-Time Suggestions for Log ChangesTowards Just-in-Time Suggestions for Log Changes
Towards Just-in-Time Suggestions for Log Changes
SAIL_QU
 
The Impact of Task Granularity on Co-evolution Analyses
The Impact of Task Granularity on Co-evolution AnalysesThe Impact of Task Granularity on Co-evolution Analyses
The Impact of Task Granularity on Co-evolution Analyses
SAIL_QU
 
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
SAIL_QU
 
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
SAIL_QU
 
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
SAIL_QU
 
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
SAIL_QU
 
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
SAIL_QU
 
What Do Programmers Know about Software Energy Consumption?
What Do Programmers Know about Software Energy Consumption?What Do Programmers Know about Software Energy Consumption?
What Do Programmers Know about Software Energy Consumption?
SAIL_QU
 
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
SAIL_QU
 
Revisiting the Experimental Design Choices for Approaches for the Automated R...
Revisiting the Experimental Design Choices for Approaches for the Automated R...Revisiting the Experimental Design Choices for Approaches for the Automated R...
Revisiting the Experimental Design Choices for Approaches for the Automated R...
SAIL_QU
 
Measuring Program Comprehension: A Large-Scale Field Study with Professionals
Measuring Program Comprehension: A Large-Scale Field Study with ProfessionalsMeasuring Program Comprehension: A Large-Scale Field Study with Professionals
Measuring Program Comprehension: A Large-Scale Field Study with Professionals
SAIL_QU
 

More from SAIL_QU (20)

Studying the Integration Practices and the Evolution of Ad Libraries in the G...
Studying the Integration Practices and the Evolution of Ad Libraries in the G...Studying the Integration Practices and the Evolution of Ad Libraries in the G...
Studying the Integration Practices and the Evolution of Ad Libraries in the G...
 
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
 
Improving the testing efficiency of selenium-based load tests
Improving the testing efficiency of selenium-based load testsImproving the testing efficiency of selenium-based load tests
Improving the testing efficiency of selenium-based load tests
 
Studying User-Developer Interactions Through the Distribution and Reviewing M...
Studying User-Developer Interactions Through the Distribution and Reviewing M...Studying User-Developer Interactions Through the Distribution and Reviewing M...
Studying User-Developer Interactions Through the Distribution and Reviewing M...
 
Studying online distribution platforms for games through the mining of data f...
Studying online distribution platforms for games through the mining of data f...Studying online distribution platforms for games through the mining of data f...
Studying online distribution platforms for games through the mining of data f...
 
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
 
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
 
Mining Development Knowledge to Understand and Support Software Logging Pract...
Mining Development Knowledge to Understand and Support Software Logging Pract...Mining Development Knowledge to Understand and Support Software Logging Pract...
Mining Development Knowledge to Understand and Support Software Logging Pract...
 
Which Log Level Should Developers Choose For a New Logging Statement?
Which Log Level Should Developers Choose For a New Logging Statement?Which Log Level Should Developers Choose For a New Logging Statement?
Which Log Level Should Developers Choose For a New Logging Statement?
 
Towards Just-in-Time Suggestions for Log Changes
Towards Just-in-Time Suggestions for Log ChangesTowards Just-in-Time Suggestions for Log Changes
Towards Just-in-Time Suggestions for Log Changes
 
The Impact of Task Granularity on Co-evolution Analyses
The Impact of Task Granularity on Co-evolution AnalysesThe Impact of Task Granularity on Co-evolution Analyses
The Impact of Task Granularity on Co-evolution Analyses
 
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
 
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
 
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
 
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
 
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
 
What Do Programmers Know about Software Energy Consumption?
What Do Programmers Know about Software Energy Consumption?What Do Programmers Know about Software Energy Consumption?
What Do Programmers Know about Software Energy Consumption?
 
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
 
Revisiting the Experimental Design Choices for Approaches for the Automated R...
Revisiting the Experimental Design Choices for Approaches for the Automated R...Revisiting the Experimental Design Choices for Approaches for the Automated R...
Revisiting the Experimental Design Choices for Approaches for the Automated R...
 
Measuring Program Comprehension: A Large-Scale Field Study with Professionals
Measuring Program Comprehension: A Large-Scale Field Study with ProfessionalsMeasuring Program Comprehension: A Large-Scale Field Study with Professionals
Measuring Program Comprehension: A Large-Scale Field Study with Professionals
 

Icsm2011 syer

  • 1. Exploring the Development of Micro-Apps Mark D. Syer, Bram Adams, Ying Zou and Ahmed E. Hassan mdsyer@cs.queensu.ca Software Analysis and Intelligence Lab Queen’s University, Canada 1
  • 2. Huge number of apps 2 AvailableApps(000’s) +244% +150% +70%
  • 3. All users want the same apps 4 of the top 5 apps are common to all platforms . 3 Given the same app on two different platforms, how do they compare?
  • 4. 4 Code Dependency Churn Which platform requires more development effort? Which platform requires more maintenance effort? Which platform provides more support?
  • 5. Popular Mobile App Platforms 5 WordPress Google Authenticator Facebook SDK Functionally Equivalent App Pairs
  • 6. Android apps are smaller 6 0 5 10 15 20 25 30 35 40 FacebookSDK Google Authenticator Wordpress Android BlackBerry LinesofCode(thousands)
  • 7. 7 Code Dependency Churn Which platform requires more development effort? Which platform requires more maintenance effort? Which platform provides more support?
  • 8. Types of micro app dependencies 8 Unique Code Base Third Party Library foo bar main JAVA APIsAndroid or BlackBerry APIs Platform Dependencies JAVA Dependencies Unique Dependencies Third Party Dependencies
  • 9. Android apps depend on platform 9
  • 10. 10 Code Dependency Churn Which platform requires more development effort? Which platform requires more maintenance effort? Which platform provides more support? but, more third party libraries
  • 11. 11 2009 2010 2011 Constantly Growing Code Base
  • 12. 12 Code Dependency Churn Which platform requires more development effort? Which platform requires more maintenance effort? Which platform provides more support? but, more third party libraries
  • 13. Discussion • Platform support: – Good? additional features and functionality reduces development effort – Bad? high platform dependency leads to lock-in and increases the effort of porting • How do micro apps compare to desktop applications? • How does adoption/migration of platform dependencies vary o 13

Editor's Notes

  1. Paper title Introduce myself, my colleagues and my lab [high level overview]
  2. 1. Since Sept 2010, added many more apps
  3. 1. How does the same app compare across two platforms
  4. How does the same app compare across two different platforms? 1. Start by selecting platforms and apps to compare, then compare code base size
  5. When we started our research, these platforms all had a ~25% market share 1. selected Android and BlackBerry because apps for these platforms are written in JAVA (easier to compare) 2. looked for functionally equivalent micro app pairs Functionally equivalent means the each app (one for the Android and another for the BlackBerry) has nearly identical functionality
  6. How does the same app compare across two different platforms? 1. next, dependency analysis
  7. 1. Divide code base into unique and third party 2. For each file, e.g., main 3. Look at how it depends on unique classes 4. And third party classes 5. We also look at how it depends on its environment, including the Java APIs 6. And the platform APIs
  8. 1. Platform - android apps depend on the android platform much more than blackberry apps depend on the blackberry platforms. What are blackberry apps depending on? Where is their additional functionality coming from? 2. APIs – android and blackberry apps depend on JAVA heavily 3. Third Party - here is where blackberry is really making up the difference 4. Unique - again, here is where blackberry is making up some difference
  9. Android platform appears to provide more support, at least that it what developers are telling us but, because blackberry apps depend heavily on third party libraries (that they don’t develop themselves) perhaps the development effort for blackberry apps isn’t as high as we thought it was 1. next, churn