• No results found

CSMR-WCRE 2014: SQM Exploring Development Practices of Android Mobile Apps from Different Categories. Ahmed Abdel Moamen Chanchal K.

N/A
N/A
Protected

Academic year: 2021

Share "CSMR-WCRE 2014: SQM Exploring Development Practices of Android Mobile Apps from Different Categories. Ahmed Abdel Moamen Chanchal K."

Copied!
23
0
0

Loading.... (view fulltext now)

Full text

(1)

Exploring Development Practices of Android Mobile

Apps from Different Categories

B

y

Ahmed Abdel Moamen

Chanchal K. Roy

 

(2)

Mobile Devices are Ubiquitous

!

In 2014, it is expected that 40% of all

Internet traffic will be attributable to the

smartphone [eMarketer, 2013]

!

Smartphone ownership rose by an

annualized rate of 64% in 2Q-2013

[Comscore in Wall Street Journal, 2013]

!

One in four Americans owns

smartphone [Engadget, 2013]

!

Apple Inc sold 20 million iPads in 2013

(3)

Categories of Mobile Apps

M-Commerce M-Learning Utilities

(4)

Number of Mobile Apps in 2013

Company Platform Number of Apps

Apple iOS 650,000

Google Android 500,000

RIM BlackBerry 100,000

(5)

Development Practices of Mobile Apps

" 

Existing software engineering knowledge may not hold in

mobile apps.

" 

Mobile devices place a restriction on the developer

#  Memory consumption and availability

#  How to handle memory and how the UP components be

displayed?

" 

Apps development are different from the traditional

software systems.

" 

Understanding development practices may reduce the

effort in developing mobile apps.

" 

This paper explores the code characteristics and

(6)

Paper Outlines

" 

Contributions

" 

Findings

" 

Case Study I: Software Analysis for Mobile Apps

" 

Case Study II: Exploring the Development of Mobile

Apps from Different Categories

(7)

Main Contributions

" 

Explore and compare the development practises of

mobile apps from different categories.

" 

Study more complex software engineering metrics

# 

e.g., count of coupled and derived classes, max

inheritance tree, and average cyclomatic complexity)

(8)

Interesting Findings

"  Game apps tend to be smaller in the size of code.

"  There is an inverse relationship between the number of

classes and the platform dependency.

"  Android mobile apps rely much more on platform APIs.

"  Most of mobile apps show very little growth of its size after the

initial commit.

" 

The case study shows a nearly total absence of

(9)

Case Study I: Software Analysis for Mobile Apps

" 

We study thirty Android apps

.

" 

Choosing

criteria:

#  The popularity amongst users (measured by number of

downloads).

#  Have accessible source code repositories and issue tracking

systems.

#  Mobile apps are taken from a number of different categories

"  S

oftware engineering metrics:

#  Size of Code and Development Team

(10)
(11)

Size of Code and The Development Team

App ID vs. Number of classes

!

Size of code ranges

between 237

and 704,195 LOC

!

Median 12 KLOC

!

Mobile apps have small code

bases and development teams.

!

Games have small size compared

to other categories.

!

Fewer developers contribute to

mobile app projects.

0   500   1000   1500   2000   0   5   10   15   20   25   30   No.  of  C lasse s     ID   Mobile  App  

(12)

Platform and Third Party Libraries Usage

0   10   20   30   40   50   60   70   80   90   100   0   5   10   15   20   25   30   In te rn al  C al ls  U sa ge  (%)   ID   Mobile  App   0 10 20 30 40 50 60 70 80 90 100 0 5 10 15 20 25 30 Pl atfo rm U sa g e (% ) ID Mobile App 0   10   20   30   40   50   60   70   80   90   100   0   5   10   15   20   25   30   Th ird  P ar ty  U sa ge  (%)     Mobile  App  

(13)

The number of classes versus the platform dependency

$ 

There is an inverse relationship between the number of

classes and the platform dependency.

$ 

Smaller mobile apps depend more on the Anroid

platform?

0   10   20   30   40   50   60   70   80   90   Pl a; or m  U sa ge  (%)  

(14)

Case Study II: Exploring the Development of

Mobile Apps from Different Categories

" 

Study four mobile apps from different categories in more

depth.

#  Communication and networking, game, utility and multimedia

"  S

oftware engineering metrics:

#  The project metrics

#  Source Code Dependency Metrics

#  The growth of lines of code over time

#  Code Churn Properties

(15)

Selected Mobile Apps

" 

Choosing

Criteria:

#  Category: one app from each category

#  Simplicity: the code base for the mobile app can be easily

identified

#  Significant code base: mobile apps must have at least 100

(16)

Source Code Dependency Metrics

Source Code Dependency M1: Com, M2: Game, M3: Utility, M4: Multi

!

Android mobile apps rely much more

on platform and language APIs.

!

Third party dependencies account for

fewer dependencies than any other dependency categories

!

The Android and Java APIs appear to

provide most of the dependencies of the mobile apps

!

Over 56% of the Android mobile app

dependencies are on the Android and Java APIs 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% M1 M2 M3 M4 Third Party Language Platform Project

(17)

The growth of lines of code over time

!

The figure shows that source code files in communication

and game apps change more frequently than other

categories.

0 5000 10000 15000 20000 25000 30000 35000 40000 N ov-0 7 F eb -0 8 Ma y-0 8 Au g-0 8 N ov-0 8 F eb -0 9 Ma y-0 9 Au g-0 9 N ov-0 9 F eb -1 0 Ma y-1 0 Au g-1 0 N ov-1 0 F eb -1 1 Ma y-1 1 Au g-1 1 N ov-1 1 F eb -1 2 Ma y-1 2 Au g-1 2 N ov-1 2 F eb -1 3 LOC M1 M2 M3 M4 (Game) (Utility) (Mul) (Com)

(18)

Code Churn Properties

!

The average LOC per change in all mobile apps is 72 LOC per

change.

!

This indicates that Android mobile apps see many small

changes

!

The third party source code has very little code churn

(19)
(20)

Class Metrics

!

Android mobile apps’ developers tend to write small size

classes (in terms of LOC).

!

The average number of local variables defined inside each

class is too small (i.e., 3 variables).

!

There are

excessive coupled classes in Android apps that

may prevent reuse of existing components.

!

The average count of derived classes is 0.33, which

shows a nearly total absence of inheritance.

!

The average cyclomatic complexity for all nested

(21)

Threats to Validity

!

The studied mobile apps represent a small subset of the total

number of available apps.

!

We have limited our study to a single mobile platform (i.e., the

Android Platform).

!

A number of third party tools were used in conducting the case

study.

!

The identification of third-party libraries in each app was done

(22)

Conclusions

"  The goal of this paper is to understand how high quality and

successful mobile apps can be developed and maintained.

"  Mobile apps have unique code characteristics.

"  We found that mobile apps of different purposes differ in

different ways.

"  Mobile apps bring a unique set of challenges to software

(23)

Thank  You!

 

 

 

References

Related documents

In addition to Office Mobile Apps for iOS and Android, Intune will support LOB iOS and Android apps. Selective wipe applies only to

Warriors without this skill may still ride animals, but must test against their Leadership if hit by any missile, and at the beginning of any Combat phase when a standing enemy is

JDWP debugger Breakpoint Log 4T025-1-A @ Peter Lo 2014 Log Cat 26 The Android logging system provides a mechanism for collecting and viewing system debug output. Logs from

Android provides the geomagnetic field sensor and the orientation sensor that let you determine the position of a device.. It also provide a proximity sensor that lets you

Na TC da perna esquerda observaram- -se, na face interna, 6 lesões sólidas heterogéneas (a maior na pele e no tecido celular subcutâneo e duas delas em contacto com a aponevrose

This observational study of the presentation, management and outcomes of uncomplicated UTI in primary care in four European countries involving nearly 800 well described

Please join the faithful on Divine Mercy Sunday, April 11, 2021, at 2:45pm for a special gathering in church to recite/sing The Divine Mercy Chaplet, offering up our

In addition to detailed wage and salary information, each of the five county population groups begins with a group summary page that includes the 2010 Census population, the latest