Upload
roberto-minelli
View
371
Download
1
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
A Visual Software Analytics Platform for Mobile Applications
MOA AS
Roberto Minelli and Michele LanzaREVEAL @ Faculty of Informatics – University of Lugano, Switzerland
SoftwareAnalytics
Mobile Applicationsfor
SoftwareAnalytics
Mobile Applicationsfor
Explore and analyze the data to obtain
insightful information about software systems,
users, and software development process.
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
The world of apps is heterogeneous
ProgrammingLanguages
AppStores
$4.5 billionsin 2009
$17.5 billionsin 2012
$25 billionsin 2015
Software systemsaimed at smartphones, tablet PCs, and other
handheld devices
Mobile Applications
Apps evolve
Maintenance is crucial
Existing approaches were devised before apps existed
oftware nalyticsfor bile pplicationsMO
AA
S
R. Minelli and M. Lanza“Soware Analytics for Mobile Applications
Insights & Lessons Learned” CSMR 2013
MOA AShttp://samoa.inf.usi.ch
DEMO
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
Insights & Lessons Learned
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.
Core Circle ColorsActivityMain Activity
ServicePhantom element
Default Main Activity
Violating guidelines
Use of third-party APIs
Java project
Source code
Use of third-party APIs
Java project
Source code
Use of third-party APIs
Java project
Source code
...
- 2.3kLOC
+ 7 kLOC
Use of third-party APIs
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
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