large-scale empirical studies of mobile apps
Post on 15-Apr-2017
71 Views
Preview:
TRANSCRIPT
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 lsquoFSESDP workshop on Future of software engineering researchrsquo FoSER rsquo102 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 lsquoProceedings of the 2011 IEEE 11th International Working Conference on Source Code Analysis and Manipulationrsquo SCAM rsquo11 IEEE Computer Society Washington DC USA pp 55ndash643 Gasimov A Tan C-H Phang C W and Sutanto J (2010) Visiting mobile application development What how and where in lsquoProceedings of the International Conference on Mobile Business and Global Mobility Roundtable (ICMB-GMR)rsquo pp 74ndash814 Minelli R and Lanza M (2013) Software analytics for mobile applications - insights amp lessons learned in lsquoProceedings of CSMR 2013 (17th European Conference on Software Maintenance and Reengineering)rsquo IEEE CS Press pp 144ndash153
bull Apps are comparably small (several KLOC) usually developed by one or two developers only1
bull Development practices of mobile apps differs from other type of software2
bull Apps have specific software challenges security limited hardware resources and scalability3
bull Apps differ from traditional software4
Billionaire market with thousands of software developers
4
Billionaire market The app market is estimated to generate revenues of $74 US billion in 20171
1Columbus L (2013) lsquoRoundup of mobile apps and app store forecasts 2013rsquo httpwwwforbescomsiteslouiscolumbus20130609roundup-of-mobile-apps-app-store-forecasts-2013 2ABI (2012) lsquoIn-app purchases to outpace pay-per-download revenues in 2012rsquo httpwwwabiresearchcompressin-app-purchases-tooutpace-pay-per-download-reven3OrsquoNeill N (2010) lsquo10 surprising app platform facts [infographic]rsquo httpwwwallfacebookcomapp-platform-facts-2010-09
Thousands of app developers 50000 app developers only two years after the first app store opened3
Billion of apps downloaded It is estimated that 50 billion apps (across all platforms) were downloaded in 2012 2
Accelerated Rate of Growthin the Number of Apps
5
Applersquos 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 dominatethe app market
6
~75 apps are free to download apps1
~90 of downloaded apps are free apps2
1AppBrain (2013) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
4 7
Android
iOSBlackBerry
WindowsOthers
1AP (2012) lsquoAndroid market share q3 2012 Googlersquos still beating apple but will the iphone 5 change thatrsquo httpwwwhuffingtonpostcom20120918androidmarket-share-q3-2012 n 1893292html
10
Software reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
11
12
SOFTWARE REUSEExponential Growth in the Number of Apps
in the Google Play app store
TimeMar-
09
May-09
Jul-0
9
Sep-09
Nov-09
Jan-1
0
Mar-10
May-10
Jul-1
0
Sep-10
Nov-10
Jan-1
1
Mar-11
May-11
Jul-1
1
Sep-11
Nov-11
Jan-1
2
Mar-12
May-12
Jul-1
2
Sep-12
0
100000
200000
300000
400000
500000
600000
700000
800000800K
700K
600K
500K
400K
300K
200K
100K
0
Num
ber o
f app
s
Comparing Two Classes
13
Davies J German DM Godfrey MW Hindle A ldquoSoftware bertillonage finding the provenance of an entityrdquo - MSR rsquo11
Source CodeCCFinderNICADSimScan
Bytecode Bertillonage Signatures
14
4323 app
501 apps
554 apps1034 apps
1115 apps1119 apps
Apps Collected in the Google Play app store
15
Total Classes 59208 52425 88156 250063 84205
3000
2500
2000
1500
1000
500
0
Range of Android Apps Size
Android Apps size dispersion
Num
ber o
f cla
sses
Category
An App
How Much Diversity is There in a Category
16
One
Cat
egor
y
App 1 App 2 App 3
10=
B = 4
Reused Classes = 60
A C D
BAC D
AAD
BC
B Classes
Unique Classes = 40
17
80
70
60
50
40
30
20
10
0
Perc
enta
ge o
f Cla
sses
Reu
sed
HIGH Code Reuse
Category
53
71
5954
68
Global Reuse of Classes
18
One
Cat
egor
y
App 1 App 2 App 3
global (App 1) =
A BC D
A EF
A DE F G
5 3 4 35
= 060
global (App 2) = 33
= 100
global (App 3) = 34
= 075
High Global Reuse
19
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Per
cent
age
of A
pps
for e
ach
Cat
egor
y100
80
60
40
20
0
High Global Reuse
20
Per
cent
age
of A
pps
for e
ach
Cat
egor
y 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 ldquoLarge-Scale Code Reuse in Open Source Softwarerdquo Emerging Trends in FLOSS Research and Development 2007 FLOSS rsquo07 First International Workshop on vol no pp7 20-26 May 2007
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Pair Wise Reuse
21
One
Cat
egor
y
App 1 App 2
local (App 1 App 2)
A BC D
A EF
25
= = 040
local (App 2 App 1) 23
= = 067
local (App 3 App 2) 24
= = 050
App 3
A DF GE
22
Social 57 out of 1119 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
Large dataset of appsThe Google Play was crawled along the 2011 obtainingbull 500K app versionsbull 200K apps
The data obtained from this crawlingbull The app files (APK files)bull 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The rating of an app shows the app usersrsquo perceived quality of an app
28
Congratulations it only took you 700000 apps
I found the app
The rating of an app helps it to be found
29
At least 1000 results
30
Version-rating
X1X2X3X1X3
Number of Raters
= 5 = 8= 9= 2= 3
10 27
Version 10
Version-rating 10 = 2710 = 27
Number of Stars
Global-rating
31
Many apps contain biased ratings because of a low number of versions andor raters
32
1 2 3 4 5Rating
Density Plot of the ratings of all apps with at least 10 raters
Den
sity
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7
1 2 3 4 5Rating
Density Plot of the ratings of all apps
Den
sity
0
0
5
1
0
1
5
bull App-user could download an app with high average-rating even though the quality is very bad
bull 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 rateddownloaded 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 aftera large number of app-users have rated an app
1e+00 1e+02 1e+04 1e+06Initial raters
-2
0
2
4
Glo
bal-r
atin
g in
crea
se
Global-rating increase
-15 -10 -05 0 05 10 15
Vers
ion-
ratin
g in
crea
se
-4
-2
0
2
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 nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awful version 1000 by 1000
Global-rating = (3000000+1000) divide(1000000+1000) = 2998~30
36
The global-rating does not incentive to app developers to release a better app
Version nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awesome version5000 by1000
Global-rating = (3000000+5000) divide(1000000+1000) = 3001~30
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
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 lsquoFSESDP workshop on Future of software engineering researchrsquo FoSER rsquo102 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 lsquoProceedings of the 2011 IEEE 11th International Working Conference on Source Code Analysis and Manipulationrsquo SCAM rsquo11 IEEE Computer Society Washington DC USA pp 55ndash643 Gasimov A Tan C-H Phang C W and Sutanto J (2010) Visiting mobile application development What how and where in lsquoProceedings of the International Conference on Mobile Business and Global Mobility Roundtable (ICMB-GMR)rsquo pp 74ndash814 Minelli R and Lanza M (2013) Software analytics for mobile applications - insights amp lessons learned in lsquoProceedings of CSMR 2013 (17th European Conference on Software Maintenance and Reengineering)rsquo IEEE CS Press pp 144ndash153
bull Apps are comparably small (several KLOC) usually developed by one or two developers only1
bull Development practices of mobile apps differs from other type of software2
bull Apps have specific software challenges security limited hardware resources and scalability3
bull Apps differ from traditional software4
Billionaire market with thousands of software developers
4
Billionaire market The app market is estimated to generate revenues of $74 US billion in 20171
1Columbus L (2013) lsquoRoundup of mobile apps and app store forecasts 2013rsquo httpwwwforbescomsiteslouiscolumbus20130609roundup-of-mobile-apps-app-store-forecasts-2013 2ABI (2012) lsquoIn-app purchases to outpace pay-per-download revenues in 2012rsquo httpwwwabiresearchcompressin-app-purchases-tooutpace-pay-per-download-reven3OrsquoNeill N (2010) lsquo10 surprising app platform facts [infographic]rsquo httpwwwallfacebookcomapp-platform-facts-2010-09
Thousands of app developers 50000 app developers only two years after the first app store opened3
Billion of apps downloaded It is estimated that 50 billion apps (across all platforms) were downloaded in 2012 2
Accelerated Rate of Growthin the Number of Apps
5
Applersquos 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 dominatethe app market
6
~75 apps are free to download apps1
~90 of downloaded apps are free apps2
1AppBrain (2013) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
4 7
Android
iOSBlackBerry
WindowsOthers
1AP (2012) lsquoAndroid market share q3 2012 Googlersquos still beating apple but will the iphone 5 change thatrsquo httpwwwhuffingtonpostcom20120918androidmarket-share-q3-2012 n 1893292html
10
Software reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
11
12
SOFTWARE REUSEExponential Growth in the Number of Apps
in the Google Play app store
TimeMar-
09
May-09
Jul-0
9
Sep-09
Nov-09
Jan-1
0
Mar-10
May-10
Jul-1
0
Sep-10
Nov-10
Jan-1
1
Mar-11
May-11
Jul-1
1
Sep-11
Nov-11
Jan-1
2
Mar-12
May-12
Jul-1
2
Sep-12
0
100000
200000
300000
400000
500000
600000
700000
800000800K
700K
600K
500K
400K
300K
200K
100K
0
Num
ber o
f app
s
Comparing Two Classes
13
Davies J German DM Godfrey MW Hindle A ldquoSoftware bertillonage finding the provenance of an entityrdquo - MSR rsquo11
Source CodeCCFinderNICADSimScan
Bytecode Bertillonage Signatures
14
4323 app
501 apps
554 apps1034 apps
1115 apps1119 apps
Apps Collected in the Google Play app store
15
Total Classes 59208 52425 88156 250063 84205
3000
2500
2000
1500
1000
500
0
Range of Android Apps Size
Android Apps size dispersion
Num
ber o
f cla
sses
Category
An App
How Much Diversity is There in a Category
16
One
Cat
egor
y
App 1 App 2 App 3
10=
B = 4
Reused Classes = 60
A C D
BAC D
AAD
BC
B Classes
Unique Classes = 40
17
80
70
60
50
40
30
20
10
0
Perc
enta
ge o
f Cla
sses
Reu
sed
HIGH Code Reuse
Category
53
71
5954
68
Global Reuse of Classes
18
One
Cat
egor
y
App 1 App 2 App 3
global (App 1) =
A BC D
A EF
A DE F G
5 3 4 35
= 060
global (App 2) = 33
= 100
global (App 3) = 34
= 075
High Global Reuse
19
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Per
cent
age
of A
pps
for e
ach
Cat
egor
y100
80
60
40
20
0
High Global Reuse
20
Per
cent
age
of A
pps
for e
ach
Cat
egor
y 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 ldquoLarge-Scale Code Reuse in Open Source Softwarerdquo Emerging Trends in FLOSS Research and Development 2007 FLOSS rsquo07 First International Workshop on vol no pp7 20-26 May 2007
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Pair Wise Reuse
21
One
Cat
egor
y
App 1 App 2
local (App 1 App 2)
A BC D
A EF
25
= = 040
local (App 2 App 1) 23
= = 067
local (App 3 App 2) 24
= = 050
App 3
A DF GE
22
Social 57 out of 1119 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
Large dataset of appsThe Google Play was crawled along the 2011 obtainingbull 500K app versionsbull 200K apps
The data obtained from this crawlingbull The app files (APK files)bull 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The rating of an app shows the app usersrsquo perceived quality of an app
28
Congratulations it only took you 700000 apps
I found the app
The rating of an app helps it to be found
29
At least 1000 results
30
Version-rating
X1X2X3X1X3
Number of Raters
= 5 = 8= 9= 2= 3
10 27
Version 10
Version-rating 10 = 2710 = 27
Number of Stars
Global-rating
31
Many apps contain biased ratings because of a low number of versions andor raters
32
1 2 3 4 5Rating
Density Plot of the ratings of all apps with at least 10 raters
Den
sity
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7
1 2 3 4 5Rating
Density Plot of the ratings of all apps
Den
sity
0
0
5
1
0
1
5
bull App-user could download an app with high average-rating even though the quality is very bad
bull 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 rateddownloaded 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 aftera large number of app-users have rated an app
1e+00 1e+02 1e+04 1e+06Initial raters
-2
0
2
4
Glo
bal-r
atin
g in
crea
se
Global-rating increase
-15 -10 -05 0 05 10 15
Vers
ion-
ratin
g in
crea
se
-4
-2
0
2
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 nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awful version 1000 by 1000
Global-rating = (3000000+1000) divide(1000000+1000) = 2998~30
36
The global-rating does not incentive to app developers to release a better app
Version nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awesome version5000 by1000
Global-rating = (3000000+5000) divide(1000000+1000) = 3001~30
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
Apps are different than traditional
software
3
1 Wasserman A I (2010) Software engineering issues for mobile application development in lsquoFSESDP workshop on Future of software engineering researchrsquo FoSER rsquo102 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 lsquoProceedings of the 2011 IEEE 11th International Working Conference on Source Code Analysis and Manipulationrsquo SCAM rsquo11 IEEE Computer Society Washington DC USA pp 55ndash643 Gasimov A Tan C-H Phang C W and Sutanto J (2010) Visiting mobile application development What how and where in lsquoProceedings of the International Conference on Mobile Business and Global Mobility Roundtable (ICMB-GMR)rsquo pp 74ndash814 Minelli R and Lanza M (2013) Software analytics for mobile applications - insights amp lessons learned in lsquoProceedings of CSMR 2013 (17th European Conference on Software Maintenance and Reengineering)rsquo IEEE CS Press pp 144ndash153
bull Apps are comparably small (several KLOC) usually developed by one or two developers only1
bull Development practices of mobile apps differs from other type of software2
bull Apps have specific software challenges security limited hardware resources and scalability3
bull Apps differ from traditional software4
Billionaire market with thousands of software developers
4
Billionaire market The app market is estimated to generate revenues of $74 US billion in 20171
1Columbus L (2013) lsquoRoundup of mobile apps and app store forecasts 2013rsquo httpwwwforbescomsiteslouiscolumbus20130609roundup-of-mobile-apps-app-store-forecasts-2013 2ABI (2012) lsquoIn-app purchases to outpace pay-per-download revenues in 2012rsquo httpwwwabiresearchcompressin-app-purchases-tooutpace-pay-per-download-reven3OrsquoNeill N (2010) lsquo10 surprising app platform facts [infographic]rsquo httpwwwallfacebookcomapp-platform-facts-2010-09
Thousands of app developers 50000 app developers only two years after the first app store opened3
Billion of apps downloaded It is estimated that 50 billion apps (across all platforms) were downloaded in 2012 2
Accelerated Rate of Growthin the Number of Apps
5
Applersquos 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 dominatethe app market
6
~75 apps are free to download apps1
~90 of downloaded apps are free apps2
1AppBrain (2013) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
4 7
Android
iOSBlackBerry
WindowsOthers
1AP (2012) lsquoAndroid market share q3 2012 Googlersquos still beating apple but will the iphone 5 change thatrsquo httpwwwhuffingtonpostcom20120918androidmarket-share-q3-2012 n 1893292html
10
Software reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
11
12
SOFTWARE REUSEExponential Growth in the Number of Apps
in the Google Play app store
TimeMar-
09
May-09
Jul-0
9
Sep-09
Nov-09
Jan-1
0
Mar-10
May-10
Jul-1
0
Sep-10
Nov-10
Jan-1
1
Mar-11
May-11
Jul-1
1
Sep-11
Nov-11
Jan-1
2
Mar-12
May-12
Jul-1
2
Sep-12
0
100000
200000
300000
400000
500000
600000
700000
800000800K
700K
600K
500K
400K
300K
200K
100K
0
Num
ber o
f app
s
Comparing Two Classes
13
Davies J German DM Godfrey MW Hindle A ldquoSoftware bertillonage finding the provenance of an entityrdquo - MSR rsquo11
Source CodeCCFinderNICADSimScan
Bytecode Bertillonage Signatures
14
4323 app
501 apps
554 apps1034 apps
1115 apps1119 apps
Apps Collected in the Google Play app store
15
Total Classes 59208 52425 88156 250063 84205
3000
2500
2000
1500
1000
500
0
Range of Android Apps Size
Android Apps size dispersion
Num
ber o
f cla
sses
Category
An App
How Much Diversity is There in a Category
16
One
Cat
egor
y
App 1 App 2 App 3
10=
B = 4
Reused Classes = 60
A C D
BAC D
AAD
BC
B Classes
Unique Classes = 40
17
80
70
60
50
40
30
20
10
0
Perc
enta
ge o
f Cla
sses
Reu
sed
HIGH Code Reuse
Category
53
71
5954
68
Global Reuse of Classes
18
One
Cat
egor
y
App 1 App 2 App 3
global (App 1) =
A BC D
A EF
A DE F G
5 3 4 35
= 060
global (App 2) = 33
= 100
global (App 3) = 34
= 075
High Global Reuse
19
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Per
cent
age
of A
pps
for e
ach
Cat
egor
y100
80
60
40
20
0
High Global Reuse
20
Per
cent
age
of A
pps
for e
ach
Cat
egor
y 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 ldquoLarge-Scale Code Reuse in Open Source Softwarerdquo Emerging Trends in FLOSS Research and Development 2007 FLOSS rsquo07 First International Workshop on vol no pp7 20-26 May 2007
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Pair Wise Reuse
21
One
Cat
egor
y
App 1 App 2
local (App 1 App 2)
A BC D
A EF
25
= = 040
local (App 2 App 1) 23
= = 067
local (App 3 App 2) 24
= = 050
App 3
A DF GE
22
Social 57 out of 1119 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
Large dataset of appsThe Google Play was crawled along the 2011 obtainingbull 500K app versionsbull 200K apps
The data obtained from this crawlingbull The app files (APK files)bull 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The rating of an app shows the app usersrsquo perceived quality of an app
28
Congratulations it only took you 700000 apps
I found the app
The rating of an app helps it to be found
29
At least 1000 results
30
Version-rating
X1X2X3X1X3
Number of Raters
= 5 = 8= 9= 2= 3
10 27
Version 10
Version-rating 10 = 2710 = 27
Number of Stars
Global-rating
31
Many apps contain biased ratings because of a low number of versions andor raters
32
1 2 3 4 5Rating
Density Plot of the ratings of all apps with at least 10 raters
Den
sity
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7
1 2 3 4 5Rating
Density Plot of the ratings of all apps
Den
sity
0
0
5
1
0
1
5
bull App-user could download an app with high average-rating even though the quality is very bad
bull 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 rateddownloaded 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 aftera large number of app-users have rated an app
1e+00 1e+02 1e+04 1e+06Initial raters
-2
0
2
4
Glo
bal-r
atin
g in
crea
se
Global-rating increase
-15 -10 -05 0 05 10 15
Vers
ion-
ratin
g in
crea
se
-4
-2
0
2
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 nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awful version 1000 by 1000
Global-rating = (3000000+1000) divide(1000000+1000) = 2998~30
36
The global-rating does not incentive to app developers to release a better app
Version nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awesome version5000 by1000
Global-rating = (3000000+5000) divide(1000000+1000) = 3001~30
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
Billionaire market with thousands of software developers
4
Billionaire market The app market is estimated to generate revenues of $74 US billion in 20171
1Columbus L (2013) lsquoRoundup of mobile apps and app store forecasts 2013rsquo httpwwwforbescomsiteslouiscolumbus20130609roundup-of-mobile-apps-app-store-forecasts-2013 2ABI (2012) lsquoIn-app purchases to outpace pay-per-download revenues in 2012rsquo httpwwwabiresearchcompressin-app-purchases-tooutpace-pay-per-download-reven3OrsquoNeill N (2010) lsquo10 surprising app platform facts [infographic]rsquo httpwwwallfacebookcomapp-platform-facts-2010-09
Thousands of app developers 50000 app developers only two years after the first app store opened3
Billion of apps downloaded It is estimated that 50 billion apps (across all platforms) were downloaded in 2012 2
Accelerated Rate of Growthin the Number of Apps
5
Applersquos 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 dominatethe app market
6
~75 apps are free to download apps1
~90 of downloaded apps are free apps2
1AppBrain (2013) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
4 7
Android
iOSBlackBerry
WindowsOthers
1AP (2012) lsquoAndroid market share q3 2012 Googlersquos still beating apple but will the iphone 5 change thatrsquo httpwwwhuffingtonpostcom20120918androidmarket-share-q3-2012 n 1893292html
10
Software reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
11
12
SOFTWARE REUSEExponential Growth in the Number of Apps
in the Google Play app store
TimeMar-
09
May-09
Jul-0
9
Sep-09
Nov-09
Jan-1
0
Mar-10
May-10
Jul-1
0
Sep-10
Nov-10
Jan-1
1
Mar-11
May-11
Jul-1
1
Sep-11
Nov-11
Jan-1
2
Mar-12
May-12
Jul-1
2
Sep-12
0
100000
200000
300000
400000
500000
600000
700000
800000800K
700K
600K
500K
400K
300K
200K
100K
0
Num
ber o
f app
s
Comparing Two Classes
13
Davies J German DM Godfrey MW Hindle A ldquoSoftware bertillonage finding the provenance of an entityrdquo - MSR rsquo11
Source CodeCCFinderNICADSimScan
Bytecode Bertillonage Signatures
14
4323 app
501 apps
554 apps1034 apps
1115 apps1119 apps
Apps Collected in the Google Play app store
15
Total Classes 59208 52425 88156 250063 84205
3000
2500
2000
1500
1000
500
0
Range of Android Apps Size
Android Apps size dispersion
Num
ber o
f cla
sses
Category
An App
How Much Diversity is There in a Category
16
One
Cat
egor
y
App 1 App 2 App 3
10=
B = 4
Reused Classes = 60
A C D
BAC D
AAD
BC
B Classes
Unique Classes = 40
17
80
70
60
50
40
30
20
10
0
Perc
enta
ge o
f Cla
sses
Reu
sed
HIGH Code Reuse
Category
53
71
5954
68
Global Reuse of Classes
18
One
Cat
egor
y
App 1 App 2 App 3
global (App 1) =
A BC D
A EF
A DE F G
5 3 4 35
= 060
global (App 2) = 33
= 100
global (App 3) = 34
= 075
High Global Reuse
19
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Per
cent
age
of A
pps
for e
ach
Cat
egor
y100
80
60
40
20
0
High Global Reuse
20
Per
cent
age
of A
pps
for e
ach
Cat
egor
y 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 ldquoLarge-Scale Code Reuse in Open Source Softwarerdquo Emerging Trends in FLOSS Research and Development 2007 FLOSS rsquo07 First International Workshop on vol no pp7 20-26 May 2007
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Pair Wise Reuse
21
One
Cat
egor
y
App 1 App 2
local (App 1 App 2)
A BC D
A EF
25
= = 040
local (App 2 App 1) 23
= = 067
local (App 3 App 2) 24
= = 050
App 3
A DF GE
22
Social 57 out of 1119 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
Large dataset of appsThe Google Play was crawled along the 2011 obtainingbull 500K app versionsbull 200K apps
The data obtained from this crawlingbull The app files (APK files)bull 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The rating of an app shows the app usersrsquo perceived quality of an app
28
Congratulations it only took you 700000 apps
I found the app
The rating of an app helps it to be found
29
At least 1000 results
30
Version-rating
X1X2X3X1X3
Number of Raters
= 5 = 8= 9= 2= 3
10 27
Version 10
Version-rating 10 = 2710 = 27
Number of Stars
Global-rating
31
Many apps contain biased ratings because of a low number of versions andor raters
32
1 2 3 4 5Rating
Density Plot of the ratings of all apps with at least 10 raters
Den
sity
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7
1 2 3 4 5Rating
Density Plot of the ratings of all apps
Den
sity
0
0
5
1
0
1
5
bull App-user could download an app with high average-rating even though the quality is very bad
bull 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 rateddownloaded 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 aftera large number of app-users have rated an app
1e+00 1e+02 1e+04 1e+06Initial raters
-2
0
2
4
Glo
bal-r
atin
g in
crea
se
Global-rating increase
-15 -10 -05 0 05 10 15
Vers
ion-
ratin
g in
crea
se
-4
-2
0
2
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 nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awful version 1000 by 1000
Global-rating = (3000000+1000) divide(1000000+1000) = 2998~30
36
The global-rating does not incentive to app developers to release a better app
Version nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awesome version5000 by1000
Global-rating = (3000000+5000) divide(1000000+1000) = 3001~30
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
Accelerated Rate of Growthin the Number of Apps
5
Applersquos 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 dominatethe app market
6
~75 apps are free to download apps1
~90 of downloaded apps are free apps2
1AppBrain (2013) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
4 7
Android
iOSBlackBerry
WindowsOthers
1AP (2012) lsquoAndroid market share q3 2012 Googlersquos still beating apple but will the iphone 5 change thatrsquo httpwwwhuffingtonpostcom20120918androidmarket-share-q3-2012 n 1893292html
10
Software reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
11
12
SOFTWARE REUSEExponential Growth in the Number of Apps
in the Google Play app store
TimeMar-
09
May-09
Jul-0
9
Sep-09
Nov-09
Jan-1
0
Mar-10
May-10
Jul-1
0
Sep-10
Nov-10
Jan-1
1
Mar-11
May-11
Jul-1
1
Sep-11
Nov-11
Jan-1
2
Mar-12
May-12
Jul-1
2
Sep-12
0
100000
200000
300000
400000
500000
600000
700000
800000800K
700K
600K
500K
400K
300K
200K
100K
0
Num
ber o
f app
s
Comparing Two Classes
13
Davies J German DM Godfrey MW Hindle A ldquoSoftware bertillonage finding the provenance of an entityrdquo - MSR rsquo11
Source CodeCCFinderNICADSimScan
Bytecode Bertillonage Signatures
14
4323 app
501 apps
554 apps1034 apps
1115 apps1119 apps
Apps Collected in the Google Play app store
15
Total Classes 59208 52425 88156 250063 84205
3000
2500
2000
1500
1000
500
0
Range of Android Apps Size
Android Apps size dispersion
Num
ber o
f cla
sses
Category
An App
How Much Diversity is There in a Category
16
One
Cat
egor
y
App 1 App 2 App 3
10=
B = 4
Reused Classes = 60
A C D
BAC D
AAD
BC
B Classes
Unique Classes = 40
17
80
70
60
50
40
30
20
10
0
Perc
enta
ge o
f Cla
sses
Reu
sed
HIGH Code Reuse
Category
53
71
5954
68
Global Reuse of Classes
18
One
Cat
egor
y
App 1 App 2 App 3
global (App 1) =
A BC D
A EF
A DE F G
5 3 4 35
= 060
global (App 2) = 33
= 100
global (App 3) = 34
= 075
High Global Reuse
19
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Per
cent
age
of A
pps
for e
ach
Cat
egor
y100
80
60
40
20
0
High Global Reuse
20
Per
cent
age
of A
pps
for e
ach
Cat
egor
y 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 ldquoLarge-Scale Code Reuse in Open Source Softwarerdquo Emerging Trends in FLOSS Research and Development 2007 FLOSS rsquo07 First International Workshop on vol no pp7 20-26 May 2007
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Pair Wise Reuse
21
One
Cat
egor
y
App 1 App 2
local (App 1 App 2)
A BC D
A EF
25
= = 040
local (App 2 App 1) 23
= = 067
local (App 3 App 2) 24
= = 050
App 3
A DF GE
22
Social 57 out of 1119 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
Large dataset of appsThe Google Play was crawled along the 2011 obtainingbull 500K app versionsbull 200K apps
The data obtained from this crawlingbull The app files (APK files)bull 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The rating of an app shows the app usersrsquo perceived quality of an app
28
Congratulations it only took you 700000 apps
I found the app
The rating of an app helps it to be found
29
At least 1000 results
30
Version-rating
X1X2X3X1X3
Number of Raters
= 5 = 8= 9= 2= 3
10 27
Version 10
Version-rating 10 = 2710 = 27
Number of Stars
Global-rating
31
Many apps contain biased ratings because of a low number of versions andor raters
32
1 2 3 4 5Rating
Density Plot of the ratings of all apps with at least 10 raters
Den
sity
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7
1 2 3 4 5Rating
Density Plot of the ratings of all apps
Den
sity
0
0
5
1
0
1
5
bull App-user could download an app with high average-rating even though the quality is very bad
bull 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 rateddownloaded 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 aftera large number of app-users have rated an app
1e+00 1e+02 1e+04 1e+06Initial raters
-2
0
2
4
Glo
bal-r
atin
g in
crea
se
Global-rating increase
-15 -10 -05 0 05 10 15
Vers
ion-
ratin
g in
crea
se
-4
-2
0
2
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 nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awful version 1000 by 1000
Global-rating = (3000000+1000) divide(1000000+1000) = 2998~30
36
The global-rating does not incentive to app developers to release a better app
Version nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awesome version5000 by1000
Global-rating = (3000000+5000) divide(1000000+1000) = 3001~30
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
Free apps dominatethe app market
6
~75 apps are free to download apps1
~90 of downloaded apps are free apps2
1AppBrain (2013) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
4 7
Android
iOSBlackBerry
WindowsOthers
1AP (2012) lsquoAndroid market share q3 2012 Googlersquos still beating apple but will the iphone 5 change thatrsquo httpwwwhuffingtonpostcom20120918androidmarket-share-q3-2012 n 1893292html
10
Software reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
11
12
SOFTWARE REUSEExponential Growth in the Number of Apps
in the Google Play app store
TimeMar-
09
May-09
Jul-0
9
Sep-09
Nov-09
Jan-1
0
Mar-10
May-10
Jul-1
0
Sep-10
Nov-10
Jan-1
1
Mar-11
May-11
Jul-1
1
Sep-11
Nov-11
Jan-1
2
Mar-12
May-12
Jul-1
2
Sep-12
0
100000
200000
300000
400000
500000
600000
700000
800000800K
700K
600K
500K
400K
300K
200K
100K
0
Num
ber o
f app
s
Comparing Two Classes
13
Davies J German DM Godfrey MW Hindle A ldquoSoftware bertillonage finding the provenance of an entityrdquo - MSR rsquo11
Source CodeCCFinderNICADSimScan
Bytecode Bertillonage Signatures
14
4323 app
501 apps
554 apps1034 apps
1115 apps1119 apps
Apps Collected in the Google Play app store
15
Total Classes 59208 52425 88156 250063 84205
3000
2500
2000
1500
1000
500
0
Range of Android Apps Size
Android Apps size dispersion
Num
ber o
f cla
sses
Category
An App
How Much Diversity is There in a Category
16
One
Cat
egor
y
App 1 App 2 App 3
10=
B = 4
Reused Classes = 60
A C D
BAC D
AAD
BC
B Classes
Unique Classes = 40
17
80
70
60
50
40
30
20
10
0
Perc
enta
ge o
f Cla
sses
Reu
sed
HIGH Code Reuse
Category
53
71
5954
68
Global Reuse of Classes
18
One
Cat
egor
y
App 1 App 2 App 3
global (App 1) =
A BC D
A EF
A DE F G
5 3 4 35
= 060
global (App 2) = 33
= 100
global (App 3) = 34
= 075
High Global Reuse
19
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Per
cent
age
of A
pps
for e
ach
Cat
egor
y100
80
60
40
20
0
High Global Reuse
20
Per
cent
age
of A
pps
for e
ach
Cat
egor
y 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 ldquoLarge-Scale Code Reuse in Open Source Softwarerdquo Emerging Trends in FLOSS Research and Development 2007 FLOSS rsquo07 First International Workshop on vol no pp7 20-26 May 2007
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Pair Wise Reuse
21
One
Cat
egor
y
App 1 App 2
local (App 1 App 2)
A BC D
A EF
25
= = 040
local (App 2 App 1) 23
= = 067
local (App 3 App 2) 24
= = 050
App 3
A DF GE
22
Social 57 out of 1119 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
Large dataset of appsThe Google Play was crawled along the 2011 obtainingbull 500K app versionsbull 200K apps
The data obtained from this crawlingbull The app files (APK files)bull 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The rating of an app shows the app usersrsquo perceived quality of an app
28
Congratulations it only took you 700000 apps
I found the app
The rating of an app helps it to be found
29
At least 1000 results
30
Version-rating
X1X2X3X1X3
Number of Raters
= 5 = 8= 9= 2= 3
10 27
Version 10
Version-rating 10 = 2710 = 27
Number of Stars
Global-rating
31
Many apps contain biased ratings because of a low number of versions andor raters
32
1 2 3 4 5Rating
Density Plot of the ratings of all apps with at least 10 raters
Den
sity
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7
1 2 3 4 5Rating
Density Plot of the ratings of all apps
Den
sity
0
0
5
1
0
1
5
bull App-user could download an app with high average-rating even though the quality is very bad
bull 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 rateddownloaded 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 aftera large number of app-users have rated an app
1e+00 1e+02 1e+04 1e+06Initial raters
-2
0
2
4
Glo
bal-r
atin
g in
crea
se
Global-rating increase
-15 -10 -05 0 05 10 15
Vers
ion-
ratin
g in
crea
se
-4
-2
0
2
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 nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awful version 1000 by 1000
Global-rating = (3000000+1000) divide(1000000+1000) = 2998~30
36
The global-rating does not incentive to app developers to release a better app
Version nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awesome version5000 by1000
Global-rating = (3000000+5000) divide(1000000+1000) = 3001~30
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
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
4 7
Android
iOSBlackBerry
WindowsOthers
1AP (2012) lsquoAndroid market share q3 2012 Googlersquos still beating apple but will the iphone 5 change thatrsquo httpwwwhuffingtonpostcom20120918androidmarket-share-q3-2012 n 1893292html
10
Software reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
11
12
SOFTWARE REUSEExponential Growth in the Number of Apps
in the Google Play app store
TimeMar-
09
May-09
Jul-0
9
Sep-09
Nov-09
Jan-1
0
Mar-10
May-10
Jul-1
0
Sep-10
Nov-10
Jan-1
1
Mar-11
May-11
Jul-1
1
Sep-11
Nov-11
Jan-1
2
Mar-12
May-12
Jul-1
2
Sep-12
0
100000
200000
300000
400000
500000
600000
700000
800000800K
700K
600K
500K
400K
300K
200K
100K
0
Num
ber o
f app
s
Comparing Two Classes
13
Davies J German DM Godfrey MW Hindle A ldquoSoftware bertillonage finding the provenance of an entityrdquo - MSR rsquo11
Source CodeCCFinderNICADSimScan
Bytecode Bertillonage Signatures
14
4323 app
501 apps
554 apps1034 apps
1115 apps1119 apps
Apps Collected in the Google Play app store
15
Total Classes 59208 52425 88156 250063 84205
3000
2500
2000
1500
1000
500
0
Range of Android Apps Size
Android Apps size dispersion
Num
ber o
f cla
sses
Category
An App
How Much Diversity is There in a Category
16
One
Cat
egor
y
App 1 App 2 App 3
10=
B = 4
Reused Classes = 60
A C D
BAC D
AAD
BC
B Classes
Unique Classes = 40
17
80
70
60
50
40
30
20
10
0
Perc
enta
ge o
f Cla
sses
Reu
sed
HIGH Code Reuse
Category
53
71
5954
68
Global Reuse of Classes
18
One
Cat
egor
y
App 1 App 2 App 3
global (App 1) =
A BC D
A EF
A DE F G
5 3 4 35
= 060
global (App 2) = 33
= 100
global (App 3) = 34
= 075
High Global Reuse
19
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Per
cent
age
of A
pps
for e
ach
Cat
egor
y100
80
60
40
20
0
High Global Reuse
20
Per
cent
age
of A
pps
for e
ach
Cat
egor
y 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 ldquoLarge-Scale Code Reuse in Open Source Softwarerdquo Emerging Trends in FLOSS Research and Development 2007 FLOSS rsquo07 First International Workshop on vol no pp7 20-26 May 2007
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Pair Wise Reuse
21
One
Cat
egor
y
App 1 App 2
local (App 1 App 2)
A BC D
A EF
25
= = 040
local (App 2 App 1) 23
= = 067
local (App 3 App 2) 24
= = 050
App 3
A DF GE
22
Social 57 out of 1119 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
Large dataset of appsThe Google Play was crawled along the 2011 obtainingbull 500K app versionsbull 200K apps
The data obtained from this crawlingbull The app files (APK files)bull 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The rating of an app shows the app usersrsquo perceived quality of an app
28
Congratulations it only took you 700000 apps
I found the app
The rating of an app helps it to be found
29
At least 1000 results
30
Version-rating
X1X2X3X1X3
Number of Raters
= 5 = 8= 9= 2= 3
10 27
Version 10
Version-rating 10 = 2710 = 27
Number of Stars
Global-rating
31
Many apps contain biased ratings because of a low number of versions andor raters
32
1 2 3 4 5Rating
Density Plot of the ratings of all apps with at least 10 raters
Den
sity
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7
1 2 3 4 5Rating
Density Plot of the ratings of all apps
Den
sity
0
0
5
1
0
1
5
bull App-user could download an app with high average-rating even though the quality is very bad
bull 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 rateddownloaded 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 aftera large number of app-users have rated an app
1e+00 1e+02 1e+04 1e+06Initial raters
-2
0
2
4
Glo
bal-r
atin
g in
crea
se
Global-rating increase
-15 -10 -05 0 05 10 15
Vers
ion-
ratin
g in
crea
se
-4
-2
0
2
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 nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awful version 1000 by 1000
Global-rating = (3000000+1000) divide(1000000+1000) = 2998~30
36
The global-rating does not incentive to app developers to release a better app
Version nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awesome version5000 by1000
Global-rating = (3000000+5000) divide(1000000+1000) = 3001~30
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
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
4 7
Android
iOSBlackBerry
WindowsOthers
1AP (2012) lsquoAndroid market share q3 2012 Googlersquos still beating apple but will the iphone 5 change thatrsquo httpwwwhuffingtonpostcom20120918androidmarket-share-q3-2012 n 1893292html
10
Software reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
11
12
SOFTWARE REUSEExponential Growth in the Number of Apps
in the Google Play app store
TimeMar-
09
May-09
Jul-0
9
Sep-09
Nov-09
Jan-1
0
Mar-10
May-10
Jul-1
0
Sep-10
Nov-10
Jan-1
1
Mar-11
May-11
Jul-1
1
Sep-11
Nov-11
Jan-1
2
Mar-12
May-12
Jul-1
2
Sep-12
0
100000
200000
300000
400000
500000
600000
700000
800000800K
700K
600K
500K
400K
300K
200K
100K
0
Num
ber o
f app
s
Comparing Two Classes
13
Davies J German DM Godfrey MW Hindle A ldquoSoftware bertillonage finding the provenance of an entityrdquo - MSR rsquo11
Source CodeCCFinderNICADSimScan
Bytecode Bertillonage Signatures
14
4323 app
501 apps
554 apps1034 apps
1115 apps1119 apps
Apps Collected in the Google Play app store
15
Total Classes 59208 52425 88156 250063 84205
3000
2500
2000
1500
1000
500
0
Range of Android Apps Size
Android Apps size dispersion
Num
ber o
f cla
sses
Category
An App
How Much Diversity is There in a Category
16
One
Cat
egor
y
App 1 App 2 App 3
10=
B = 4
Reused Classes = 60
A C D
BAC D
AAD
BC
B Classes
Unique Classes = 40
17
80
70
60
50
40
30
20
10
0
Perc
enta
ge o
f Cla
sses
Reu
sed
HIGH Code Reuse
Category
53
71
5954
68
Global Reuse of Classes
18
One
Cat
egor
y
App 1 App 2 App 3
global (App 1) =
A BC D
A EF
A DE F G
5 3 4 35
= 060
global (App 2) = 33
= 100
global (App 3) = 34
= 075
High Global Reuse
19
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Per
cent
age
of A
pps
for e
ach
Cat
egor
y100
80
60
40
20
0
High Global Reuse
20
Per
cent
age
of A
pps
for e
ach
Cat
egor
y 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 ldquoLarge-Scale Code Reuse in Open Source Softwarerdquo Emerging Trends in FLOSS Research and Development 2007 FLOSS rsquo07 First International Workshop on vol no pp7 20-26 May 2007
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Pair Wise Reuse
21
One
Cat
egor
y
App 1 App 2
local (App 1 App 2)
A BC D
A EF
25
= = 040
local (App 2 App 1) 23
= = 067
local (App 3 App 2) 24
= = 050
App 3
A DF GE
22
Social 57 out of 1119 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
Large dataset of appsThe Google Play was crawled along the 2011 obtainingbull 500K app versionsbull 200K apps
The data obtained from this crawlingbull The app files (APK files)bull 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The rating of an app shows the app usersrsquo perceived quality of an app
28
Congratulations it only took you 700000 apps
I found the app
The rating of an app helps it to be found
29
At least 1000 results
30
Version-rating
X1X2X3X1X3
Number of Raters
= 5 = 8= 9= 2= 3
10 27
Version 10
Version-rating 10 = 2710 = 27
Number of Stars
Global-rating
31
Many apps contain biased ratings because of a low number of versions andor raters
32
1 2 3 4 5Rating
Density Plot of the ratings of all apps with at least 10 raters
Den
sity
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7
1 2 3 4 5Rating
Density Plot of the ratings of all apps
Den
sity
0
0
5
1
0
1
5
bull App-user could download an app with high average-rating even though the quality is very bad
bull 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 rateddownloaded 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 aftera large number of app-users have rated an app
1e+00 1e+02 1e+04 1e+06Initial raters
-2
0
2
4
Glo
bal-r
atin
g in
crea
se
Global-rating increase
-15 -10 -05 0 05 10 15
Vers
ion-
ratin
g in
crea
se
-4
-2
0
2
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 nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awful version 1000 by 1000
Global-rating = (3000000+1000) divide(1000000+1000) = 2998~30
36
The global-rating does not incentive to app developers to release a better app
Version nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awesome version5000 by1000
Global-rating = (3000000+5000) divide(1000000+1000) = 3001~30
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
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
4 7
Android
iOSBlackBerry
WindowsOthers
1AP (2012) lsquoAndroid market share q3 2012 Googlersquos still beating apple but will the iphone 5 change thatrsquo httpwwwhuffingtonpostcom20120918androidmarket-share-q3-2012 n 1893292html
10
Software reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
11
12
SOFTWARE REUSEExponential Growth in the Number of Apps
in the Google Play app store
TimeMar-
09
May-09
Jul-0
9
Sep-09
Nov-09
Jan-1
0
Mar-10
May-10
Jul-1
0
Sep-10
Nov-10
Jan-1
1
Mar-11
May-11
Jul-1
1
Sep-11
Nov-11
Jan-1
2
Mar-12
May-12
Jul-1
2
Sep-12
0
100000
200000
300000
400000
500000
600000
700000
800000800K
700K
600K
500K
400K
300K
200K
100K
0
Num
ber o
f app
s
Comparing Two Classes
13
Davies J German DM Godfrey MW Hindle A ldquoSoftware bertillonage finding the provenance of an entityrdquo - MSR rsquo11
Source CodeCCFinderNICADSimScan
Bytecode Bertillonage Signatures
14
4323 app
501 apps
554 apps1034 apps
1115 apps1119 apps
Apps Collected in the Google Play app store
15
Total Classes 59208 52425 88156 250063 84205
3000
2500
2000
1500
1000
500
0
Range of Android Apps Size
Android Apps size dispersion
Num
ber o
f cla
sses
Category
An App
How Much Diversity is There in a Category
16
One
Cat
egor
y
App 1 App 2 App 3
10=
B = 4
Reused Classes = 60
A C D
BAC D
AAD
BC
B Classes
Unique Classes = 40
17
80
70
60
50
40
30
20
10
0
Perc
enta
ge o
f Cla
sses
Reu
sed
HIGH Code Reuse
Category
53
71
5954
68
Global Reuse of Classes
18
One
Cat
egor
y
App 1 App 2 App 3
global (App 1) =
A BC D
A EF
A DE F G
5 3 4 35
= 060
global (App 2) = 33
= 100
global (App 3) = 34
= 075
High Global Reuse
19
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Per
cent
age
of A
pps
for e
ach
Cat
egor
y100
80
60
40
20
0
High Global Reuse
20
Per
cent
age
of A
pps
for e
ach
Cat
egor
y 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 ldquoLarge-Scale Code Reuse in Open Source Softwarerdquo Emerging Trends in FLOSS Research and Development 2007 FLOSS rsquo07 First International Workshop on vol no pp7 20-26 May 2007
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Pair Wise Reuse
21
One
Cat
egor
y
App 1 App 2
local (App 1 App 2)
A BC D
A EF
25
= = 040
local (App 2 App 1) 23
= = 067
local (App 3 App 2) 24
= = 050
App 3
A DF GE
22
Social 57 out of 1119 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
Large dataset of appsThe Google Play was crawled along the 2011 obtainingbull 500K app versionsbull 200K apps
The data obtained from this crawlingbull The app files (APK files)bull 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The rating of an app shows the app usersrsquo perceived quality of an app
28
Congratulations it only took you 700000 apps
I found the app
The rating of an app helps it to be found
29
At least 1000 results
30
Version-rating
X1X2X3X1X3
Number of Raters
= 5 = 8= 9= 2= 3
10 27
Version 10
Version-rating 10 = 2710 = 27
Number of Stars
Global-rating
31
Many apps contain biased ratings because of a low number of versions andor raters
32
1 2 3 4 5Rating
Density Plot of the ratings of all apps with at least 10 raters
Den
sity
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7
1 2 3 4 5Rating
Density Plot of the ratings of all apps
Den
sity
0
0
5
1
0
1
5
bull App-user could download an app with high average-rating even though the quality is very bad
bull 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 rateddownloaded 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 aftera large number of app-users have rated an app
1e+00 1e+02 1e+04 1e+06Initial raters
-2
0
2
4
Glo
bal-r
atin
g in
crea
se
Global-rating increase
-15 -10 -05 0 05 10 15
Vers
ion-
ratin
g in
crea
se
-4
-2
0
2
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 nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awful version 1000 by 1000
Global-rating = (3000000+1000) divide(1000000+1000) = 2998~30
36
The global-rating does not incentive to app developers to release a better app
Version nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awesome version5000 by1000
Global-rating = (3000000+5000) divide(1000000+1000) = 3001~30
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
10
Software reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
11
12
SOFTWARE REUSEExponential Growth in the Number of Apps
in the Google Play app store
TimeMar-
09
May-09
Jul-0
9
Sep-09
Nov-09
Jan-1
0
Mar-10
May-10
Jul-1
0
Sep-10
Nov-10
Jan-1
1
Mar-11
May-11
Jul-1
1
Sep-11
Nov-11
Jan-1
2
Mar-12
May-12
Jul-1
2
Sep-12
0
100000
200000
300000
400000
500000
600000
700000
800000800K
700K
600K
500K
400K
300K
200K
100K
0
Num
ber o
f app
s
Comparing Two Classes
13
Davies J German DM Godfrey MW Hindle A ldquoSoftware bertillonage finding the provenance of an entityrdquo - MSR rsquo11
Source CodeCCFinderNICADSimScan
Bytecode Bertillonage Signatures
14
4323 app
501 apps
554 apps1034 apps
1115 apps1119 apps
Apps Collected in the Google Play app store
15
Total Classes 59208 52425 88156 250063 84205
3000
2500
2000
1500
1000
500
0
Range of Android Apps Size
Android Apps size dispersion
Num
ber o
f cla
sses
Category
An App
How Much Diversity is There in a Category
16
One
Cat
egor
y
App 1 App 2 App 3
10=
B = 4
Reused Classes = 60
A C D
BAC D
AAD
BC
B Classes
Unique Classes = 40
17
80
70
60
50
40
30
20
10
0
Perc
enta
ge o
f Cla
sses
Reu
sed
HIGH Code Reuse
Category
53
71
5954
68
Global Reuse of Classes
18
One
Cat
egor
y
App 1 App 2 App 3
global (App 1) =
A BC D
A EF
A DE F G
5 3 4 35
= 060
global (App 2) = 33
= 100
global (App 3) = 34
= 075
High Global Reuse
19
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Per
cent
age
of A
pps
for e
ach
Cat
egor
y100
80
60
40
20
0
High Global Reuse
20
Per
cent
age
of A
pps
for e
ach
Cat
egor
y 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 ldquoLarge-Scale Code Reuse in Open Source Softwarerdquo Emerging Trends in FLOSS Research and Development 2007 FLOSS rsquo07 First International Workshop on vol no pp7 20-26 May 2007
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Pair Wise Reuse
21
One
Cat
egor
y
App 1 App 2
local (App 1 App 2)
A BC D
A EF
25
= = 040
local (App 2 App 1) 23
= = 067
local (App 3 App 2) 24
= = 050
App 3
A DF GE
22
Social 57 out of 1119 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
Large dataset of appsThe Google Play was crawled along the 2011 obtainingbull 500K app versionsbull 200K apps
The data obtained from this crawlingbull The app files (APK files)bull 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The rating of an app shows the app usersrsquo perceived quality of an app
28
Congratulations it only took you 700000 apps
I found the app
The rating of an app helps it to be found
29
At least 1000 results
30
Version-rating
X1X2X3X1X3
Number of Raters
= 5 = 8= 9= 2= 3
10 27
Version 10
Version-rating 10 = 2710 = 27
Number of Stars
Global-rating
31
Many apps contain biased ratings because of a low number of versions andor raters
32
1 2 3 4 5Rating
Density Plot of the ratings of all apps with at least 10 raters
Den
sity
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7
1 2 3 4 5Rating
Density Plot of the ratings of all apps
Den
sity
0
0
5
1
0
1
5
bull App-user could download an app with high average-rating even though the quality is very bad
bull 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 rateddownloaded 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 aftera large number of app-users have rated an app
1e+00 1e+02 1e+04 1e+06Initial raters
-2
0
2
4
Glo
bal-r
atin
g in
crea
se
Global-rating increase
-15 -10 -05 0 05 10 15
Vers
ion-
ratin
g in
crea
se
-4
-2
0
2
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 nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awful version 1000 by 1000
Global-rating = (3000000+1000) divide(1000000+1000) = 2998~30
36
The global-rating does not incentive to app developers to release a better app
Version nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awesome version5000 by1000
Global-rating = (3000000+5000) divide(1000000+1000) = 3001~30
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
11
12
SOFTWARE REUSEExponential Growth in the Number of Apps
in the Google Play app store
TimeMar-
09
May-09
Jul-0
9
Sep-09
Nov-09
Jan-1
0
Mar-10
May-10
Jul-1
0
Sep-10
Nov-10
Jan-1
1
Mar-11
May-11
Jul-1
1
Sep-11
Nov-11
Jan-1
2
Mar-12
May-12
Jul-1
2
Sep-12
0
100000
200000
300000
400000
500000
600000
700000
800000800K
700K
600K
500K
400K
300K
200K
100K
0
Num
ber o
f app
s
Comparing Two Classes
13
Davies J German DM Godfrey MW Hindle A ldquoSoftware bertillonage finding the provenance of an entityrdquo - MSR rsquo11
Source CodeCCFinderNICADSimScan
Bytecode Bertillonage Signatures
14
4323 app
501 apps
554 apps1034 apps
1115 apps1119 apps
Apps Collected in the Google Play app store
15
Total Classes 59208 52425 88156 250063 84205
3000
2500
2000
1500
1000
500
0
Range of Android Apps Size
Android Apps size dispersion
Num
ber o
f cla
sses
Category
An App
How Much Diversity is There in a Category
16
One
Cat
egor
y
App 1 App 2 App 3
10=
B = 4
Reused Classes = 60
A C D
BAC D
AAD
BC
B Classes
Unique Classes = 40
17
80
70
60
50
40
30
20
10
0
Perc
enta
ge o
f Cla
sses
Reu
sed
HIGH Code Reuse
Category
53
71
5954
68
Global Reuse of Classes
18
One
Cat
egor
y
App 1 App 2 App 3
global (App 1) =
A BC D
A EF
A DE F G
5 3 4 35
= 060
global (App 2) = 33
= 100
global (App 3) = 34
= 075
High Global Reuse
19
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Per
cent
age
of A
pps
for e
ach
Cat
egor
y100
80
60
40
20
0
High Global Reuse
20
Per
cent
age
of A
pps
for e
ach
Cat
egor
y 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 ldquoLarge-Scale Code Reuse in Open Source Softwarerdquo Emerging Trends in FLOSS Research and Development 2007 FLOSS rsquo07 First International Workshop on vol no pp7 20-26 May 2007
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Pair Wise Reuse
21
One
Cat
egor
y
App 1 App 2
local (App 1 App 2)
A BC D
A EF
25
= = 040
local (App 2 App 1) 23
= = 067
local (App 3 App 2) 24
= = 050
App 3
A DF GE
22
Social 57 out of 1119 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
Large dataset of appsThe Google Play was crawled along the 2011 obtainingbull 500K app versionsbull 200K apps
The data obtained from this crawlingbull The app files (APK files)bull 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The rating of an app shows the app usersrsquo perceived quality of an app
28
Congratulations it only took you 700000 apps
I found the app
The rating of an app helps it to be found
29
At least 1000 results
30
Version-rating
X1X2X3X1X3
Number of Raters
= 5 = 8= 9= 2= 3
10 27
Version 10
Version-rating 10 = 2710 = 27
Number of Stars
Global-rating
31
Many apps contain biased ratings because of a low number of versions andor raters
32
1 2 3 4 5Rating
Density Plot of the ratings of all apps with at least 10 raters
Den
sity
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7
1 2 3 4 5Rating
Density Plot of the ratings of all apps
Den
sity
0
0
5
1
0
1
5
bull App-user could download an app with high average-rating even though the quality is very bad
bull 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 rateddownloaded 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 aftera large number of app-users have rated an app
1e+00 1e+02 1e+04 1e+06Initial raters
-2
0
2
4
Glo
bal-r
atin
g in
crea
se
Global-rating increase
-15 -10 -05 0 05 10 15
Vers
ion-
ratin
g in
crea
se
-4
-2
0
2
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 nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awful version 1000 by 1000
Global-rating = (3000000+1000) divide(1000000+1000) = 2998~30
36
The global-rating does not incentive to app developers to release a better app
Version nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awesome version5000 by1000
Global-rating = (3000000+5000) divide(1000000+1000) = 3001~30
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
12
SOFTWARE REUSEExponential Growth in the Number of Apps
in the Google Play app store
TimeMar-
09
May-09
Jul-0
9
Sep-09
Nov-09
Jan-1
0
Mar-10
May-10
Jul-1
0
Sep-10
Nov-10
Jan-1
1
Mar-11
May-11
Jul-1
1
Sep-11
Nov-11
Jan-1
2
Mar-12
May-12
Jul-1
2
Sep-12
0
100000
200000
300000
400000
500000
600000
700000
800000800K
700K
600K
500K
400K
300K
200K
100K
0
Num
ber o
f app
s
Comparing Two Classes
13
Davies J German DM Godfrey MW Hindle A ldquoSoftware bertillonage finding the provenance of an entityrdquo - MSR rsquo11
Source CodeCCFinderNICADSimScan
Bytecode Bertillonage Signatures
14
4323 app
501 apps
554 apps1034 apps
1115 apps1119 apps
Apps Collected in the Google Play app store
15
Total Classes 59208 52425 88156 250063 84205
3000
2500
2000
1500
1000
500
0
Range of Android Apps Size
Android Apps size dispersion
Num
ber o
f cla
sses
Category
An App
How Much Diversity is There in a Category
16
One
Cat
egor
y
App 1 App 2 App 3
10=
B = 4
Reused Classes = 60
A C D
BAC D
AAD
BC
B Classes
Unique Classes = 40
17
80
70
60
50
40
30
20
10
0
Perc
enta
ge o
f Cla
sses
Reu
sed
HIGH Code Reuse
Category
53
71
5954
68
Global Reuse of Classes
18
One
Cat
egor
y
App 1 App 2 App 3
global (App 1) =
A BC D
A EF
A DE F G
5 3 4 35
= 060
global (App 2) = 33
= 100
global (App 3) = 34
= 075
High Global Reuse
19
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Per
cent
age
of A
pps
for e
ach
Cat
egor
y100
80
60
40
20
0
High Global Reuse
20
Per
cent
age
of A
pps
for e
ach
Cat
egor
y 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 ldquoLarge-Scale Code Reuse in Open Source Softwarerdquo Emerging Trends in FLOSS Research and Development 2007 FLOSS rsquo07 First International Workshop on vol no pp7 20-26 May 2007
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Pair Wise Reuse
21
One
Cat
egor
y
App 1 App 2
local (App 1 App 2)
A BC D
A EF
25
= = 040
local (App 2 App 1) 23
= = 067
local (App 3 App 2) 24
= = 050
App 3
A DF GE
22
Social 57 out of 1119 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
Large dataset of appsThe Google Play was crawled along the 2011 obtainingbull 500K app versionsbull 200K apps
The data obtained from this crawlingbull The app files (APK files)bull 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The rating of an app shows the app usersrsquo perceived quality of an app
28
Congratulations it only took you 700000 apps
I found the app
The rating of an app helps it to be found
29
At least 1000 results
30
Version-rating
X1X2X3X1X3
Number of Raters
= 5 = 8= 9= 2= 3
10 27
Version 10
Version-rating 10 = 2710 = 27
Number of Stars
Global-rating
31
Many apps contain biased ratings because of a low number of versions andor raters
32
1 2 3 4 5Rating
Density Plot of the ratings of all apps with at least 10 raters
Den
sity
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7
1 2 3 4 5Rating
Density Plot of the ratings of all apps
Den
sity
0
0
5
1
0
1
5
bull App-user could download an app with high average-rating even though the quality is very bad
bull 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 rateddownloaded 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 aftera large number of app-users have rated an app
1e+00 1e+02 1e+04 1e+06Initial raters
-2
0
2
4
Glo
bal-r
atin
g in
crea
se
Global-rating increase
-15 -10 -05 0 05 10 15
Vers
ion-
ratin
g in
crea
se
-4
-2
0
2
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 nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awful version 1000 by 1000
Global-rating = (3000000+1000) divide(1000000+1000) = 2998~30
36
The global-rating does not incentive to app developers to release a better app
Version nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awesome version5000 by1000
Global-rating = (3000000+5000) divide(1000000+1000) = 3001~30
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
Comparing Two Classes
13
Davies J German DM Godfrey MW Hindle A ldquoSoftware bertillonage finding the provenance of an entityrdquo - MSR rsquo11
Source CodeCCFinderNICADSimScan
Bytecode Bertillonage Signatures
14
4323 app
501 apps
554 apps1034 apps
1115 apps1119 apps
Apps Collected in the Google Play app store
15
Total Classes 59208 52425 88156 250063 84205
3000
2500
2000
1500
1000
500
0
Range of Android Apps Size
Android Apps size dispersion
Num
ber o
f cla
sses
Category
An App
How Much Diversity is There in a Category
16
One
Cat
egor
y
App 1 App 2 App 3
10=
B = 4
Reused Classes = 60
A C D
BAC D
AAD
BC
B Classes
Unique Classes = 40
17
80
70
60
50
40
30
20
10
0
Perc
enta
ge o
f Cla
sses
Reu
sed
HIGH Code Reuse
Category
53
71
5954
68
Global Reuse of Classes
18
One
Cat
egor
y
App 1 App 2 App 3
global (App 1) =
A BC D
A EF
A DE F G
5 3 4 35
= 060
global (App 2) = 33
= 100
global (App 3) = 34
= 075
High Global Reuse
19
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Per
cent
age
of A
pps
for e
ach
Cat
egor
y100
80
60
40
20
0
High Global Reuse
20
Per
cent
age
of A
pps
for e
ach
Cat
egor
y 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 ldquoLarge-Scale Code Reuse in Open Source Softwarerdquo Emerging Trends in FLOSS Research and Development 2007 FLOSS rsquo07 First International Workshop on vol no pp7 20-26 May 2007
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Pair Wise Reuse
21
One
Cat
egor
y
App 1 App 2
local (App 1 App 2)
A BC D
A EF
25
= = 040
local (App 2 App 1) 23
= = 067
local (App 3 App 2) 24
= = 050
App 3
A DF GE
22
Social 57 out of 1119 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
Large dataset of appsThe Google Play was crawled along the 2011 obtainingbull 500K app versionsbull 200K apps
The data obtained from this crawlingbull The app files (APK files)bull 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The rating of an app shows the app usersrsquo perceived quality of an app
28
Congratulations it only took you 700000 apps
I found the app
The rating of an app helps it to be found
29
At least 1000 results
30
Version-rating
X1X2X3X1X3
Number of Raters
= 5 = 8= 9= 2= 3
10 27
Version 10
Version-rating 10 = 2710 = 27
Number of Stars
Global-rating
31
Many apps contain biased ratings because of a low number of versions andor raters
32
1 2 3 4 5Rating
Density Plot of the ratings of all apps with at least 10 raters
Den
sity
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7
1 2 3 4 5Rating
Density Plot of the ratings of all apps
Den
sity
0
0
5
1
0
1
5
bull App-user could download an app with high average-rating even though the quality is very bad
bull 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 rateddownloaded 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 aftera large number of app-users have rated an app
1e+00 1e+02 1e+04 1e+06Initial raters
-2
0
2
4
Glo
bal-r
atin
g in
crea
se
Global-rating increase
-15 -10 -05 0 05 10 15
Vers
ion-
ratin
g in
crea
se
-4
-2
0
2
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 nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awful version 1000 by 1000
Global-rating = (3000000+1000) divide(1000000+1000) = 2998~30
36
The global-rating does not incentive to app developers to release a better app
Version nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awesome version5000 by1000
Global-rating = (3000000+5000) divide(1000000+1000) = 3001~30
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
14
4323 app
501 apps
554 apps1034 apps
1115 apps1119 apps
Apps Collected in the Google Play app store
15
Total Classes 59208 52425 88156 250063 84205
3000
2500
2000
1500
1000
500
0
Range of Android Apps Size
Android Apps size dispersion
Num
ber o
f cla
sses
Category
An App
How Much Diversity is There in a Category
16
One
Cat
egor
y
App 1 App 2 App 3
10=
B = 4
Reused Classes = 60
A C D
BAC D
AAD
BC
B Classes
Unique Classes = 40
17
80
70
60
50
40
30
20
10
0
Perc
enta
ge o
f Cla
sses
Reu
sed
HIGH Code Reuse
Category
53
71
5954
68
Global Reuse of Classes
18
One
Cat
egor
y
App 1 App 2 App 3
global (App 1) =
A BC D
A EF
A DE F G
5 3 4 35
= 060
global (App 2) = 33
= 100
global (App 3) = 34
= 075
High Global Reuse
19
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Per
cent
age
of A
pps
for e
ach
Cat
egor
y100
80
60
40
20
0
High Global Reuse
20
Per
cent
age
of A
pps
for e
ach
Cat
egor
y 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 ldquoLarge-Scale Code Reuse in Open Source Softwarerdquo Emerging Trends in FLOSS Research and Development 2007 FLOSS rsquo07 First International Workshop on vol no pp7 20-26 May 2007
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Pair Wise Reuse
21
One
Cat
egor
y
App 1 App 2
local (App 1 App 2)
A BC D
A EF
25
= = 040
local (App 2 App 1) 23
= = 067
local (App 3 App 2) 24
= = 050
App 3
A DF GE
22
Social 57 out of 1119 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
Large dataset of appsThe Google Play was crawled along the 2011 obtainingbull 500K app versionsbull 200K apps
The data obtained from this crawlingbull The app files (APK files)bull 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The rating of an app shows the app usersrsquo perceived quality of an app
28
Congratulations it only took you 700000 apps
I found the app
The rating of an app helps it to be found
29
At least 1000 results
30
Version-rating
X1X2X3X1X3
Number of Raters
= 5 = 8= 9= 2= 3
10 27
Version 10
Version-rating 10 = 2710 = 27
Number of Stars
Global-rating
31
Many apps contain biased ratings because of a low number of versions andor raters
32
1 2 3 4 5Rating
Density Plot of the ratings of all apps with at least 10 raters
Den
sity
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7
1 2 3 4 5Rating
Density Plot of the ratings of all apps
Den
sity
0
0
5
1
0
1
5
bull App-user could download an app with high average-rating even though the quality is very bad
bull 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 rateddownloaded 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 aftera large number of app-users have rated an app
1e+00 1e+02 1e+04 1e+06Initial raters
-2
0
2
4
Glo
bal-r
atin
g in
crea
se
Global-rating increase
-15 -10 -05 0 05 10 15
Vers
ion-
ratin
g in
crea
se
-4
-2
0
2
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 nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awful version 1000 by 1000
Global-rating = (3000000+1000) divide(1000000+1000) = 2998~30
36
The global-rating does not incentive to app developers to release a better app
Version nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awesome version5000 by1000
Global-rating = (3000000+5000) divide(1000000+1000) = 3001~30
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
15
Total Classes 59208 52425 88156 250063 84205
3000
2500
2000
1500
1000
500
0
Range of Android Apps Size
Android Apps size dispersion
Num
ber o
f cla
sses
Category
An App
How Much Diversity is There in a Category
16
One
Cat
egor
y
App 1 App 2 App 3
10=
B = 4
Reused Classes = 60
A C D
BAC D
AAD
BC
B Classes
Unique Classes = 40
17
80
70
60
50
40
30
20
10
0
Perc
enta
ge o
f Cla
sses
Reu
sed
HIGH Code Reuse
Category
53
71
5954
68
Global Reuse of Classes
18
One
Cat
egor
y
App 1 App 2 App 3
global (App 1) =
A BC D
A EF
A DE F G
5 3 4 35
= 060
global (App 2) = 33
= 100
global (App 3) = 34
= 075
High Global Reuse
19
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Per
cent
age
of A
pps
for e
ach
Cat
egor
y100
80
60
40
20
0
High Global Reuse
20
Per
cent
age
of A
pps
for e
ach
Cat
egor
y 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 ldquoLarge-Scale Code Reuse in Open Source Softwarerdquo Emerging Trends in FLOSS Research and Development 2007 FLOSS rsquo07 First International Workshop on vol no pp7 20-26 May 2007
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Pair Wise Reuse
21
One
Cat
egor
y
App 1 App 2
local (App 1 App 2)
A BC D
A EF
25
= = 040
local (App 2 App 1) 23
= = 067
local (App 3 App 2) 24
= = 050
App 3
A DF GE
22
Social 57 out of 1119 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
Large dataset of appsThe Google Play was crawled along the 2011 obtainingbull 500K app versionsbull 200K apps
The data obtained from this crawlingbull The app files (APK files)bull 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The rating of an app shows the app usersrsquo perceived quality of an app
28
Congratulations it only took you 700000 apps
I found the app
The rating of an app helps it to be found
29
At least 1000 results
30
Version-rating
X1X2X3X1X3
Number of Raters
= 5 = 8= 9= 2= 3
10 27
Version 10
Version-rating 10 = 2710 = 27
Number of Stars
Global-rating
31
Many apps contain biased ratings because of a low number of versions andor raters
32
1 2 3 4 5Rating
Density Plot of the ratings of all apps with at least 10 raters
Den
sity
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7
1 2 3 4 5Rating
Density Plot of the ratings of all apps
Den
sity
0
0
5
1
0
1
5
bull App-user could download an app with high average-rating even though the quality is very bad
bull 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 rateddownloaded 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 aftera large number of app-users have rated an app
1e+00 1e+02 1e+04 1e+06Initial raters
-2
0
2
4
Glo
bal-r
atin
g in
crea
se
Global-rating increase
-15 -10 -05 0 05 10 15
Vers
ion-
ratin
g in
crea
se
-4
-2
0
2
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 nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awful version 1000 by 1000
Global-rating = (3000000+1000) divide(1000000+1000) = 2998~30
36
The global-rating does not incentive to app developers to release a better app
Version nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awesome version5000 by1000
Global-rating = (3000000+5000) divide(1000000+1000) = 3001~30
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
How Much Diversity is There in a Category
16
One
Cat
egor
y
App 1 App 2 App 3
10=
B = 4
Reused Classes = 60
A C D
BAC D
AAD
BC
B Classes
Unique Classes = 40
17
80
70
60
50
40
30
20
10
0
Perc
enta
ge o
f Cla
sses
Reu
sed
HIGH Code Reuse
Category
53
71
5954
68
Global Reuse of Classes
18
One
Cat
egor
y
App 1 App 2 App 3
global (App 1) =
A BC D
A EF
A DE F G
5 3 4 35
= 060
global (App 2) = 33
= 100
global (App 3) = 34
= 075
High Global Reuse
19
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Per
cent
age
of A
pps
for e
ach
Cat
egor
y100
80
60
40
20
0
High Global Reuse
20
Per
cent
age
of A
pps
for e
ach
Cat
egor
y 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 ldquoLarge-Scale Code Reuse in Open Source Softwarerdquo Emerging Trends in FLOSS Research and Development 2007 FLOSS rsquo07 First International Workshop on vol no pp7 20-26 May 2007
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Pair Wise Reuse
21
One
Cat
egor
y
App 1 App 2
local (App 1 App 2)
A BC D
A EF
25
= = 040
local (App 2 App 1) 23
= = 067
local (App 3 App 2) 24
= = 050
App 3
A DF GE
22
Social 57 out of 1119 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
Large dataset of appsThe Google Play was crawled along the 2011 obtainingbull 500K app versionsbull 200K apps
The data obtained from this crawlingbull The app files (APK files)bull 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The rating of an app shows the app usersrsquo perceived quality of an app
28
Congratulations it only took you 700000 apps
I found the app
The rating of an app helps it to be found
29
At least 1000 results
30
Version-rating
X1X2X3X1X3
Number of Raters
= 5 = 8= 9= 2= 3
10 27
Version 10
Version-rating 10 = 2710 = 27
Number of Stars
Global-rating
31
Many apps contain biased ratings because of a low number of versions andor raters
32
1 2 3 4 5Rating
Density Plot of the ratings of all apps with at least 10 raters
Den
sity
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7
1 2 3 4 5Rating
Density Plot of the ratings of all apps
Den
sity
0
0
5
1
0
1
5
bull App-user could download an app with high average-rating even though the quality is very bad
bull 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 rateddownloaded 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 aftera large number of app-users have rated an app
1e+00 1e+02 1e+04 1e+06Initial raters
-2
0
2
4
Glo
bal-r
atin
g in
crea
se
Global-rating increase
-15 -10 -05 0 05 10 15
Vers
ion-
ratin
g in
crea
se
-4
-2
0
2
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 nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awful version 1000 by 1000
Global-rating = (3000000+1000) divide(1000000+1000) = 2998~30
36
The global-rating does not incentive to app developers to release a better app
Version nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awesome version5000 by1000
Global-rating = (3000000+5000) divide(1000000+1000) = 3001~30
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
17
80
70
60
50
40
30
20
10
0
Perc
enta
ge o
f Cla
sses
Reu
sed
HIGH Code Reuse
Category
53
71
5954
68
Global Reuse of Classes
18
One
Cat
egor
y
App 1 App 2 App 3
global (App 1) =
A BC D
A EF
A DE F G
5 3 4 35
= 060
global (App 2) = 33
= 100
global (App 3) = 34
= 075
High Global Reuse
19
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Per
cent
age
of A
pps
for e
ach
Cat
egor
y100
80
60
40
20
0
High Global Reuse
20
Per
cent
age
of A
pps
for e
ach
Cat
egor
y 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 ldquoLarge-Scale Code Reuse in Open Source Softwarerdquo Emerging Trends in FLOSS Research and Development 2007 FLOSS rsquo07 First International Workshop on vol no pp7 20-26 May 2007
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Pair Wise Reuse
21
One
Cat
egor
y
App 1 App 2
local (App 1 App 2)
A BC D
A EF
25
= = 040
local (App 2 App 1) 23
= = 067
local (App 3 App 2) 24
= = 050
App 3
A DF GE
22
Social 57 out of 1119 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
Large dataset of appsThe Google Play was crawled along the 2011 obtainingbull 500K app versionsbull 200K apps
The data obtained from this crawlingbull The app files (APK files)bull 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The rating of an app shows the app usersrsquo perceived quality of an app
28
Congratulations it only took you 700000 apps
I found the app
The rating of an app helps it to be found
29
At least 1000 results
30
Version-rating
X1X2X3X1X3
Number of Raters
= 5 = 8= 9= 2= 3
10 27
Version 10
Version-rating 10 = 2710 = 27
Number of Stars
Global-rating
31
Many apps contain biased ratings because of a low number of versions andor raters
32
1 2 3 4 5Rating
Density Plot of the ratings of all apps with at least 10 raters
Den
sity
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7
1 2 3 4 5Rating
Density Plot of the ratings of all apps
Den
sity
0
0
5
1
0
1
5
bull App-user could download an app with high average-rating even though the quality is very bad
bull 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 rateddownloaded 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 aftera large number of app-users have rated an app
1e+00 1e+02 1e+04 1e+06Initial raters
-2
0
2
4
Glo
bal-r
atin
g in
crea
se
Global-rating increase
-15 -10 -05 0 05 10 15
Vers
ion-
ratin
g in
crea
se
-4
-2
0
2
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 nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awful version 1000 by 1000
Global-rating = (3000000+1000) divide(1000000+1000) = 2998~30
36
The global-rating does not incentive to app developers to release a better app
Version nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awesome version5000 by1000
Global-rating = (3000000+5000) divide(1000000+1000) = 3001~30
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
Global Reuse of Classes
18
One
Cat
egor
y
App 1 App 2 App 3
global (App 1) =
A BC D
A EF
A DE F G
5 3 4 35
= 060
global (App 2) = 33
= 100
global (App 3) = 34
= 075
High Global Reuse
19
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Per
cent
age
of A
pps
for e
ach
Cat
egor
y100
80
60
40
20
0
High Global Reuse
20
Per
cent
age
of A
pps
for e
ach
Cat
egor
y 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 ldquoLarge-Scale Code Reuse in Open Source Softwarerdquo Emerging Trends in FLOSS Research and Development 2007 FLOSS rsquo07 First International Workshop on vol no pp7 20-26 May 2007
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Pair Wise Reuse
21
One
Cat
egor
y
App 1 App 2
local (App 1 App 2)
A BC D
A EF
25
= = 040
local (App 2 App 1) 23
= = 067
local (App 3 App 2) 24
= = 050
App 3
A DF GE
22
Social 57 out of 1119 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
Large dataset of appsThe Google Play was crawled along the 2011 obtainingbull 500K app versionsbull 200K apps
The data obtained from this crawlingbull The app files (APK files)bull 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The rating of an app shows the app usersrsquo perceived quality of an app
28
Congratulations it only took you 700000 apps
I found the app
The rating of an app helps it to be found
29
At least 1000 results
30
Version-rating
X1X2X3X1X3
Number of Raters
= 5 = 8= 9= 2= 3
10 27
Version 10
Version-rating 10 = 2710 = 27
Number of Stars
Global-rating
31
Many apps contain biased ratings because of a low number of versions andor raters
32
1 2 3 4 5Rating
Density Plot of the ratings of all apps with at least 10 raters
Den
sity
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7
1 2 3 4 5Rating
Density Plot of the ratings of all apps
Den
sity
0
0
5
1
0
1
5
bull App-user could download an app with high average-rating even though the quality is very bad
bull 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 rateddownloaded 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 aftera large number of app-users have rated an app
1e+00 1e+02 1e+04 1e+06Initial raters
-2
0
2
4
Glo
bal-r
atin
g in
crea
se
Global-rating increase
-15 -10 -05 0 05 10 15
Vers
ion-
ratin
g in
crea
se
-4
-2
0
2
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 nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awful version 1000 by 1000
Global-rating = (3000000+1000) divide(1000000+1000) = 2998~30
36
The global-rating does not incentive to app developers to release a better app
Version nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awesome version5000 by1000
Global-rating = (3000000+5000) divide(1000000+1000) = 3001~30
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
High Global Reuse
19
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Per
cent
age
of A
pps
for e
ach
Cat
egor
y100
80
60
40
20
0
High Global Reuse
20
Per
cent
age
of A
pps
for e
ach
Cat
egor
y 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 ldquoLarge-Scale Code Reuse in Open Source Softwarerdquo Emerging Trends in FLOSS Research and Development 2007 FLOSS rsquo07 First International Workshop on vol no pp7 20-26 May 2007
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Pair Wise Reuse
21
One
Cat
egor
y
App 1 App 2
local (App 1 App 2)
A BC D
A EF
25
= = 040
local (App 2 App 1) 23
= = 067
local (App 3 App 2) 24
= = 050
App 3
A DF GE
22
Social 57 out of 1119 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
Large dataset of appsThe Google Play was crawled along the 2011 obtainingbull 500K app versionsbull 200K apps
The data obtained from this crawlingbull The app files (APK files)bull 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The rating of an app shows the app usersrsquo perceived quality of an app
28
Congratulations it only took you 700000 apps
I found the app
The rating of an app helps it to be found
29
At least 1000 results
30
Version-rating
X1X2X3X1X3
Number of Raters
= 5 = 8= 9= 2= 3
10 27
Version 10
Version-rating 10 = 2710 = 27
Number of Stars
Global-rating
31
Many apps contain biased ratings because of a low number of versions andor raters
32
1 2 3 4 5Rating
Density Plot of the ratings of all apps with at least 10 raters
Den
sity
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7
1 2 3 4 5Rating
Density Plot of the ratings of all apps
Den
sity
0
0
5
1
0
1
5
bull App-user could download an app with high average-rating even though the quality is very bad
bull 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 rateddownloaded 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 aftera large number of app-users have rated an app
1e+00 1e+02 1e+04 1e+06Initial raters
-2
0
2
4
Glo
bal-r
atin
g in
crea
se
Global-rating increase
-15 -10 -05 0 05 10 15
Vers
ion-
ratin
g in
crea
se
-4
-2
0
2
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 nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awful version 1000 by 1000
Global-rating = (3000000+1000) divide(1000000+1000) = 2998~30
36
The global-rating does not incentive to app developers to release a better app
Version nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awesome version5000 by1000
Global-rating = (3000000+5000) divide(1000000+1000) = 3001~30
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
High Global Reuse
20
Per
cent
age
of A
pps
for e
ach
Cat
egor
y 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 ldquoLarge-Scale Code Reuse in Open Source Softwarerdquo Emerging Trends in FLOSS Research and Development 2007 FLOSS rsquo07 First International Workshop on vol no pp7 20-26 May 2007
10 09 08 07 06 05 04 03 02 01 0Global Reuse
Pair Wise Reuse
21
One
Cat
egor
y
App 1 App 2
local (App 1 App 2)
A BC D
A EF
25
= = 040
local (App 2 App 1) 23
= = 067
local (App 3 App 2) 24
= = 050
App 3
A DF GE
22
Social 57 out of 1119 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
Large dataset of appsThe Google Play was crawled along the 2011 obtainingbull 500K app versionsbull 200K apps
The data obtained from this crawlingbull The app files (APK files)bull 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The rating of an app shows the app usersrsquo perceived quality of an app
28
Congratulations it only took you 700000 apps
I found the app
The rating of an app helps it to be found
29
At least 1000 results
30
Version-rating
X1X2X3X1X3
Number of Raters
= 5 = 8= 9= 2= 3
10 27
Version 10
Version-rating 10 = 2710 = 27
Number of Stars
Global-rating
31
Many apps contain biased ratings because of a low number of versions andor raters
32
1 2 3 4 5Rating
Density Plot of the ratings of all apps with at least 10 raters
Den
sity
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7
1 2 3 4 5Rating
Density Plot of the ratings of all apps
Den
sity
0
0
5
1
0
1
5
bull App-user could download an app with high average-rating even though the quality is very bad
bull 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 rateddownloaded 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 aftera large number of app-users have rated an app
1e+00 1e+02 1e+04 1e+06Initial raters
-2
0
2
4
Glo
bal-r
atin
g in
crea
se
Global-rating increase
-15 -10 -05 0 05 10 15
Vers
ion-
ratin
g in
crea
se
-4
-2
0
2
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 nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awful version 1000 by 1000
Global-rating = (3000000+1000) divide(1000000+1000) = 2998~30
36
The global-rating does not incentive to app developers to release a better app
Version nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awesome version5000 by1000
Global-rating = (3000000+5000) divide(1000000+1000) = 3001~30
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
Pair Wise Reuse
21
One
Cat
egor
y
App 1 App 2
local (App 1 App 2)
A BC D
A EF
25
= = 040
local (App 2 App 1) 23
= = 067
local (App 3 App 2) 24
= = 050
App 3
A DF GE
22
Social 57 out of 1119 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
Large dataset of appsThe Google Play was crawled along the 2011 obtainingbull 500K app versionsbull 200K apps
The data obtained from this crawlingbull The app files (APK files)bull 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The rating of an app shows the app usersrsquo perceived quality of an app
28
Congratulations it only took you 700000 apps
I found the app
The rating of an app helps it to be found
29
At least 1000 results
30
Version-rating
X1X2X3X1X3
Number of Raters
= 5 = 8= 9= 2= 3
10 27
Version 10
Version-rating 10 = 2710 = 27
Number of Stars
Global-rating
31
Many apps contain biased ratings because of a low number of versions andor raters
32
1 2 3 4 5Rating
Density Plot of the ratings of all apps with at least 10 raters
Den
sity
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7
1 2 3 4 5Rating
Density Plot of the ratings of all apps
Den
sity
0
0
5
1
0
1
5
bull App-user could download an app with high average-rating even though the quality is very bad
bull 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 rateddownloaded 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 aftera large number of app-users have rated an app
1e+00 1e+02 1e+04 1e+06Initial raters
-2
0
2
4
Glo
bal-r
atin
g in
crea
se
Global-rating increase
-15 -10 -05 0 05 10 15
Vers
ion-
ratin
g in
crea
se
-4
-2
0
2
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 nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awful version 1000 by 1000
Global-rating = (3000000+1000) divide(1000000+1000) = 2998~30
36
The global-rating does not incentive to app developers to release a better app
Version nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awesome version5000 by1000
Global-rating = (3000000+5000) divide(1000000+1000) = 3001~30
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
22
Social 57 out of 1119 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
Large dataset of appsThe Google Play was crawled along the 2011 obtainingbull 500K app versionsbull 200K apps
The data obtained from this crawlingbull The app files (APK files)bull 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The rating of an app shows the app usersrsquo perceived quality of an app
28
Congratulations it only took you 700000 apps
I found the app
The rating of an app helps it to be found
29
At least 1000 results
30
Version-rating
X1X2X3X1X3
Number of Raters
= 5 = 8= 9= 2= 3
10 27
Version 10
Version-rating 10 = 2710 = 27
Number of Stars
Global-rating
31
Many apps contain biased ratings because of a low number of versions andor raters
32
1 2 3 4 5Rating
Density Plot of the ratings of all apps with at least 10 raters
Den
sity
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7
1 2 3 4 5Rating
Density Plot of the ratings of all apps
Den
sity
0
0
5
1
0
1
5
bull App-user could download an app with high average-rating even though the quality is very bad
bull 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 rateddownloaded 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 aftera large number of app-users have rated an app
1e+00 1e+02 1e+04 1e+06Initial raters
-2
0
2
4
Glo
bal-r
atin
g in
crea
se
Global-rating increase
-15 -10 -05 0 05 10 15
Vers
ion-
ratin
g in
crea
se
-4
-2
0
2
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 nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awful version 1000 by 1000
Global-rating = (3000000+1000) divide(1000000+1000) = 2998~30
36
The global-rating does not incentive to app developers to release a better app
Version nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awesome version5000 by1000
Global-rating = (3000000+5000) divide(1000000+1000) = 3001~30
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
Social 57 out of 1119 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
Large dataset of appsThe Google Play was crawled along the 2011 obtainingbull 500K app versionsbull 200K apps
The data obtained from this crawlingbull The app files (APK files)bull 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The rating of an app shows the app usersrsquo perceived quality of an app
28
Congratulations it only took you 700000 apps
I found the app
The rating of an app helps it to be found
29
At least 1000 results
30
Version-rating
X1X2X3X1X3
Number of Raters
= 5 = 8= 9= 2= 3
10 27
Version 10
Version-rating 10 = 2710 = 27
Number of Stars
Global-rating
31
Many apps contain biased ratings because of a low number of versions andor raters
32
1 2 3 4 5Rating
Density Plot of the ratings of all apps with at least 10 raters
Den
sity
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7
1 2 3 4 5Rating
Density Plot of the ratings of all apps
Den
sity
0
0
5
1
0
1
5
bull App-user could download an app with high average-rating even though the quality is very bad
bull 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 rateddownloaded 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 aftera large number of app-users have rated an app
1e+00 1e+02 1e+04 1e+06Initial raters
-2
0
2
4
Glo
bal-r
atin
g in
crea
se
Global-rating increase
-15 -10 -05 0 05 10 15
Vers
ion-
ratin
g in
crea
se
-4
-2
0
2
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 nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awful version 1000 by 1000
Global-rating = (3000000+1000) divide(1000000+1000) = 2998~30
36
The global-rating does not incentive to app developers to release a better app
Version nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awesome version5000 by1000
Global-rating = (3000000+5000) divide(1000000+1000) = 3001~30
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
Large dataset of appsThe Google Play was crawled along the 2011 obtainingbull 500K app versionsbull 200K apps
The data obtained from this crawlingbull The app files (APK files)bull 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The rating of an app shows the app usersrsquo perceived quality of an app
28
Congratulations it only took you 700000 apps
I found the app
The rating of an app helps it to be found
29
At least 1000 results
30
Version-rating
X1X2X3X1X3
Number of Raters
= 5 = 8= 9= 2= 3
10 27
Version 10
Version-rating 10 = 2710 = 27
Number of Stars
Global-rating
31
Many apps contain biased ratings because of a low number of versions andor raters
32
1 2 3 4 5Rating
Density Plot of the ratings of all apps with at least 10 raters
Den
sity
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7
1 2 3 4 5Rating
Density Plot of the ratings of all apps
Den
sity
0
0
5
1
0
1
5
bull App-user could download an app with high average-rating even though the quality is very bad
bull 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 rateddownloaded 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 aftera large number of app-users have rated an app
1e+00 1e+02 1e+04 1e+06Initial raters
-2
0
2
4
Glo
bal-r
atin
g in
crea
se
Global-rating increase
-15 -10 -05 0 05 10 15
Vers
ion-
ratin
g in
crea
se
-4
-2
0
2
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 nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awful version 1000 by 1000
Global-rating = (3000000+1000) divide(1000000+1000) = 2998~30
36
The global-rating does not incentive to app developers to release a better app
Version nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awesome version5000 by1000
Global-rating = (3000000+5000) divide(1000000+1000) = 3001~30
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
25
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
Large dataset of appsThe Google Play was crawled along the 2011 obtainingbull 500K app versionsbull 200K apps
The data obtained from this crawlingbull The app files (APK files)bull 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The rating of an app shows the app usersrsquo perceived quality of an app
28
Congratulations it only took you 700000 apps
I found the app
The rating of an app helps it to be found
29
At least 1000 results
30
Version-rating
X1X2X3X1X3
Number of Raters
= 5 = 8= 9= 2= 3
10 27
Version 10
Version-rating 10 = 2710 = 27
Number of Stars
Global-rating
31
Many apps contain biased ratings because of a low number of versions andor raters
32
1 2 3 4 5Rating
Density Plot of the ratings of all apps with at least 10 raters
Den
sity
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7
1 2 3 4 5Rating
Density Plot of the ratings of all apps
Den
sity
0
0
5
1
0
1
5
bull App-user could download an app with high average-rating even though the quality is very bad
bull 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 rateddownloaded 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 aftera large number of app-users have rated an app
1e+00 1e+02 1e+04 1e+06Initial raters
-2
0
2
4
Glo
bal-r
atin
g in
crea
se
Global-rating increase
-15 -10 -05 0 05 10 15
Vers
ion-
ratin
g in
crea
se
-4
-2
0
2
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 nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awful version 1000 by 1000
Global-rating = (3000000+1000) divide(1000000+1000) = 2998~30
36
The global-rating does not incentive to app developers to release a better app
Version nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awesome version5000 by1000
Global-rating = (3000000+5000) divide(1000000+1000) = 3001~30
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
Large dataset of appsThe Google Play was crawled along the 2011 obtainingbull 500K app versionsbull 200K apps
The data obtained from this crawlingbull The app files (APK files)bull 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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The rating of an app shows the app usersrsquo perceived quality of an app
28
Congratulations it only took you 700000 apps
I found the app
The rating of an app helps it to be found
29
At least 1000 results
30
Version-rating
X1X2X3X1X3
Number of Raters
= 5 = 8= 9= 2= 3
10 27
Version 10
Version-rating 10 = 2710 = 27
Number of Stars
Global-rating
31
Many apps contain biased ratings because of a low number of versions andor raters
32
1 2 3 4 5Rating
Density Plot of the ratings of all apps with at least 10 raters
Den
sity
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7
1 2 3 4 5Rating
Density Plot of the ratings of all apps
Den
sity
0
0
5
1
0
1
5
bull App-user could download an app with high average-rating even though the quality is very bad
bull 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 rateddownloaded 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 aftera large number of app-users have rated an app
1e+00 1e+02 1e+04 1e+06Initial raters
-2
0
2
4
Glo
bal-r
atin
g in
crea
se
Global-rating increase
-15 -10 -05 0 05 10 15
Vers
ion-
ratin
g in
crea
se
-4
-2
0
2
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 nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awful version 1000 by 1000
Global-rating = (3000000+1000) divide(1000000+1000) = 2998~30
36
The global-rating does not incentive to app developers to release a better app
Version nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awesome version5000 by1000
Global-rating = (3000000+5000) divide(1000000+1000) = 3001~30
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
27
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The rating of an app shows the app usersrsquo perceived quality of an app
28
Congratulations it only took you 700000 apps
I found the app
The rating of an app helps it to be found
29
At least 1000 results
30
Version-rating
X1X2X3X1X3
Number of Raters
= 5 = 8= 9= 2= 3
10 27
Version 10
Version-rating 10 = 2710 = 27
Number of Stars
Global-rating
31
Many apps contain biased ratings because of a low number of versions andor raters
32
1 2 3 4 5Rating
Density Plot of the ratings of all apps with at least 10 raters
Den
sity
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7
1 2 3 4 5Rating
Density Plot of the ratings of all apps
Den
sity
0
0
5
1
0
1
5
bull App-user could download an app with high average-rating even though the quality is very bad
bull 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 rateddownloaded 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 aftera large number of app-users have rated an app
1e+00 1e+02 1e+04 1e+06Initial raters
-2
0
2
4
Glo
bal-r
atin
g in
crea
se
Global-rating increase
-15 -10 -05 0 05 10 15
Vers
ion-
ratin
g in
crea
se
-4
-2
0
2
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 nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awful version 1000 by 1000
Global-rating = (3000000+1000) divide(1000000+1000) = 2998~30
36
The global-rating does not incentive to app developers to release a better app
Version nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awesome version5000 by1000
Global-rating = (3000000+5000) divide(1000000+1000) = 3001~30
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
The rating of an app shows the app usersrsquo perceived quality of an app
28
Congratulations it only took you 700000 apps
I found the app
The rating of an app helps it to be found
29
At least 1000 results
30
Version-rating
X1X2X3X1X3
Number of Raters
= 5 = 8= 9= 2= 3
10 27
Version 10
Version-rating 10 = 2710 = 27
Number of Stars
Global-rating
31
Many apps contain biased ratings because of a low number of versions andor raters
32
1 2 3 4 5Rating
Density Plot of the ratings of all apps with at least 10 raters
Den
sity
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7
1 2 3 4 5Rating
Density Plot of the ratings of all apps
Den
sity
0
0
5
1
0
1
5
bull App-user could download an app with high average-rating even though the quality is very bad
bull 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 rateddownloaded 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 aftera large number of app-users have rated an app
1e+00 1e+02 1e+04 1e+06Initial raters
-2
0
2
4
Glo
bal-r
atin
g in
crea
se
Global-rating increase
-15 -10 -05 0 05 10 15
Vers
ion-
ratin
g in
crea
se
-4
-2
0
2
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 nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awful version 1000 by 1000
Global-rating = (3000000+1000) divide(1000000+1000) = 2998~30
36
The global-rating does not incentive to app developers to release a better app
Version nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awesome version5000 by1000
Global-rating = (3000000+5000) divide(1000000+1000) = 3001~30
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
Congratulations it only took you 700000 apps
I found the app
The rating of an app helps it to be found
29
At least 1000 results
30
Version-rating
X1X2X3X1X3
Number of Raters
= 5 = 8= 9= 2= 3
10 27
Version 10
Version-rating 10 = 2710 = 27
Number of Stars
Global-rating
31
Many apps contain biased ratings because of a low number of versions andor raters
32
1 2 3 4 5Rating
Density Plot of the ratings of all apps with at least 10 raters
Den
sity
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7
1 2 3 4 5Rating
Density Plot of the ratings of all apps
Den
sity
0
0
5
1
0
1
5
bull App-user could download an app with high average-rating even though the quality is very bad
bull 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 rateddownloaded 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 aftera large number of app-users have rated an app
1e+00 1e+02 1e+04 1e+06Initial raters
-2
0
2
4
Glo
bal-r
atin
g in
crea
se
Global-rating increase
-15 -10 -05 0 05 10 15
Vers
ion-
ratin
g in
crea
se
-4
-2
0
2
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 nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awful version 1000 by 1000
Global-rating = (3000000+1000) divide(1000000+1000) = 2998~30
36
The global-rating does not incentive to app developers to release a better app
Version nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awesome version5000 by1000
Global-rating = (3000000+5000) divide(1000000+1000) = 3001~30
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
30
Version-rating
X1X2X3X1X3
Number of Raters
= 5 = 8= 9= 2= 3
10 27
Version 10
Version-rating 10 = 2710 = 27
Number of Stars
Global-rating
31
Many apps contain biased ratings because of a low number of versions andor raters
32
1 2 3 4 5Rating
Density Plot of the ratings of all apps with at least 10 raters
Den
sity
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7
1 2 3 4 5Rating
Density Plot of the ratings of all apps
Den
sity
0
0
5
1
0
1
5
bull App-user could download an app with high average-rating even though the quality is very bad
bull 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 rateddownloaded 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 aftera large number of app-users have rated an app
1e+00 1e+02 1e+04 1e+06Initial raters
-2
0
2
4
Glo
bal-r
atin
g in
crea
se
Global-rating increase
-15 -10 -05 0 05 10 15
Vers
ion-
ratin
g in
crea
se
-4
-2
0
2
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 nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awful version 1000 by 1000
Global-rating = (3000000+1000) divide(1000000+1000) = 2998~30
36
The global-rating does not incentive to app developers to release a better app
Version nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awesome version5000 by1000
Global-rating = (3000000+5000) divide(1000000+1000) = 3001~30
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
Global-rating
31
Many apps contain biased ratings because of a low number of versions andor raters
32
1 2 3 4 5Rating
Density Plot of the ratings of all apps with at least 10 raters
Den
sity
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7
1 2 3 4 5Rating
Density Plot of the ratings of all apps
Den
sity
0
0
5
1
0
1
5
bull App-user could download an app with high average-rating even though the quality is very bad
bull 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 rateddownloaded 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 aftera large number of app-users have rated an app
1e+00 1e+02 1e+04 1e+06Initial raters
-2
0
2
4
Glo
bal-r
atin
g in
crea
se
Global-rating increase
-15 -10 -05 0 05 10 15
Vers
ion-
ratin
g in
crea
se
-4
-2
0
2
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 nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awful version 1000 by 1000
Global-rating = (3000000+1000) divide(1000000+1000) = 2998~30
36
The global-rating does not incentive to app developers to release a better app
Version nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awesome version5000 by1000
Global-rating = (3000000+5000) divide(1000000+1000) = 3001~30
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
Many apps contain biased ratings because of a low number of versions andor raters
32
1 2 3 4 5Rating
Density Plot of the ratings of all apps with at least 10 raters
Den
sity
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7
1 2 3 4 5Rating
Density Plot of the ratings of all apps
Den
sity
0
0
5
1
0
1
5
bull App-user could download an app with high average-rating even though the quality is very bad
bull 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 rateddownloaded 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 aftera large number of app-users have rated an app
1e+00 1e+02 1e+04 1e+06Initial raters
-2
0
2
4
Glo
bal-r
atin
g in
crea
se
Global-rating increase
-15 -10 -05 0 05 10 15
Vers
ion-
ratin
g in
crea
se
-4
-2
0
2
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 nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awful version 1000 by 1000
Global-rating = (3000000+1000) divide(1000000+1000) = 2998~30
36
The global-rating does not incentive to app developers to release a better app
Version nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awesome version5000 by1000
Global-rating = (3000000+5000) divide(1000000+1000) = 3001~30
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
bull App-user could download an app with high average-rating even though the quality is very bad
bull 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 rateddownloaded 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 aftera large number of app-users have rated an app
1e+00 1e+02 1e+04 1e+06Initial raters
-2
0
2
4
Glo
bal-r
atin
g in
crea
se
Global-rating increase
-15 -10 -05 0 05 10 15
Vers
ion-
ratin
g in
crea
se
-4
-2
0
2
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 nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awful version 1000 by 1000
Global-rating = (3000000+1000) divide(1000000+1000) = 2998~30
36
The global-rating does not incentive to app developers to release a better app
Version nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awesome version5000 by1000
Global-rating = (3000000+5000) divide(1000000+1000) = 3001~30
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
34
The global-rating is resilient to fluctuations aftera large number of app-users have rated an app
1e+00 1e+02 1e+04 1e+06Initial raters
-2
0
2
4
Glo
bal-r
atin
g in
crea
se
Global-rating increase
-15 -10 -05 0 05 10 15
Vers
ion-
ratin
g in
crea
se
-4
-2
0
2
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 nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awful version 1000 by 1000
Global-rating = (3000000+1000) divide(1000000+1000) = 2998~30
36
The global-rating does not incentive to app developers to release a better app
Version nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awesome version5000 by1000
Global-rating = (3000000+5000) divide(1000000+1000) = 3001~30
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
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 nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awful version 1000 by 1000
Global-rating = (3000000+1000) divide(1000000+1000) = 2998~30
36
The global-rating does not incentive to app developers to release a better app
Version nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awesome version5000 by1000
Global-rating = (3000000+5000) divide(1000000+1000) = 3001~30
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
36
The global-rating does not incentive to app developers to release a better app
Version nRated by 1000000 app-users
Global-rating 30
Global-rating= sum divide sum = 30
sum = sum x global-rating = 3000000
New Awesome version5000 by1000
Global-rating = (3000000+5000) divide(1000000+1000) = 3001~30
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
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 reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
41
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein mobile apps App rating Ad maintenance
The present rating system does not
motivateapp-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 reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
42
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein mobile apps App rating Ad maintenance
LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
The present rating system does not
motivateapp-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) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
Free apps dominate the app market
43
~90 of downloaded apps are free-to-download apps2
1AppBrain (2013) lsquoComparison of free and paid android appsrsquo httpwwwappbraincomstatsfree-and-paid-android-applications2 Pettey C and van der Meulen R (2012) lsquoGartner says free apps will account for nearly 90 percent of total mobile app store downloads in 2012rsquo httpwwwgartnercomitpagejspid=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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
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
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
Process to serve an ad
Advertiser
46CPA
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
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 181 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) lsquoSmaato releases q2 2011 mobile metrics reportrsquo httpwwwsmaatocommetricsq22011-22 Opera (2013) lsquoThe state of mobile advertising q2 2012rsquo httpbusinessoperacomsma2012q2
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
48
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
App
Log
ic
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
49
App
Log
ic
Ad-
med
iato
r
Configuration Server
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
50
App
Log
ic
Ad-exchangeServer
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
51
Ad-network model
Ad-mediator model
Ad-exchange model
Three ad-serving modelsAd-network Ad-mediator Ad-exchange
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
Ad-libraries are updated constantly
52
Corporate moves
Integrate new features (eg ad video)
Add compatibility with other ad libraries
Fix bugs (memory ads no displayed etc)
Manage personal information
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
SW Engineering Challengesbull Balance between app and ad
environmentAds are annoying 68 of consumers find online ads ldquoannoyingrdquo and ldquodistractingrdquo1
53
bull Increase revenueApp-developers evaluate which ad-library generates the highest revenue
bull Time between publicationAd-library providers are updating constantly their ad-libraries
1httpwwwadobecomaboutadobepressroompdfsAdobe_State_of_Online_Advertising_Studypdf
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
Ad-maintenanceAd-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
bull Examples of such changes are correcting problems with the ad libraries modify add remove or update an ad library in an app
bull 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-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
Identifying ad-libraries1 Search the [aA][dD] regular expression across the
appsrsquo classes compackageAdlibraryNameAdclassName
2 Web search of the packageAdlibraryName
55
72 ad-libraries
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
Ad-libraries play a prominent role in the free apps
56
4951
No ads
Ad-supported apps
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
The percentage of ad supported apps varies across the different app categories
57
Categories
Pho
togr
aphy
Gam
es
Ent
erta
inm
ent
Com
ics
Per
sona
lizat
ion
Med
iaamp
Vid
eo
New
sampM
agaz
ines
Libr
arie
sampD
emo
Boo
ksamp
refe
renc
es
Spo
rts
Hea
lthamp
Fitn
ess
Wea
ther
Tool
s
Edu
catio
n
Life
styl
e
Mus
icamp
Aud
io
Soc
ial
Tran
spor
tatio
n
Pro
duct
ivity
Trav
elamp
Loca
l
Com
mun
icat
ion
Sho
ppin
g
Fina
nce
Med
ical
Bus
ines
s
9080706050403020100
Per
cent
age
of a
d-su
ppor
ted
apps
per
cat
egor
y
781 778
643 638
Top categories with ad-supported apps
262245
189 143
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
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
Few different ad libraries dominate the ad library market
58
Ad-libraries
60
50
40
30
20
10
0
Per
cent
age
of a
d-su
ppor
ted
apps
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
bull Revenue
bull Premium ad-networks
bull Regional vs global
bull Trust
bull Type ad-content
59
Choosing an ad-library
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
The ad-network serving model dominates drastically the ad market
bull 61 out of the 72 (8472) of the ad libraries identified work as ad networks 6 (833) are ad-mediator libraries and 5 (694) are ad exchanges libraries
60
Ad-serving model
Per
cent
age
of a
d-su
ppor
ted
apps 88
116 99
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
Ad supported apps can contain a large number of ad libraries
61
I think I hadso 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
90K80K70K60K50K40K30K20K10K
0
Num
ber o
f app
s
175
7(2
125
6)
6511(78775)
709
(8
581
) 3
36
(40
68)
059(709)
006 (78)
006 (73)
105 (1265)
050 (608)
020 (240)
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
Are app developers updating the ad-libraries
62
Version 10 Version n
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
App developers are frequently updating the ad libraries in their apps
Ad-libraries werebull Updated 6525
bull Added 4369
bull Removed 2464
63
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
942 apps out of the 6850 (1375) only updated their ad-libraries
64
How much a calculator can change
942 apps out of 6850 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
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
65
Money
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 librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
The number of ad librariesdoes not affect the rating
66
Number of ad-libraries1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 21 23 27 28
5
4
3
2
1
Vers
ion-
ratin
g
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
The behaviour of an ad-library affects the rating of an app
67
Ad-libraries
Vers
ion-
ratin
g
Good game bad ads I was loving the game until I noticed it put a new shortcut called rdquoAppsrdquo on my launcher Sorry but if your idea of advertising is putting sht in launcher pages or notifications then Irsquom not interested
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
68
Software reuse has highly
contributed to accelerate the production of Android apps
Software reusein 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
motivateapp-developers to
improve the quality of their apps
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
69
Conclusions
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
70
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
71
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
72
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
73
Bertillonage SignatureDecompiled Class
Package pspublic class ClassName extends jlE implements xyZ
public void C() Classlsquo constructor
private int a(javalangString s) throws packsubPackageK
[compiled byte code]
Bertillonage Signature
ps
public void C()
private int a(String) throws K
public class ClassName extends E implements Z
sClass =
sM1 =
sM2 =
Bertillonage class signature = ltsClassltsM1sM2gtgt
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
74
- LARGE-SCALE EMPIRICAL STUDIES OF MOBILE APPS
- Mobile apps are applications to run on mobile devices (smartpho
- Apps are different than traditional software
- Billionaire market with thousands of software developers
- Accelerated Rate of Growth in the Number of Apps
- Free apps dominate the app market
- App developers are competing against other hundred of thousands
- Research statement
- The Android platform dominates the worldwide market
- Slide 10
- Slide 11
- Slide 12
- Comparing Two Classes
- Slide 14
- Range of Android Apps Size
- How Much Diversity is There in a Category
- HIGH Code Reuse
- Global Reuse of Classes
- High Global Reuse
- High Global Reuse (2)
- Pair Wise Reuse
- Slide 22
- Social 57 out of 1119 apps were identical
- Reuse of framework
- Slide 25
- Large dataset of apps
- Slide 27
- The rating of an app shows the app usersrsquo perceived quality of
- The rating of an app helps it to be found
- Version-rating
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Size OO Design and Reuse metrics are most closely related with
- Slide 40
- Slide 41
- Slide 42
- Free apps dominate the app market
- Advertisements in apps
- App developers depend on ads to generate revenue from their fre
- Process to serve an ad
- Low Number of Ads available (Low Fill rate)
- Three ad-serving models Ad-network Ad-mediator Ad-exchange
- Slide 49
- Slide 50
- Slide 51
- Ad-libraries are updated constantly
- SW Engineering Challenges
- Ad-maintenance
- Identifying ad-libraries
- Ad-libraries play a prominent role in the free apps
- The percentage of ad supported apps varies across the different
- Few different ad libraries dominate the ad library market
- Choosing an ad-library
- The ad-network serving model dominates drastically the ad marke
- Ad supported apps can contain a large number of ad libraries
- Are app developers updating the ad-libraries
- App developers are frequently updating the ad libraries in thei
- 942 apps out of the 6850 (1375) only updated their ad-librar
- To use only one ad-network results in the least number of ad ch
- The number of ad libraries does not affect the rating
- The behaviour of an ad-library affects the rating of an app
- Slide 68
- Slide 69
- Slide 70
- Slide 71
- Slide 72
- Bertillonage Signature
- Slide 74
-
top related