SlideShare a Scribd company logo
1 of 74
LARGE-SCALE EMPIRICAL
STUDIES OF MOBILE APPS
Israel Jesus Mojica Ruiz
2
Mobile apps are applications to run on
mobile devices (smartphones, tablets, etc).
Apps are different
than traditional
software
3
1 Wasserman, A. I. (2010), Software engineering issues for mobile application development, in ‘FSE/SDP workshop on
Future of software engineering research’, FoSER ’10.
2 Syer, M. D., Adams, B., Zou, Y. and Hassan, A. E. (2011), Exploring the development of micro-apps: A case study on the
blackberry and android platforms, in ‘Proceedings of the 2011 IEEE 11th International Working Conference on Source Code
Analysis and Manipulation’, SCAM ’11, IEEE Computer Society, Washington, DC, USA, pp. 55–64.
3 Gasimov, A., Tan, C.-H., Phang, C. W. and Sutanto, J. (2010), Visiting mobile application development: What, how and
where, in ‘Proceedings of the International Conference on Mobile Business and Global Mobility Roundtable (ICMB-GMR)’,
pp. 74–81.
4 Minelli, R. and Lanza, M. (2013), Software analytics for mobile applications - insights & lessons learned, in ‘Proceedings of
CSMR 2013 (17th European Conference on Software Maintenance and Reengineering)’, IEEE CS Press, pp. 144–153.
• Apps are comparably small (several KLOC), usually developed by
one or two developers only.1
• Development practices of mobile apps differs from other type of
software.2
• Apps have specific software challenges: security, limited hardware
resources, and scalability.3
• Apps differ from traditional software.4
Billionaire market with thousands of
software developers
4
Billionaire market: The app market is estimated to
generate revenues of $74 US billion in 2017.1
1Columbus, L. (2013), ‘Roundup of mobile apps and app store forecasts, 2013’,
http://www:forbes:com/sites/louiscolumbus/2013/06/09/roundup-of-mobile-apps-app-store-forecasts-2013/.
2ABI (2012), ‘In-app purchases to outpace pay-per-download revenues in 2012’, http://www:abiresearch:com/press/in-app-
purchases-tooutpace-pay-per-download-reven.
3O’Neill, N. (2010), ‘10 surprising app platform facts [infographic]’, http://www:allfacebook:com/app-platform-facts-2010-09.
Thousands of app developers:
50,000 app developers only two years
after the first app store opened.3
Billion of apps downloaded: It is estimated that 50
billion apps (across all platforms) were downloaded in
2012. 2
Accelerated Rate of Growth
in the Number of Apps
5
Apple’s App store 500 apps (Jul-2008)
to 800K (Mid 2013).
Google Play Store 2K apps (Mar-2009)
to 800K apps (Mid 2013).
Windows Phone App Store 145K apps
(Mid 2013).
BlackBerry App World 120K apps
(Mid 2013).
Amazon App store 3K apps (Mar-2011)
to 75K (Mid 2013).
Apple App Store
Google Play App Store
Free apps dominate
the app market
6
~75% apps are free to download apps1
~90% of downloaded apps are free apps2
1AppBrain (2013), ‘Comparison of free and paid android apps’, http://www:appbrain:com/stats/free-and-paid-android-
applications.
2 Pettey, C. and van der Meulen, R. (2012), ‘Gartner says free apps will account for nearly 90 percent of total mobile app
store downloads in 2012’, http://www:gartner:com/it/page:jsp?id=2153215.
App developers are competing against other
hundred of thousands of free apps
7
Thousands of free apps An app is alone Unknown future
App developers
are worried
Retire the app
A damaged app
A champion app
Research statement
8
New software engineering challenges have emerged in the current context of
mobile apps. App developers, in order to compete profitably in a massive
market of apps, should take into consideration traditional aspects such as
code reuse and novelty, and new aspects such as the approval of the app
users, and the advertisement libraries embedded in their apps. In depth
empirical studies are needed in order to shape and direct future software
engineering research for mobile apps.
The Android platform dominates
the worldwide market
Smartphones running
Android OS has a
market share of more
than 68% of the market
around the world.
9
68%
17%
5%
3%
7%
Android
iOS
BlackBerry
Windows
Others
1AP (2012), ‘Android market share q3 2012: Google’s still beating apple, but will the iphone 5 change that?’,
http://www:huffingtonpost:com/2012/09/18/androidmarket-share-q3-2012 n 1893292:html.
10
Software reuse
in mobile apps
App rating Ad maintenance
LARGE-SCALE EMPIRICAL
STUDIES OF MOBILE APPS
11
12
SOFTWARE REUSE
Exponential Growth in the Number of Apps
in the Google Play app store
Time
0
100000
200000
300000
400000
500000
600000
700000
800000
Mar-09
May-09
Jul-09
Sep-09
Nov-09
Jan-10
Mar-10
May-10
Jul-10
Sep-10
Nov-10
Jan-11
Mar-11
May-11
Jul-11
Sep-11
Nov-11
Jan-12
Mar-12
May-12
Jul-12
Sep-12
800K
700K
600K
500K
400K
300K
200K
100K
0
Numberofapps
Comparing Two Classes
13
Davies, J.; German, D.M.; Godfrey, M.W.;
Hindle, A.; , “Software bertillonage: finding
the provenance of an entity,” - MSR ’11
Source Code
CCFinder
NICAD
SimScan
Bytecode Bertillonage
Signatures
14
4,323 app
501 apps
554 apps
1,034 apps
1,115 apps
1,119 apps
Apps Collected in the
Google Play app store
15
Total Classes: 59,208 52,425 88,156 250,063 84,205
3000
2500
2000
1500
1000
500
0
Range of Android Apps Size
Android
Apps size
dispersion
Numberofclasses
Category
An App
How Much Diversity is There
in a Category?
16
OneCategory
App 1 App 2 App 3
10=
B , = 4
Reused Classes = 60%
A , C, D
BA
C D
AA
D
B
C
B Classes
{ }
Unique Classes = 40%
17
80
70
60
50
40
30
20
10
0
PercentageofClassesReused
HIGH Code Reuse
Category
53%
71%
59%
54%
68%
Global Reuse of Classes
18
OneCategory
App 1 App 2 App 3
global (App 1) =
A B
C D
A E
F
A D
E F G
5 3 4
3
5
= 0.60
global (App 2) = 3
3
= 1.00
global (App 3) =
3
4
= 0.75
High Global Reuse
19
1.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0
Global Reuse
PercentageofAppsforeachCategory
100
80
60
40
20
0
High Global Reuse
20
PercentageofAppsforeachCategory 100
80
60
40
20
0
Between 50%-80% of
apps have at least 30%
of classes in common
Between 5%-19% of apps
have almost identical set
of classes in common
Mockus, A.; , “Large-Scale Code Reuse in Open Source Software,” Emerging Trends in FLOSS Research
and Development, 2007. FLOSS ’07. First International Workshop on , vol., no., pp.7, 20-26 May 2007.
1.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0
Global Reuse
Pair Wise Reuse
21
OneCategory
App 1 App 2
local (App 1, App 2)
A B
C D
A E
F
2
5
= = 0.40
local (App 2, App 1) 2
3
= = 0.67
local (App 3, App 2) 2
4
= = 0.50
App 3
A D
F GE
22
Social: 57 out of 1,119
apps were identical
23
Reuse of framework
24
Developer ADeveloper C Developer B Developer D
25
Software reuse
has highly
contributed to
accelerate the
production of
Android apps.
Software reuse
in mobile apps
App rating Ad maintenance
LARGE-SCALE EMPIRICAL
STUDIES OF MOBILE APPS
Large dataset of apps
The Google Play was crawled along the 2011 obtaining:
• 500K app versions
• 200K apps
The data obtained from this crawling:
• The app files (APK files).
• Metadata: Category, number of raters, the average-rating, binary size (in
bytes), version number, company name, company website, and presence of
marketing material like promotional videos.
26
27
Software reuse
has highly
contributed to
accelerate the
production of
Android apps.
Software reuse
in mobile apps
App rating Ad maintenance
LARGE-SCALE EMPIRICAL
STUDIES OF MOBILE APPS
The rating of an app shows the app
users’ perceived quality of an app
28
Congratulations,
it only took you
700,000 apps!!
I found the
app!!!
The rating of an app
helps it to be found
29
At least 1000 results
30
Version-rating
X1
X2
X3
X1
X3
Number of Raters:
= 5
= 8
= 9
= 2
= 3
10 27
Version 1.0
Version-rating 1.0 = 27/10 = 2.7
Number of Stars:
Global-rating
31
Many apps contain biased ratings because
of a low number of versions and/or raters
32
1 2 3 4 5
Rating
Density Plot of the ratings of all apps with at least 10 raters
Density
00.10.20.30.40.50.60.7
1 2 3 4 5
Rating
Density Plot of the ratings of all apps
Density
00.51.01.5
• App-user could download an app
with high average-rating, even though
the quality is very bad.
• App-developers should be careful
about their first release. Otherwise,
the app can start with a low rating,
and due to the snowball effect,
continue to be a poorly
rated/downloaded app.
33
Unhappy app-users with high average rated apps.
App-developers depend so much on their first app version.
34
The global-rating is resilient to fluctuations after
a large number of app-users have rated an app
1e+00 1e+02 1e+04 1e+06
Initial #raters
-2024
Global-ratingincrease
Global-rating increase
-1.5 -1.0 -0.5 0 0.5 1.0 1.5
Version-ratingincrease
-4-202
35
App-store-owners should display both the global- and the
version-rating. Then app-users will have access to the best
quality apps.
Version n
Rated by: 1,000,000 app-users
Global-rating: 3.0
Global-rating= ∑ ÷ ∑ = 3.0
∑ = ∑ x global-rating = 3,000,000
New Awful version: 1,000 by 1,000
Global-rating = (3,000,000+1,000) ÷(1,000,000+1,000) =
2.998~3.0
36
The global-rating does not incentive to
app developers to release a better app.
Version n
Rated by: 1,000,000 app-users
Global-rating: 3.0
Global-rating= ∑ ÷ ∑ = 3.0
∑ = ∑ x global-rating = 3,000,000
New Awesome version:5,000 by1,000
Global-rating = (3,000,000+5,000) ÷(1,000,000+1,000) =
3.001~3.0
37
Most apps can recover from a drop in rating
within the next few versions.
38
Size, OO Design and Reuse metrics are
most closely related with version-rating
increases
39
Apps with large number of classes (more functionality)
tend to increase their rating.
App-developers can increase the version-rating of their
app by being careful with adding too much home-brewed
code (as opposed to reusing existing libraries).
However, app-developers
should be careful exposing
too much functionality in
their app (public methods).
40
App-stores may provide a service
to help app developers to predict
the rating of their apps
41
Software reuse
has highly
contributed to
accelerate the
production of
Android apps.
Software reuse
in mobile apps
App rating Ad maintenance
The present rating
system does not
motivate
app-developers to
improve the quality of
their apps.
LARGE-SCALE EMPIRICAL
STUDIES OF MOBILE APPS
42
Software reuse
has highly
contributed to
accelerate the
production of
Android apps.
Software reuse
in mobile apps
App rating Ad maintenance
LARGE-SCALE EMPIRICAL
STUDIES OF MOBILE APPS
The present rating
system does not
motivate
app-developers to
improve the quality of
their apps.
Free apps dominate
the app market
43
~90% of downloaded apps are free-to-download
apps2
1AppBrain (2013), ‘Comparison of free and paid android apps’, http://www:appbrain:com/stats/free-and-paid-android-
applications.
2 Pettey, C. and van der Meulen, R. (2012), ‘Gartner says free apps will account for nearly 90 percent of total mobile app
store downloads in 2012’, http://www:gartner:com/it/page:jsp?id=2153215.
~75% apps are free to download1
Advertisements in apps!
44
App developers depend on ads to generate
revenue from their free to download apps
45
This is an ad
Process to serve an ad
Advertiser
46
CPA
CPM
CPC
Low Number of Ads available
(Low Fill rate)
Fill rate is the percentage of ads received from the
advertising company relative to the number of requests
made.
47
App developers can integrate ad libraries from
different advertising companies to increase the
fill rate of their apps.
In the first half of 2011 the average fill rate for the
worldwide top 40 ad networks was less than
18%1. Furthermore, ad networks that tend to pay
more tend to have low fill rates, while ad networks
with the highest fill rates tend to pay less2.
1 Candeias, H. (2011), ‘Smaato releases q2 2011 mobile metrics report’, http://www:smaato:com/metricsq22011-2/.
2 Opera (2013), ‘The state of mobile advertising, q2 2012’, http://business:opera:com/sma/2012/q2/.
48
Three ad-serving models:
Ad-network, Ad-mediator, Ad-exchange
AppLogic
49
AppLogic
Ad-mediator
Configuration
Server
Three ad-serving models:
Ad-network, Ad-mediator, Ad-exchange
50
AppLogic
Ad-exchange
Server
Three ad-serving models:
Ad-network, Ad-mediator, Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving models:
Ad-network, Ad-mediator, Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (e.g., ad video)
Add compatibility with other ad libraries
Fix bugs (memory, ads no displayed, etc.)
Manage personal information
SW Engineering Challenges
• Balance between app and ad
environment.
Ads are annoying: 68% of consumers find
online ads “annoying” and “distracting”.1
53
• Increase revenue.
App-developers evaluate which ad-library
generates the highest revenue.
• Time between publication.
Ad-library providers are updating
constantly their ad-libraries.
1http://www.adobe.com/aboutadobe/pressroom/pdfs/Adobe_State_of_Online_Advertising_Study.pdf
Ad-maintenance
Ad-maintenance are the different tasks of software
maintenance that app-developers have to perform
on the embedded ad libraries in an app, instead of
the features of the app.
54
• Examples of such changes are correcting problems with
the ad libraries, modify, add, remove or update an ad
library in an app.
• The final goal of a proper ad maintenance is
to ensure that the ad libraries do not impact
negatively on the app user experience,
while app developers generate the
maximum revenue from the ads in their
apps.
Identifying ad-libraries
1. Search the [aA][dD] regular expression across the
apps’ classes
com.packageAdlibraryName.AdclassName
2. Web search of the packageAdlibraryName
55
72 ad-libraries!!!
Ad-libraries play a prominent
role in the free apps
56
49%
51%
No ads
Ad-supported apps
The percentage of ad supported apps
varies across the different app categories
57
Categories
Photography
Games
Entertainment
Comics
Personalization
Media&Video
News&Magazines
Libraries&Demo
Books&references
Sports
Health&Fitness
Weather
Tools
Education
Lifestyle
Music&Audio
Social
Transportation
Productivity
Travel&Local
Communication
Shopping
Finance
Medical
Business
90
80
70
60
50
40
30
20
10
0
Percentageofad-supportedappspercategory
78.1% 77.8%
64.3% 63.8%
Top categories with
ad-supported apps
26.2%24.5%
18.9% 14.3%
Top categories with less
ad-supported apps
Few different ad libraries
dominate the ad library market
58
Ad-libraries
60
50
40
30
20
10
0
Percentageofad-supportedapps
• Revenue
• Premium ad-networks
• Regional vs global
• Trust
• Type ad-content
59
Choosing an
ad-library
The ad-network serving model
dominates drastically the ad market
• 61 out of the 72 (84.72%) of the ad libraries identified work as ad
networks, 6 (8.33%) are ad-mediator libraries, and 5 (6.94%) are ad
exchanges libraries.
60
Ad-serving model
Percentageofad-supportedapps
88%
11.6% 9.9%
Ad supported apps can contain a
large number of ad libraries
61
I think I had
so many
ad-libraries!!!
Number of ad-libraries embedded
Even 28 ad-libraries in an app!!!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
90K
80K
70K
60K
50K
40K
30K
20K
10K
0
Numberofapps
17.57%
(21,256)
65.11%
(78,775)
7.09%
(8,581)
3.36%
(4,068)
0.59%
(709)
0.06%
(78)
0.06%
(73)
1.05%
(1,265)
0.50%
(608)
0.20%
(240)
Are app developers updating
the ad-libraries?
62
Version 1.0 Version n
App developers are frequently
updating the ad libraries in their apps
Ad-libraries were:
• Updated 65.25%
• Added 43.69%
• Removed 24.64%
63
942 apps out of the 6,850 (13.75%)
only updated their ad-libraries
64
How much a calculator can change?
942 apps out of 6,850 were resubmitted to
the Google Play App Store with only
changes in their ad-libraries APIs. The rest
of the APIs were not modified.
65
To use only one ad-network results in the
least number of ad changes, followed by the
ad-exchanges serving model
The number of ad libraries
does not affect the rating
66
Number of ad-libraries
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Version-rating
The behaviour of an ad-library
affects the rating of an app
67
Ad-libraries
Version-rating
Good game, bad ads. I was loving
the game until I noticed it put a new
shortcut called ”Apps” on my
launcher. Sorry, but if your idea of
advertising is putting sh*t in launcher
pages or notifications then I’m not
interested.
68
Software reuse
has highly
contributed to
accelerate the
production of
Android apps.
Software reuse
in mobile apps
App rating
Ad maintenance
helps app developers
to keep on generating
revenue, and
healthy ratings.
Ad maintenance
LARGE-SCALE EMPIRICAL
STUDIES OF MOBILE APPS
The present rating
system does not
motivate
app-developers to
improve the quality of
their apps.
69
Conclusions
70
71
72
73
Bertillonage Signature
Decompiled Class
Package p.s
public class ClassName extends j.l.E implements x.y.Z {
public void C(){
//Class‘ constructor
}
private int a(java.lang.String s) throws pack.subPackage.K{
/*[compiled byte code]*/
}
}
Bertillonage Signature
p.s.
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = <sClass,<sM1,sM2>>
74

More Related Content

What's hot

Mobile phone trends, user data & developer climate - frontend.fi, Helsinki
Mobile phone trends, user data & developer climate - frontend.fi, HelsinkiMobile phone trends, user data & developer climate - frontend.fi, Helsinki
Mobile phone trends, user data & developer climate - frontend.fi, HelsinkiRobert Nyman
 
Apple,google,and microsoft meeting 3
Apple,google,and microsoft meeting 3Apple,google,and microsoft meeting 3
Apple,google,and microsoft meeting 3szarinammd
 
In app purchase economy iphone-aug 2011-china
In app purchase economy iphone-aug 2011-chinaIn app purchase economy iphone-aug 2011-china
In app purchase economy iphone-aug 2011-china刚 卢
 
Distimo publication-may-2011
Distimo publication-may-2011Distimo publication-may-2011
Distimo publication-may-2011Hazemma
 
AdMob Mobile Metrics Report - January 2010
AdMob Mobile Metrics Report - January 2010AdMob Mobile Metrics Report - January 2010
AdMob Mobile Metrics Report - January 2010AdMob Inc
 
Choosing Your First App’s Platform
Choosing Your First App’s PlatformChoosing Your First App’s Platform
Choosing Your First App’s PlatformFreedomApps
 
Distimo publication-may-2011
Distimo publication-may-2011Distimo publication-may-2011
Distimo publication-may-2011Andrian Georgiev
 
Top Trends In The Consumer Application World
Top Trends In The Consumer Application WorldTop Trends In The Consumer Application World
Top Trends In The Consumer Application Worldrobertjweber
 
UMENG Insight Report 2013H1 - China Mobile Internet: Fragmentation and Shorte...
UMENG Insight Report 2013H1 - China Mobile Internet: Fragmentation and Shorte...UMENG Insight Report 2013H1 - China Mobile Internet: Fragmentation and Shorte...
UMENG Insight Report 2013H1 - China Mobile Internet: Fragmentation and Shorte...Hubery Zhou
 
Simon Bates, Manifesto Digital - Mobile Application Development: Past, Presen...
Simon Bates, Manifesto Digital - Mobile Application Development: Past, Presen...Simon Bates, Manifesto Digital - Mobile Application Development: Past, Presen...
Simon Bates, Manifesto Digital - Mobile Application Development: Past, Presen...Simon Bates
 
A survey on android security: development and deployment hindrance and best p...
A survey on android security: development and deployment hindrance and best p...A survey on android security: development and deployment hindrance and best p...
A survey on android security: development and deployment hindrance and best p...TELKOMNIKA JOURNAL
 
A Comprehensive Study on Security issues in Android Mobile Phone — Scope and ...
A Comprehensive Study on Security issues in Android Mobile Phone — Scope and ...A Comprehensive Study on Security issues in Android Mobile Phone — Scope and ...
A Comprehensive Study on Security issues in Android Mobile Phone — Scope and ...AM Publications
 
SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]
SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]
SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]Roberto Minelli
 
Ad Mob Mobile Metrics Jan 10
Ad Mob  Mobile  Metrics  Jan 10Ad Mob  Mobile  Metrics  Jan 10
Ad Mob Mobile Metrics Jan 10Yuri Itou
 

What's hot (17)

Mobile phone trends, user data & developer climate - frontend.fi, Helsinki
Mobile phone trends, user data & developer climate - frontend.fi, HelsinkiMobile phone trends, user data & developer climate - frontend.fi, Helsinki
Mobile phone trends, user data & developer climate - frontend.fi, Helsinki
 
Apple,google,and microsoft meeting 3
Apple,google,and microsoft meeting 3Apple,google,and microsoft meeting 3
Apple,google,and microsoft meeting 3
 
In app purchase economy iphone-aug 2011-china
In app purchase economy iphone-aug 2011-chinaIn app purchase economy iphone-aug 2011-china
In app purchase economy iphone-aug 2011-china
 
Android vs ios
Android vs iosAndroid vs ios
Android vs ios
 
Distimo publication-may-2011
Distimo publication-may-2011Distimo publication-may-2011
Distimo publication-may-2011
 
AdMob Mobile Metrics Report - January 2010
AdMob Mobile Metrics Report - January 2010AdMob Mobile Metrics Report - January 2010
AdMob Mobile Metrics Report - January 2010
 
Choosing Your First App’s Platform
Choosing Your First App’s PlatformChoosing Your First App’s Platform
Choosing Your First App’s Platform
 
Distimo publication-may-2011
Distimo publication-may-2011Distimo publication-may-2011
Distimo publication-may-2011
 
Top Trends In The Consumer Application World
Top Trends In The Consumer Application WorldTop Trends In The Consumer Application World
Top Trends In The Consumer Application World
 
UMENG Insight Report 2013H1 - China Mobile Internet: Fragmentation and Shorte...
UMENG Insight Report 2013H1 - China Mobile Internet: Fragmentation and Shorte...UMENG Insight Report 2013H1 - China Mobile Internet: Fragmentation and Shorte...
UMENG Insight Report 2013H1 - China Mobile Internet: Fragmentation and Shorte...
 
Simon Bates, Manifesto Digital - Mobile Application Development: Past, Presen...
Simon Bates, Manifesto Digital - Mobile Application Development: Past, Presen...Simon Bates, Manifesto Digital - Mobile Application Development: Past, Presen...
Simon Bates, Manifesto Digital - Mobile Application Development: Past, Presen...
 
A survey on android security: development and deployment hindrance and best p...
A survey on android security: development and deployment hindrance and best p...A survey on android security: development and deployment hindrance and best p...
A survey on android security: development and deployment hindrance and best p...
 
A Comprehensive Study on Security issues in Android Mobile Phone — Scope and ...
A Comprehensive Study on Security issues in Android Mobile Phone — Scope and ...A Comprehensive Study on Security issues in Android Mobile Phone — Scope and ...
A Comprehensive Study on Security issues in Android Mobile Phone — Scope and ...
 
Apps development company new york
Apps development company new yorkApps development company new york
Apps development company new york
 
Android
AndroidAndroid
Android
 
SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]
SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]
SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]
 
Ad Mob Mobile Metrics Jan 10
Ad Mob  Mobile  Metrics  Jan 10Ad Mob  Mobile  Metrics  Jan 10
Ad Mob Mobile Metrics Jan 10
 

Viewers also liked

Modeling the Performance of Ultra-Large-Scale Systems Using Layered Simulations
Modeling the Performance of Ultra-Large-Scale Systems Using Layered SimulationsModeling the Performance of Ultra-Large-Scale Systems Using Layered Simulations
Modeling the Performance of Ultra-Large-Scale Systems Using Layered SimulationsSAIL_QU
 
Case History Carlo Cairoli
Case History Carlo CairoliCase History Carlo Cairoli
Case History Carlo CairoliCarlo Cairoli
 
Medios publicitarios
Medios publicitarios Medios publicitarios
Medios publicitarios Giarline
 
Iniciativa del Senador Luis Humberto Fernández sobre coaliciones entre indepe...
Iniciativa del Senador Luis Humberto Fernández sobre coaliciones entre indepe...Iniciativa del Senador Luis Humberto Fernández sobre coaliciones entre indepe...
Iniciativa del Senador Luis Humberto Fernández sobre coaliciones entre indepe...Senadores PRD
 
Log Engineering: Towards Systematic Log Mining to Support the Development of ...
Log Engineering: Towards Systematic Log Mining to Support the Development of ...Log Engineering: Towards Systematic Log Mining to Support the Development of ...
Log Engineering: Towards Systematic Log Mining to Support the Development of ...SAIL_QU
 
Proyecto de sociologia
Proyecto de sociologiaProyecto de sociologia
Proyecto de sociologiaruth Apellidos
 
Empircal Studies of Performance Bugs & Performance Analysis Approaches for La...
Empircal Studies of Performance Bugs & Performance Analysis Approaches for La...Empircal Studies of Performance Bugs & Performance Analysis Approaches for La...
Empircal Studies of Performance Bugs & Performance Analysis Approaches for La...SAIL_QU
 
C de marchi_tirocinio
C de marchi_tirocinioC de marchi_tirocinio
C de marchi_tirocinioCladema
 
비아그라 판매 =&lt;7cc.kr>=비아그라 정품 판매~비아그라판매±비아그라 정품판매∏비아그라 50mg판매,프릴리지 50mg판매,흥분제 ...
비아그라 판매 =&lt;7cc.kr>=비아그라 정품 판매~비아그라판매±비아그라 정품판매∏비아그라 50mg판매,프릴리지 50mg판매,흥분제 ...비아그라 판매 =&lt;7cc.kr>=비아그라 정품 판매~비아그라판매±비아그라 정품판매∏비아그라 50mg판매,프릴리지 50mg판매,흥분제 ...
비아그라 판매 =&lt;7cc.kr>=비아그라 정품 판매~비아그라판매±비아그라 정품판매∏비아그라 50mg판매,프릴리지 50mg판매,흥분제 ...成 金
 
Singapore startup ecosystem and entrepreneur toolbox - Aug 2015
Singapore startup ecosystem and entrepreneur toolbox - Aug 2015Singapore startup ecosystem and entrepreneur toolbox - Aug 2015
Singapore startup ecosystem and entrepreneur toolbox - Aug 2015Arnaud Bonzom
 
Automated Discovery of Performance Regressions in Enterprise Applications
Automated Discovery of Performance Regressions in Enterprise ApplicationsAutomated Discovery of Performance Regressions in Enterprise Applications
Automated Discovery of Performance Regressions in Enterprise ApplicationsSAIL_QU
 
Understanding the Rationale for Updating a Function's Comment
Understanding the Rationale for Updating a Function's CommentUnderstanding the Rationale for Updating a Function's Comment
Understanding the Rationale for Updating a Function's CommentSAIL_QU
 
Powering of bangladesh- Vision 2021
Powering of bangladesh- Vision 2021Powering of bangladesh- Vision 2021
Powering of bangladesh- Vision 2021Mukhlasur Rahman
 
An Industrial Case Study on the Automated Detection of Performance Regression...
An Industrial Case Study on the Automated Detection of Performance Regression...An Industrial Case Study on the Automated Detection of Performance Regression...
An Industrial Case Study on the Automated Detection of Performance Regression...SAIL_QU
 
Supporting Software Evolution Using Adaptive Change Propagation
Supporting Software Evolution Using Adaptive Change PropagationSupporting Software Evolution Using Adaptive Change Propagation
Supporting Software Evolution Using Adaptive Change PropagationSAIL_QU
 
Sustainability Day Leeds 2017
Sustainability Day Leeds 2017Sustainability Day Leeds 2017
Sustainability Day Leeds 20174 All of Us
 
Lean Canvas evolved - FTE Canvas
Lean Canvas evolved - FTE CanvasLean Canvas evolved - FTE Canvas
Lean Canvas evolved - FTE CanvasGorilla Ventures Oy
 

Viewers also liked (18)

Modeling the Performance of Ultra-Large-Scale Systems Using Layered Simulations
Modeling the Performance of Ultra-Large-Scale Systems Using Layered SimulationsModeling the Performance of Ultra-Large-Scale Systems Using Layered Simulations
Modeling the Performance of Ultra-Large-Scale Systems Using Layered Simulations
 
Case History Carlo Cairoli
Case History Carlo CairoliCase History Carlo Cairoli
Case History Carlo Cairoli
 
Medios publicitarios
Medios publicitarios Medios publicitarios
Medios publicitarios
 
Iniciativa del Senador Luis Humberto Fernández sobre coaliciones entre indepe...
Iniciativa del Senador Luis Humberto Fernández sobre coaliciones entre indepe...Iniciativa del Senador Luis Humberto Fernández sobre coaliciones entre indepe...
Iniciativa del Senador Luis Humberto Fernández sobre coaliciones entre indepe...
 
Log Engineering: Towards Systematic Log Mining to Support the Development of ...
Log Engineering: Towards Systematic Log Mining to Support the Development of ...Log Engineering: Towards Systematic Log Mining to Support the Development of ...
Log Engineering: Towards Systematic Log Mining to Support the Development of ...
 
Proyecto de sociologia
Proyecto de sociologiaProyecto de sociologia
Proyecto de sociologia
 
Empircal Studies of Performance Bugs & Performance Analysis Approaches for La...
Empircal Studies of Performance Bugs & Performance Analysis Approaches for La...Empircal Studies of Performance Bugs & Performance Analysis Approaches for La...
Empircal Studies of Performance Bugs & Performance Analysis Approaches for La...
 
C de marchi_tirocinio
C de marchi_tirocinioC de marchi_tirocinio
C de marchi_tirocinio
 
비아그라 판매 =&lt;7cc.kr>=비아그라 정품 판매~비아그라판매±비아그라 정품판매∏비아그라 50mg판매,프릴리지 50mg판매,흥분제 ...
비아그라 판매 =&lt;7cc.kr>=비아그라 정품 판매~비아그라판매±비아그라 정품판매∏비아그라 50mg판매,프릴리지 50mg판매,흥분제 ...비아그라 판매 =&lt;7cc.kr>=비아그라 정품 판매~비아그라판매±비아그라 정품판매∏비아그라 50mg판매,프릴리지 50mg판매,흥분제 ...
비아그라 판매 =&lt;7cc.kr>=비아그라 정품 판매~비아그라판매±비아그라 정품판매∏비아그라 50mg판매,프릴리지 50mg판매,흥분제 ...
 
Importance of Eye Contact in Hospitality
Importance of Eye Contact in HospitalityImportance of Eye Contact in Hospitality
Importance of Eye Contact in Hospitality
 
Singapore startup ecosystem and entrepreneur toolbox - Aug 2015
Singapore startup ecosystem and entrepreneur toolbox - Aug 2015Singapore startup ecosystem and entrepreneur toolbox - Aug 2015
Singapore startup ecosystem and entrepreneur toolbox - Aug 2015
 
Automated Discovery of Performance Regressions in Enterprise Applications
Automated Discovery of Performance Regressions in Enterprise ApplicationsAutomated Discovery of Performance Regressions in Enterprise Applications
Automated Discovery of Performance Regressions in Enterprise Applications
 
Understanding the Rationale for Updating a Function's Comment
Understanding the Rationale for Updating a Function's CommentUnderstanding the Rationale for Updating a Function's Comment
Understanding the Rationale for Updating a Function's Comment
 
Powering of bangladesh- Vision 2021
Powering of bangladesh- Vision 2021Powering of bangladesh- Vision 2021
Powering of bangladesh- Vision 2021
 
An Industrial Case Study on the Automated Detection of Performance Regression...
An Industrial Case Study on the Automated Detection of Performance Regression...An Industrial Case Study on the Automated Detection of Performance Regression...
An Industrial Case Study on the Automated Detection of Performance Regression...
 
Supporting Software Evolution Using Adaptive Change Propagation
Supporting Software Evolution Using Adaptive Change PropagationSupporting Software Evolution Using Adaptive Change Propagation
Supporting Software Evolution Using Adaptive Change Propagation
 
Sustainability Day Leeds 2017
Sustainability Day Leeds 2017Sustainability Day Leeds 2017
Sustainability Day Leeds 2017
 
Lean Canvas evolved - FTE Canvas
Lean Canvas evolved - FTE CanvasLean Canvas evolved - FTE Canvas
Lean Canvas evolved - FTE Canvas
 

Similar to Large-Scale Empirical Studies of Mobile Apps

Investigating country differences in mobile app user behavior and challenges ...
Investigating country differences in mobile app user behavior and challenges ...Investigating country differences in mobile app user behavior and challenges ...
Investigating country differences in mobile app user behavior and challenges ...redpel dot com
 
IRJET- Approaching Highlights and Security issues in Software Engineering...
IRJET-  	  Approaching Highlights and Security issues in Software Engineering...IRJET-  	  Approaching Highlights and Security issues in Software Engineering...
IRJET- Approaching Highlights and Security issues in Software Engineering...IRJET Journal
 
11 Most Amazing Facts About Mobile Apps Development
11 Most Amazing Facts About Mobile Apps Development11 Most Amazing Facts About Mobile Apps Development
11 Most Amazing Facts About Mobile Apps DevelopmentClaritus Consulting
 
Android Application Development
Android Application DevelopmentAndroid Application Development
Android Application DevelopmentGokhan Arik
 
Android workshop sn tech solutions
Android workshop sn tech solutionsAndroid workshop sn tech solutions
Android workshop sn tech solutionsSN Tech Solutions
 
Mobile applications
Mobile applicationsMobile applications
Mobile applicationsShweta Jain
 
Android Development and Job Reviews
Android Development and Job ReviewsAndroid Development and Job Reviews
Android Development and Job ReviewsFlats in pune
 
whyglobal services.pptx
whyglobal services.pptxwhyglobal services.pptx
whyglobal services.pptxseovicky
 
Mobile Application Security Testing, Testing for Mobility App | www.idexcel.com
Mobile Application Security Testing, Testing for Mobility App | www.idexcel.comMobile Application Security Testing, Testing for Mobility App | www.idexcel.com
Mobile Application Security Testing, Testing for Mobility App | www.idexcel.comIdexcel Technologies
 
Mse july13 (1/3)
Mse july13 (1/3)Mse july13 (1/3)
Mse july13 (1/3)IIITA
 
State of mobile mobile developers:ecosystem and marketing mix
State of mobile mobile developers:ecosystem and marketing mixState of mobile mobile developers:ecosystem and marketing mix
State of mobile mobile developers:ecosystem and marketing mixSumit Roy
 
Future of mobile Apps in India & Global market
Future of mobile Apps in India & Global market Future of mobile Apps in India & Global market
Future of mobile Apps in India & Global market Tapas Das
 
Thorsignia - Custom software development services in india
Thorsignia - Custom software development services in indiaThorsignia - Custom software development services in india
Thorsignia - Custom software development services in indiacharan Teja
 
The State Of Mobile Monetization - 2017
The State Of Mobile Monetization - 2017The State Of Mobile Monetization - 2017
The State Of Mobile Monetization - 2017Ofir Krisspel
 

Similar to Large-Scale Empirical Studies of Mobile Apps (20)

Investigating country differences in mobile app user behavior and challenges ...
Investigating country differences in mobile app user behavior and challenges ...Investigating country differences in mobile app user behavior and challenges ...
Investigating country differences in mobile app user behavior and challenges ...
 
IRJET- Approaching Highlights and Security issues in Software Engineering...
IRJET-  	  Approaching Highlights and Security issues in Software Engineering...IRJET-  	  Approaching Highlights and Security issues in Software Engineering...
IRJET- Approaching Highlights and Security issues in Software Engineering...
 
Mobile App
Mobile AppMobile App
Mobile App
 
11 Most Amazing Facts About Mobile Apps Development
11 Most Amazing Facts About Mobile Apps Development11 Most Amazing Facts About Mobile Apps Development
11 Most Amazing Facts About Mobile Apps Development
 
Android Application Development
Android Application DevelopmentAndroid Application Development
Android Application Development
 
Android workshop sn tech solutions
Android workshop sn tech solutionsAndroid workshop sn tech solutions
Android workshop sn tech solutions
 
Apps White Papers
Apps White PapersApps White Papers
Apps White Papers
 
Mobile applications
Mobile applicationsMobile applications
Mobile applications
 
Android Development and Job Reviews
Android Development and Job ReviewsAndroid Development and Job Reviews
Android Development and Job Reviews
 
Android jobs review
Android jobs reviewAndroid jobs review
Android jobs review
 
whyglobal services.pptx
whyglobal services.pptxwhyglobal services.pptx
whyglobal services.pptx
 
Mobile Thinking
Mobile ThinkingMobile Thinking
Mobile Thinking
 
Mobile Application Security Testing, Testing for Mobility App | www.idexcel.com
Mobile Application Security Testing, Testing for Mobility App | www.idexcel.comMobile Application Security Testing, Testing for Mobility App | www.idexcel.com
Mobile Application Security Testing, Testing for Mobility App | www.idexcel.com
 
Mse july13 (1/3)
Mse july13 (1/3)Mse july13 (1/3)
Mse july13 (1/3)
 
State of mobile mobile developers:ecosystem and marketing mix
State of mobile mobile developers:ecosystem and marketing mixState of mobile mobile developers:ecosystem and marketing mix
State of mobile mobile developers:ecosystem and marketing mix
 
Future of mobile Apps in India & Global market
Future of mobile Apps in India & Global market Future of mobile Apps in India & Global market
Future of mobile Apps in India & Global market
 
Mobile Application .pdf
Mobile Application .pdfMobile Application .pdf
Mobile Application .pdf
 
Thorsignia - Custom software development services in india
Thorsignia - Custom software development services in indiaThorsignia - Custom software development services in india
Thorsignia - Custom software development services in india
 
The State Of Mobile Monetization - 2017
The State Of Mobile Monetization - 2017The State Of Mobile Monetization - 2017
The State Of Mobile Monetization - 2017
 
Appcelerator report-q3-2012-final
Appcelerator report-q3-2012-finalAppcelerator report-q3-2012-final
Appcelerator report-q3-2012-final
 

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 testsSAIL_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 ChangesSAIL_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 AnalysesSAIL_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 ProfessionalsSAIL_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
 

Recently uploaded

Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 

Recently uploaded (20)

Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 

Large-Scale Empirical Studies of Mobile Apps

  • 1. LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS Israel Jesus Mojica Ruiz
  • 2. 2 Mobile apps are applications to run on mobile devices (smartphones, tablets, etc).
  • 3. Apps are different than traditional software 3 1 Wasserman, A. I. (2010), Software engineering issues for mobile application development, in ‘FSE/SDP workshop on Future of software engineering research’, FoSER ’10. 2 Syer, M. D., Adams, B., Zou, Y. and Hassan, A. E. (2011), Exploring the development of micro-apps: A case study on the blackberry and android platforms, in ‘Proceedings of the 2011 IEEE 11th International Working Conference on Source Code Analysis and Manipulation’, SCAM ’11, IEEE Computer Society, Washington, DC, USA, pp. 55–64. 3 Gasimov, A., Tan, C.-H., Phang, C. W. and Sutanto, J. (2010), Visiting mobile application development: What, how and where, in ‘Proceedings of the International Conference on Mobile Business and Global Mobility Roundtable (ICMB-GMR)’, pp. 74–81. 4 Minelli, R. and Lanza, M. (2013), Software analytics for mobile applications - insights & lessons learned, in ‘Proceedings of CSMR 2013 (17th European Conference on Software Maintenance and Reengineering)’, IEEE CS Press, pp. 144–153. • Apps are comparably small (several KLOC), usually developed by one or two developers only.1 • Development practices of mobile apps differs from other type of software.2 • Apps have specific software challenges: security, limited hardware resources, and scalability.3 • Apps differ from traditional software.4
  • 4. Billionaire market with thousands of software developers 4 Billionaire market: The app market is estimated to generate revenues of $74 US billion in 2017.1 1Columbus, L. (2013), ‘Roundup of mobile apps and app store forecasts, 2013’, http://www:forbes:com/sites/louiscolumbus/2013/06/09/roundup-of-mobile-apps-app-store-forecasts-2013/. 2ABI (2012), ‘In-app purchases to outpace pay-per-download revenues in 2012’, http://www:abiresearch:com/press/in-app- purchases-tooutpace-pay-per-download-reven. 3O’Neill, N. (2010), ‘10 surprising app platform facts [infographic]’, http://www:allfacebook:com/app-platform-facts-2010-09. Thousands of app developers: 50,000 app developers only two years after the first app store opened.3 Billion of apps downloaded: It is estimated that 50 billion apps (across all platforms) were downloaded in 2012. 2
  • 5. Accelerated Rate of Growth in the Number of Apps 5 Apple’s App store 500 apps (Jul-2008) to 800K (Mid 2013). Google Play Store 2K apps (Mar-2009) to 800K apps (Mid 2013). Windows Phone App Store 145K apps (Mid 2013). BlackBerry App World 120K apps (Mid 2013). Amazon App store 3K apps (Mar-2011) to 75K (Mid 2013). Apple App Store Google Play App Store
  • 6. Free apps dominate the app market 6 ~75% apps are free to download apps1 ~90% of downloaded apps are free apps2 1AppBrain (2013), ‘Comparison of free and paid android apps’, http://www:appbrain:com/stats/free-and-paid-android- applications. 2 Pettey, C. and van der Meulen, R. (2012), ‘Gartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012’, http://www:gartner:com/it/page:jsp?id=2153215.
  • 7. App developers are competing against other hundred of thousands of free apps 7 Thousands of free apps An app is alone Unknown future App developers are worried Retire the app A damaged app A champion app
  • 8. Research statement 8 New software engineering challenges have emerged in the current context of mobile apps. App developers, in order to compete profitably in a massive market of apps, should take into consideration traditional aspects such as code reuse and novelty, and new aspects such as the approval of the app users, and the advertisement libraries embedded in their apps. In depth empirical studies are needed in order to shape and direct future software engineering research for mobile apps.
  • 9. The Android platform dominates the worldwide market Smartphones running Android OS has a market share of more than 68% of the market around the world. 9 68% 17% 5% 3% 7% Android iOS BlackBerry Windows Others 1AP (2012), ‘Android market share q3 2012: Google’s still beating apple, but will the iphone 5 change that?’, http://www:huffingtonpost:com/2012/09/18/androidmarket-share-q3-2012 n 1893292:html.
  • 10. 10 Software reuse in mobile apps App rating Ad maintenance LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
  • 11. 11
  • 12. 12 SOFTWARE REUSE Exponential Growth in the Number of Apps in the Google Play app store Time 0 100000 200000 300000 400000 500000 600000 700000 800000 Mar-09 May-09 Jul-09 Sep-09 Nov-09 Jan-10 Mar-10 May-10 Jul-10 Sep-10 Nov-10 Jan-11 Mar-11 May-11 Jul-11 Sep-11 Nov-11 Jan-12 Mar-12 May-12 Jul-12 Sep-12 800K 700K 600K 500K 400K 300K 200K 100K 0 Numberofapps
  • 13. Comparing Two Classes 13 Davies, J.; German, D.M.; Godfrey, M.W.; Hindle, A.; , “Software bertillonage: finding the provenance of an entity,” - MSR ’11 Source Code CCFinder NICAD SimScan Bytecode Bertillonage Signatures
  • 14. 14 4,323 app 501 apps 554 apps 1,034 apps 1,115 apps 1,119 apps Apps Collected in the Google Play app store
  • 15. 15 Total Classes: 59,208 52,425 88,156 250,063 84,205 3000 2500 2000 1500 1000 500 0 Range of Android Apps Size Android Apps size dispersion Numberofclasses Category An App
  • 16. How Much Diversity is There in a Category? 16 OneCategory App 1 App 2 App 3 10= B , = 4 Reused Classes = 60% A , C, D BA C D AA D B C B Classes { } Unique Classes = 40%
  • 18. Global Reuse of Classes 18 OneCategory App 1 App 2 App 3 global (App 1) = A B C D A E F A D E F G 5 3 4 3 5 = 0.60 global (App 2) = 3 3 = 1.00 global (App 3) = 3 4 = 0.75
  • 19. High Global Reuse 19 1.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 Global Reuse PercentageofAppsforeachCategory 100 80 60 40 20 0
  • 20. High Global Reuse 20 PercentageofAppsforeachCategory 100 80 60 40 20 0 Between 50%-80% of apps have at least 30% of classes in common Between 5%-19% of apps have almost identical set of classes in common Mockus, A.; , “Large-Scale Code Reuse in Open Source Software,” Emerging Trends in FLOSS Research and Development, 2007. FLOSS ’07. First International Workshop on , vol., no., pp.7, 20-26 May 2007. 1.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 Global Reuse
  • 21. Pair Wise Reuse 21 OneCategory App 1 App 2 local (App 1, App 2) A B C D A E F 2 5 = = 0.40 local (App 2, App 1) 2 3 = = 0.67 local (App 3, App 2) 2 4 = = 0.50 App 3 A D F GE
  • 22. 22
  • 23. Social: 57 out of 1,119 apps were identical 23
  • 24. Reuse of framework 24 Developer ADeveloper C Developer B Developer D
  • 25. 25 Software reuse has highly contributed to accelerate the production of Android apps. Software reuse in mobile apps App rating Ad maintenance LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
  • 26. Large dataset of apps The Google Play was crawled along the 2011 obtaining: • 500K app versions • 200K apps The data obtained from this crawling: • The app files (APK files). • Metadata: Category, number of raters, the average-rating, binary size (in bytes), version number, company name, company website, and presence of marketing material like promotional videos. 26
  • 27. 27 Software reuse has highly contributed to accelerate the production of Android apps. Software reuse in mobile apps App rating Ad maintenance LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
  • 28. The rating of an app shows the app users’ perceived quality of an app 28
  • 29. Congratulations, it only took you 700,000 apps!! I found the app!!! The rating of an app helps it to be found 29 At least 1000 results
  • 30. 30 Version-rating X1 X2 X3 X1 X3 Number of Raters: = 5 = 8 = 9 = 2 = 3 10 27 Version 1.0 Version-rating 1.0 = 27/10 = 2.7 Number of Stars:
  • 32. Many apps contain biased ratings because of a low number of versions and/or raters 32 1 2 3 4 5 Rating Density Plot of the ratings of all apps with at least 10 raters Density 00.10.20.30.40.50.60.7 1 2 3 4 5 Rating Density Plot of the ratings of all apps Density 00.51.01.5
  • 33. • App-user could download an app with high average-rating, even though the quality is very bad. • App-developers should be careful about their first release. Otherwise, the app can start with a low rating, and due to the snowball effect, continue to be a poorly rated/downloaded app. 33 Unhappy app-users with high average rated apps. App-developers depend so much on their first app version.
  • 34. 34 The global-rating is resilient to fluctuations after a large number of app-users have rated an app 1e+00 1e+02 1e+04 1e+06 Initial #raters -2024 Global-ratingincrease Global-rating increase -1.5 -1.0 -0.5 0 0.5 1.0 1.5 Version-ratingincrease -4-202
  • 35. 35 App-store-owners should display both the global- and the version-rating. Then app-users will have access to the best quality apps. Version n Rated by: 1,000,000 app-users Global-rating: 3.0 Global-rating= ∑ ÷ ∑ = 3.0 ∑ = ∑ x global-rating = 3,000,000 New Awful version: 1,000 by 1,000 Global-rating = (3,000,000+1,000) ÷(1,000,000+1,000) = 2.998~3.0
  • 36. 36 The global-rating does not incentive to app developers to release a better app. Version n Rated by: 1,000,000 app-users Global-rating: 3.0 Global-rating= ∑ ÷ ∑ = 3.0 ∑ = ∑ x global-rating = 3,000,000 New Awesome version:5,000 by1,000 Global-rating = (3,000,000+5,000) ÷(1,000,000+1,000) = 3.001~3.0
  • 37. 37 Most apps can recover from a drop in rating within the next few versions.
  • 38. 38
  • 39. Size, OO Design and Reuse metrics are most closely related with version-rating increases 39 Apps with large number of classes (more functionality) tend to increase their rating. App-developers can increase the version-rating of their app by being careful with adding too much home-brewed code (as opposed to reusing existing libraries). However, app-developers should be careful exposing too much functionality in their app (public methods).
  • 40. 40 App-stores may provide a service to help app developers to predict the rating of their apps
  • 41. 41 Software reuse has highly contributed to accelerate the production of Android apps. Software reuse in mobile apps App rating Ad maintenance The present rating system does not motivate app-developers to improve the quality of their apps. LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
  • 42. 42 Software reuse has highly contributed to accelerate the production of Android apps. Software reuse in mobile apps App rating Ad maintenance LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS The present rating system does not motivate app-developers to improve the quality of their apps.
  • 43. Free apps dominate the app market 43 ~90% of downloaded apps are free-to-download apps2 1AppBrain (2013), ‘Comparison of free and paid android apps’, http://www:appbrain:com/stats/free-and-paid-android- applications. 2 Pettey, C. and van der Meulen, R. (2012), ‘Gartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012’, http://www:gartner:com/it/page:jsp?id=2153215. ~75% apps are free to download1
  • 45. App developers depend on ads to generate revenue from their free to download apps 45 This is an ad
  • 46. Process to serve an ad Advertiser 46 CPA CPM CPC
  • 47. Low Number of Ads available (Low Fill rate) Fill rate is the percentage of ads received from the advertising company relative to the number of requests made. 47 App developers can integrate ad libraries from different advertising companies to increase the fill rate of their apps. In the first half of 2011 the average fill rate for the worldwide top 40 ad networks was less than 18%1. Furthermore, ad networks that tend to pay more tend to have low fill rates, while ad networks with the highest fill rates tend to pay less2. 1 Candeias, H. (2011), ‘Smaato releases q2 2011 mobile metrics report’, http://www:smaato:com/metricsq22011-2/. 2 Opera (2013), ‘The state of mobile advertising, q2 2012’, http://business:opera:com/sma/2012/q2/.
  • 48. 48 Three ad-serving models: Ad-network, Ad-mediator, Ad-exchange AppLogic
  • 51. 51 Ad-network model Ad-mediator model Ad-exchange model Three ad-serving models: Ad-network, Ad-mediator, Ad-exchange
  • 52. Ad-libraries are updated constantly 52 Corporate moves Integrate new features (e.g., ad video) Add compatibility with other ad libraries Fix bugs (memory, ads no displayed, etc.) Manage personal information
  • 53. SW Engineering Challenges • Balance between app and ad environment. Ads are annoying: 68% of consumers find online ads “annoying” and “distracting”.1 53 • Increase revenue. App-developers evaluate which ad-library generates the highest revenue. • Time between publication. Ad-library providers are updating constantly their ad-libraries. 1http://www.adobe.com/aboutadobe/pressroom/pdfs/Adobe_State_of_Online_Advertising_Study.pdf
  • 54. Ad-maintenance Ad-maintenance are the different tasks of software maintenance that app-developers have to perform on the embedded ad libraries in an app, instead of the features of the app. 54 • Examples of such changes are correcting problems with the ad libraries, modify, add, remove or update an ad library in an app. • The final goal of a proper ad maintenance is to ensure that the ad libraries do not impact negatively on the app user experience, while app developers generate the maximum revenue from the ads in their apps.
  • 55. Identifying ad-libraries 1. Search the [aA][dD] regular expression across the apps’ classes com.packageAdlibraryName.AdclassName 2. Web search of the packageAdlibraryName 55 72 ad-libraries!!!
  • 56. Ad-libraries play a prominent role in the free apps 56 49% 51% No ads Ad-supported apps
  • 57. The percentage of ad supported apps varies across the different app categories 57 Categories Photography Games Entertainment Comics Personalization Media&Video News&Magazines Libraries&Demo Books&references Sports Health&Fitness Weather Tools Education Lifestyle Music&Audio Social Transportation Productivity Travel&Local Communication Shopping Finance Medical Business 90 80 70 60 50 40 30 20 10 0 Percentageofad-supportedappspercategory 78.1% 77.8% 64.3% 63.8% Top categories with ad-supported apps 26.2%24.5% 18.9% 14.3% Top categories with less ad-supported apps
  • 58. Few different ad libraries dominate the ad library market 58 Ad-libraries 60 50 40 30 20 10 0 Percentageofad-supportedapps
  • 59. • Revenue • Premium ad-networks • Regional vs global • Trust • Type ad-content 59 Choosing an ad-library
  • 60. The ad-network serving model dominates drastically the ad market • 61 out of the 72 (84.72%) of the ad libraries identified work as ad networks, 6 (8.33%) are ad-mediator libraries, and 5 (6.94%) are ad exchanges libraries. 60 Ad-serving model Percentageofad-supportedapps 88% 11.6% 9.9%
  • 61. Ad supported apps can contain a large number of ad libraries 61 I think I had so many ad-libraries!!! Number of ad-libraries embedded Even 28 ad-libraries in an app!!! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 90K 80K 70K 60K 50K 40K 30K 20K 10K 0 Numberofapps 17.57% (21,256) 65.11% (78,775) 7.09% (8,581) 3.36% (4,068) 0.59% (709) 0.06% (78) 0.06% (73) 1.05% (1,265) 0.50% (608) 0.20% (240)
  • 62. Are app developers updating the ad-libraries? 62 Version 1.0 Version n
  • 63. App developers are frequently updating the ad libraries in their apps Ad-libraries were: • Updated 65.25% • Added 43.69% • Removed 24.64% 63
  • 64. 942 apps out of the 6,850 (13.75%) only updated their ad-libraries 64 How much a calculator can change? 942 apps out of 6,850 were resubmitted to the Google Play App Store with only changes in their ad-libraries APIs. The rest of the APIs were not modified.
  • 65. 65 To use only one ad-network results in the least number of ad changes, followed by the ad-exchanges serving model
  • 66. The number of ad libraries does not affect the rating 66 Number of ad-libraries 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28 5 4 3 2 1 Version-rating
  • 67. The behaviour of an ad-library affects the rating of an app 67 Ad-libraries Version-rating Good game, bad ads. I was loving the game until I noticed it put a new shortcut called ”Apps” on my launcher. Sorry, but if your idea of advertising is putting sh*t in launcher pages or notifications then I’m not interested.
  • 68. 68 Software reuse has highly contributed to accelerate the production of Android apps. Software reuse in mobile apps App rating Ad maintenance helps app developers to keep on generating revenue, and healthy ratings. Ad maintenance LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS The present rating system does not motivate app-developers to improve the quality of their apps.
  • 70. 70
  • 71. 71
  • 72. 72
  • 73. 73 Bertillonage Signature Decompiled Class Package p.s public class ClassName extends j.l.E implements x.y.Z { public void C(){ //Class‘ constructor } private int a(java.lang.String s) throws pack.subPackage.K{ /*[compiled byte code]*/ } } Bertillonage Signature p.s. public void C() private int a(String) throws K public class ClassName extends E implements Z sClass = sM1 = sM2 = Bertillonage class signature = <sClass,<sM1,sM2>>
  • 74. 74