21
A Visual Software Analytics Platform for Mobile Applications MO A A S Roberto Minelli and Michele Lanza REVEAL @ Faculty of Informatics – University of Lugano, Switzerland

SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]

Embed Size (px)

DESCRIPTION

We present Samoa, a visual web-based software analytics platform for mobile applications. It mines software repositories of apps and uses a set of visualization techniques to present the mined data. We describe Samoa, detail the analyses it supports, and describe a methodology to understand apps from a structural and historical perspective.

Citation preview

Page 1: SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]

A Visual Software Analytics Platform for Mobile Applications

MOA AS

Roberto Minelli and Michele LanzaREVEAL @ Faculty of Informatics – University of Lugano, Switzerland

Page 2: SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]

SoftwareAnalytics

Mobile Applicationsfor

Page 3: SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]

SoftwareAnalytics

Mobile Applicationsfor

Explore and analyze the data to obtain

insightful information about software systems,

users, and software development process.

Page 4: SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]

SoftwareAnalytics

Explore and analyze the data to obtain

insightful information about software systems,

users, and software development process.

Mobile Applications

Software systemsaimed at smartphones,

tablet PCs, and other handheld devices

for

Page 5: SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]

The world of apps is heterogeneous

ProgrammingLanguages

AppStores

Page 6: SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]
Page 7: SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]

$4.5 billionsin 2009

$17.5 billionsin 2012

$25 billionsin 2015

Page 8: SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]

Software systemsaimed at smartphones, tablet PCs, and other

handheld devices

Mobile Applications

Apps evolve

Maintenance is crucial

Page 9: SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]

Existing approaches were devised before apps existed

Page 10: SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]

oftware nalyticsfor bile pplicationsMO

AA

S

R. Minelli and M. Lanza“Soware Analytics for Mobile Applications

Insights & Lessons Learned” CSMR 2013

Page 12: SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]

Delta with largest snapshot in history

Number ofexternal calls

Number of internal calls

The whole app (in terms of LOC)

The CORELOC Other LOC Activity Main Activity

DefaultMain Activity Service

Phantom Element

Core Circle Colors

Call Ring Colors

Android calls Java calls

JavaX calls Apache calls

Unclassified callsAll other calls

The White Ring

The App Circle

The Core Circle

The Call Ring

The History Circle

Page 13: SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]

Insights & Lessons Learned

Page 14: SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]

Violating guidelines

“[...] an application usually consists of multiple activities that are loosely bound to each other. Typically, one activity in an application is specified as the "main" activity, which is presented to the user when launching the application for the first time”.

In case of multiple main activities, developers have to specify in the manifest a default Activity.

Page 15: SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]

Core Circle ColorsActivityMain Activity

ServicePhantom element

Default Main Activity

Violating guidelines

Page 16: SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]

Use of third-party APIs

Java project

Source code

Page 17: SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]

Use of third-party APIs

Java project

Source code

Page 18: SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]

Use of third-party APIs

Java project

Source code

Page 19: SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]

...

- 2.3kLOC

+ 7 kLOC

Use of third-party APIs

Page 20: SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]

SoftwareAnalytics

Mobile Applicationsfor

Software systemsaimed at smartphones, tablet PCs, and other

handheld devices

Mobile Applications

Maintenance is crucial

Apps evolve

Insights & Lessons Learned

R. Minelli and M. Lanza“Soware Analytics for Mobile Applications –

Insights & Lessons Learned” CSMR 2013

MOA AShttp://samoa.inf.usi.ch

Page 21: SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]

FRONT-ENDBACK-END

SVNSVNSVNSVN

Data acquisition

Java SVN crawler

Source code model extraction

MSE generatorAST generator

MSE parserAST parser

Metrics extraction

AST-based metrics

MSE-based metrics

JSON Files

SAMOA

d3.jsJSON retrieval

HTML/CSSJavaScript/jQuery/PHP

Internet