SlideShare a Scribd company logo
A Preliminary Field Study of
Game Programming on Mobile Devices
Eric Anderson

Sihan Li Tao Xie

North Carolina State University

University of Illinois
at Urbana-Champaign

http://arxiv.org/abs/1310.3308
1
Mining App Stores: Mobile App Markets

Apple App Store

Google Play

Microsoft Windows (Phone)
Apps

Microsoft Research TouchDevelop
Mining App Stores:
Program Analysis + Text Analytics
o Previous approaches look at
permissions  code (runtime behaviors)
o What does the users expect?

App
Description
App
Code

Pandita et al. WHYPER: Towards
Automating Risk Assessment of
Mobile Applications. USENIX Security
2013
http://web.engr.illinois.edu/~taoxie/p
ublications/usenixsec13-whyper.pdf
App
Permissions

3
Mining App Stores:
Program Analysis + Text Analytics
o Previous approaches look at
permissions  code (runtime behaviors)
o What does the users expect?

App
Description
App
Code

Pandita et al. WHYPER: Towards
Automating Risk Assessment of
Mobile Applications. USENIX Security
2013
http://web.engr.illinois.edu/~taoxie/p
ublications/usenixsec13-whyper.pdf
App
Permissions

3
Mining App Stores:
Program Analysis + Text Analytics
o Previous approaches look at
permissions  code (runtime behaviors)
o What does the users expect?

App
Description
App
Code

Pandita et al. WHYPER: Towards
Automating Risk Assessment of
Mobile Applications. USENIX Security
2013
http://web.engr.illinois.edu/~taoxie/p
ublications/usenixsec13-whyper.pdf
App
Permissions

3
Mining App Stores:
Program Analysis + Text Analytics
o Previous approaches look at
permissions  code (runtime behaviors)
o What does the users expect?

App
Description
App
Code

Pandita et al. WHYPER: Towards
Automating Risk Assessment of
Mobile Applications. USENIX Security
2013
http://web.engr.illinois.edu/~taoxie/p
ublications/usenixsec13-whyper.pdf
App
Permissions

3
Mining App Stores:
Program Analysis + Text Analytics
o Previous approaches look at
permissions  code (runtime behaviors)
o What does the users expect?

App
Description
App
Code

Pandita et al. WHYPER: Towards
Perhaps it's my ignorance, but would
Automating Risk Assessment of
anything related to storage, system
Mobile Applications. USENIX Security
tools, your location, camera,
2013
development tools, phone calls, and
http://web.engr.illinois.edu/~taoxie/p
ublications/usenixsec13-whyper.pdf
network communication be

ridiculously more accessible to the

App
smartphone capabilities than what a
Permissions
3

flashlight app would require?
Mining App Stores:
Open Source Mobile App Repo

https://f-droid.org/

http://research.microsoft.com/en-us/projects/touchdevelop/
Rapid Increase of TouchDevelop Popularity
vs. 17322 Feb this year

5
Mining App Stores:
Educational/Learning Analytics

TouchDevelop
Team@MSR

TouchDevelop Users

SE/HCI/Education …
Researchers

6
Mining App Stores:
Educational/Learning Analytics

TouchDevelop
Team@MSR

TouchDevelop Users

SE/HCI/Education …
Researchers

6
Mining App Stores:
Educational/Learning Analytics

TouchDevelop
Team@MSR

TouchDevelop Users

Data-Driven
Decision Making
(not just gut feeling)
SE/HCI/Education …
Researchers

6
Mining App Stores:
Educational/Learning Analytics

TouchDevelop
Team@MSR

TouchDevelop Users

Data-Driven
Decision Making
(not just gut feeling)
SE/HCI/Education …
Researchers

6
Our Previous Study on
TouchDevelop Scripts and Users
• Characteristic and longitudinal study
– 17,322 scripts and 4,275 users (July 2011-Feb 2013)

• Scripts
– Structural features
– Code reuse
– Change of features over time

• Users
– Expertise
– Publishing and learning activities over time
Sihan Li, Tao Xie, and Nikolai Tillmann. A Comprehensive Field Study of End-User Programming
on Mobile Devices. VL/HCC 2013.
7
http://web.engr.illinois.edu/~taoxie/publications/vlhcc13-study.pdf
Previous Characteristic Study
What do TouchDevelop scripts look like?
What is the code-reuse ratio of TouchDevelop
scripts?
What kinds of TouchDevelop users are there?
How are TouchDevelop scripts changing
over time?
What is the users’ progress of developing
TouchDevelop scripts?

8
What do TouchDevelop scripts look like?

Structural Features: Findings

EMC: # external method call sites
9
What do TouchDevelop scripts look like?

Structural Features: Findings
Small in size
73% less than 100 LOC, avg. 133 LOC

EMC: # external method call sites
9
What do TouchDevelop scripts look like?

Structural Features: Findings
Small in size
73% less than 100 LOC, avg. 133 LOC

Heavily use of external code
106 EMC out of 114 MC per script
Every two lines contain an EMC

EMC: # external method call sites
9
What do TouchDevelop scripts look like?

Structural Features: Findings
Small in size
73% less than 100 LOC, avg. 133 LOC

Heavily use of external code
106 EMC out of 114 MC per script
Every two lines contain an EMC

Implications: Heavily rely on external methods
to achieve functionalities. Enriching the built-in
APIs and library scripts.
EMC: # external method call sites
9
Types of Code Reuse
•
•
•
•

Inherit code from a parent script
Use the existing library scripts
Use TouchDevelop built-in APIs
Copy and paste

10
Types of Code Reuse
•
•
•
•

Inherit code from a parent script
Use the existing library scripts
Use TouchDevelop built-in APIs
Copy and paste

10
What is the code-reuse ratio of TouchDevelop scripts?

Code Reuse: Findings

11
What is the code-reuse ratio of TouchDevelop scripts?

Code Reuse: Findings
High code-reuse ratio
58% scripts have a parent

11
What is the code-reuse ratio of TouchDevelop scripts?

Code Reuse: Findings
High code-reuse ratio
58% scripts have a parent

Reuse their own code

74% parent-child pairs are written
by the same user

11
What is the code-reuse ratio of TouchDevelop scripts?

Code Reuse: Findings
High code-reuse ratio
58% scripts have a parent

Reuse their own code

74% parent-child pairs are written
by the same user

Small modifications
Quite a lot less than 10 LOC

11
What is the code-reuse ratio of TouchDevelop scripts?

Code Reuse: Findings
High code-reuse ratio
58% scripts have a parent

Reuse their own code

74% parent-child pairs are written
by the same user

Small modifications
Quite a lot less than 10 LOC

Implications: Users tend to reuse code. Lack of code
reuse across different users. Improve tool support for
code reuse.
11
Expertise of Users: Metrics
• Activity of script-publishing
– # scripts published

• Quality of scripts and comments
– # positive reviews received

• Grasp of the TouchDevelop language
– # TouchDevelop language features used (e.g.,
programming concepts, built-in APIs)

12
Clusters of Users

74.2%
21.5%
4.2%

13
Clusters of Users

74.2%
21.5%
4.2%

13
What kinds of TouchDevelop users are there?

Expertise of Users: Findings

14
What kinds of TouchDevelop users are there?

Expertise of Users: Findings
Most users are novices
74% novices, 22% ordinary users,
4% experts
Big differences between users’ expertise

14
What kinds of TouchDevelop users are there?

Expertise of Users: Findings
Most users are novices
74% novices, 22% ordinary users,
4% experts
Big differences between users’ expertise

Implications: Give novices high priority when
designing tools and services. Provide customized
services (e.g., UI) to different kinds of users.

14
How are TouchDevelop scripts changing over time?

Changes of Scripts: Findings

15
How are TouchDevelop scripts changing over time?

Changes of Scripts: Findings
Important increasing trends
# scripts
# library

, # large scripts ,
, code-reuse ratio

.

15
How are TouchDevelop scripts changing over time?

Changes of Scripts: Findings
Important increasing trends
# scripts
# library

, # large scripts ,
, code-reuse ratio

.

Implications: Enriching TouchDevelop language and
Improving the management of libraries to better
accommodate these trends.

15
What is users’ progress of developing TouchDevelop scripts?

Evolution of Users: Findings

16
What is users’ progress of developing TouchDevelop scripts?

Evolution of Users: Findings
Three patterns of publishing
scripts
22.1% users active initially, less active later
9.6% users not active initially, more active later
68.3% users publish one or two scripts, and then leave

16
What is users’ progress of developing TouchDevelop scripts?

Evolution of Users: Findings
Three patterns of publishing
scripts
22.1% users active initially, less active later
9.6% users not active initially, more active later
68.3% users publish one or two scripts, and then leave

Implications: Useful to know why users leave or
become less active and why they become more active.
Design better strategies to retain users.

16
Evolution of Users: Findings

17
Evolution of Users: Findings
Three patterns of learning
language features
16.3% users learn most initially, and only a few later
12.4% users learn some initially, and quite a lot at
certain point
71.3% users learn a few initially, and stop learning

17
Evolution of Users: Findings
Three patterns of learning
language features
16.3% users learn most initially, and only a few later
12.4% users learn some initially, and quite a lot at
certain point
71.3% users learn a few initially, and stop learning

Implications: Users have different learning behaviors.
Provide an adaptive tutoring system based on the
history of users’ language-feature usage.

17
Overview of This Study
• Motivation
– As mobile gaming grows, it is important to analyze
game applications and how it compares to other
applications.

• Characteristic study
– 31,699 scripts, including 539 game scripts

• Goal
– To discover how TouchDevelop games compare to
non-games
– To discover what makes some games more popular
18
Characteristic study on Games
• RQ1: What do TouchDevelop game scripts
look like when compared to non-game
scripts?
• RQ2: How do games compare to non-games in
terms of popularity?
• RQ3: What features do more popular games
have that less popular games lack?

19
Research Question 1
• RQ1: What do TouchDevelop game scripts
look like when compared to non-game
scripts?

20
Structural Comparison
Mean
#LOC

Median
#LOC

Game

369

272

Non-Game

210

50

• Finding: Game scripts are longer than nongame scripts.
• Implication: Expanding IDE support could
enhance the creation of large scripts.
21
Structural Comparison cont.
Mean
# action
Game
Non-Game

Mean
# event

11.3

3.2

6.1

1.6

• Finding: Game scripts typically have more
actions and events than non-game scripts
• Implication: IDE expansion could be highly
beneficial.
22
Structural Comparison cont.
Mean
# MC

Mean
MC density

Game

347

0.94

Non-Game

165

0.79

• Finding: Game scripts invoke more methods than
non-game scripts.
• Implication: Games include more features than
non-games. Emphasis on games in marketing
could be beneficial.
23
Research Question 2
• RQ2: How do games compare to non-games in
terms of popularity?

24
Comparison of Popularity
Mean
# run
Game
Non-Game

Mean
# install

Mean
# likes

216

35

1.80

23

3

0.32

• Finding: Game scripts are more popular than nongame scripts
• Implication: TouchDevelop should market games
as important types of scripts.

25
Research Question 3
• RQ3: What features do more popular games
have that less popular games lack?

26
Game Popularity Comparison
Games

Mean
# LOC

Median
# LOC

Popular

462

384

Unpopular

363

255

• Metric: Top 25% of frequently run games as
popular
• Finding: Popular games are longer than
unpopular games
• Implication: Expansion of the IDE could encourage
larger scripts
27
Game Popularity Comparison cont.
Games

Mean
# action

Mean
# event

Popular

14.1

3.6

Unpopular

11.1

3.2

• Finding: Popular and unpopular game scripts
have similar numbers of actions and events
• Implication: Large numbers of actions and
events may not contribute to popularity
28
Comparison of Actions and Events
16

# action and
events

14
12
10
8
6
4
2
0
Mean Actions

Non-Games

Mean Events

Games

Popular Games

Unpopular Games

29
Comparison of Mean and Median
Length
500

# LOC

450
400
350
300
250
200
150
100
50
0
Mean Length

Non-Games

Median Length

Games

Popular Games

Unpopular Games

30
Conclusion
• Previous study [VL/HCC 13] reports a number
of valuable findings
• This study focuses on
game vs. non-games
popular vs. unpopular games
– Games are typically longer and more feature-rich than
non-games
– Popular games are typically longer but not necessarily
more feature rich than unpopular games
31
Thank you!

ACKNOWLEDGMENTS. This work is supported in part by NSF grants CCF-0845272, CCF0915400, CNS-0958235, CNS-1160603, CCF-1349666, CNS-1318419, a Microsoft Research award, and
NSF of China No. 61228203. We thank Nikolai Tillmann for his help and feedback in conducting the
study described in this paper.

32
Conclusion
• Previous study [VL/HCC 13] reports a number
of valuable findings
• This study focuses on
game vs. non-games
popular vs. unpopular games
– Games are typically longer and more feature-rich than
non-games
– Popular games are typically longer but not necessarily
more feature rich than unpopular games
33

More Related Content

Viewers also liked

Kjell Rune Tveita_CIO perspectives challenges and business drivers
Kjell Rune Tveita_CIO perspectives challenges and business driversKjell Rune Tveita_CIO perspectives challenges and business drivers
Kjell Rune Tveita_CIO perspectives challenges and business drivers
Itera Consulting
 
Mujeres creacion divina
Mujeres creacion divinaMujeres creacion divina
Mujeres creacion divinaleidy yuliana
 
MCE Summit Award Competition Guide
MCE Summit Award Competition GuideMCE Summit Award Competition Guide
MCE Summit Award Competition GuideJanessa Goldbeck
 
Gamifying Teaching and Learning of Software Engineering and Programming
Gamifying Teaching and Learning of Software Engineering and ProgrammingGamifying Teaching and Learning of Software Engineering and Programming
Gamifying Teaching and Learning of Software Engineering and Programming
Tao Xie
 
Improving Software Reliability via Mining Software Engineering Data
Improving Software Reliability via Mining Software Engineering DataImproving Software Reliability via Mining Software Engineering Data
Improving Software Reliability via Mining Software Engineering Data
Tao Xie
 
Histerectomía abdominal
Histerectomía  abdominalHisterectomía  abdominal
Histerectomía abdominal
Edgar Acosta
 
Seminario anatomia antebrazo 2012. Servicio de Ortopedia y Traumatologia del...
Seminario anatomia antebrazo 2012. Servicio de Ortopedia y  Traumatologia del...Seminario anatomia antebrazo 2012. Servicio de Ortopedia y  Traumatologia del...
Seminario anatomia antebrazo 2012. Servicio de Ortopedia y Traumatologia del...
Edgar Acosta
 
Educational Software Engineering: Where Software Engineering, Education, and ...
Educational Software Engineering: Where Software Engineering, Education, and ...Educational Software Engineering: Where Software Engineering, Education, and ...
Educational Software Engineering: Where Software Engineering, Education, and ...
Tao Xie
 
Mujeres creacion divina
Mujeres creacion divinaMujeres creacion divina
Mujeres creacion divinaleidy yuliana
 
Predixit TecTour profile
Predixit TecTour profilePredixit TecTour profile
Predixit TecTour profile
Predixit
 

Viewers also liked (11)

Kjell Rune Tveita_CIO perspectives challenges and business drivers
Kjell Rune Tveita_CIO perspectives challenges and business driversKjell Rune Tveita_CIO perspectives challenges and business drivers
Kjell Rune Tveita_CIO perspectives challenges and business drivers
 
Mujeres creacion divina
Mujeres creacion divinaMujeres creacion divina
Mujeres creacion divina
 
MCE Press Release
MCE Press ReleaseMCE Press Release
MCE Press Release
 
MCE Summit Award Competition Guide
MCE Summit Award Competition GuideMCE Summit Award Competition Guide
MCE Summit Award Competition Guide
 
Gamifying Teaching and Learning of Software Engineering and Programming
Gamifying Teaching and Learning of Software Engineering and ProgrammingGamifying Teaching and Learning of Software Engineering and Programming
Gamifying Teaching and Learning of Software Engineering and Programming
 
Improving Software Reliability via Mining Software Engineering Data
Improving Software Reliability via Mining Software Engineering DataImproving Software Reliability via Mining Software Engineering Data
Improving Software Reliability via Mining Software Engineering Data
 
Histerectomía abdominal
Histerectomía  abdominalHisterectomía  abdominal
Histerectomía abdominal
 
Seminario anatomia antebrazo 2012. Servicio de Ortopedia y Traumatologia del...
Seminario anatomia antebrazo 2012. Servicio de Ortopedia y  Traumatologia del...Seminario anatomia antebrazo 2012. Servicio de Ortopedia y  Traumatologia del...
Seminario anatomia antebrazo 2012. Servicio de Ortopedia y Traumatologia del...
 
Educational Software Engineering: Where Software Engineering, Education, and ...
Educational Software Engineering: Where Software Engineering, Education, and ...Educational Software Engineering: Where Software Engineering, Education, and ...
Educational Software Engineering: Where Software Engineering, Education, and ...
 
Mujeres creacion divina
Mujeres creacion divinaMujeres creacion divina
Mujeres creacion divina
 
Predixit TecTour profile
Predixit TecTour profilePredixit TecTour profile
Predixit TecTour profile
 

Similar to A Preliminary Field Study of Game Programming on Mobile Devices

[2015/2016] Mobile thinking
[2015/2016] Mobile thinking[2015/2016] Mobile thinking
[2015/2016] Mobile thinking
Ivano Malavolta
 
[UX Design Exercise] Miriwoong
[UX Design Exercise] Miriwoong[UX Design Exercise] Miriwoong
[UX Design Exercise] Miriwoong
Amy Cheong
 
Mobile App Development V_S Software Development_ 7 Key Differences.pdf
Mobile App Development V_S Software Development_ 7 Key Differences.pdfMobile App Development V_S Software Development_ 7 Key Differences.pdf
Mobile App Development V_S Software Development_ 7 Key Differences.pdf
Polyxer Systems
 
Software Development Simplified - A Beginner's Guide.pdf
Software Development Simplified - A Beginner's Guide.pdfSoftware Development Simplified - A Beginner's Guide.pdf
Software Development Simplified - A Beginner's Guide.pdf
SeasiaInfotech2
 
Towards Mobile Twin Peaks for App Development
Towards Mobile Twin Peaks for App DevelopmentTowards Mobile Twin Peaks for App Development
Towards Mobile Twin Peaks for App Development
MobileSoft
 
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
SAIL_QU
 
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
SAIL_QU
 
Mobile app development
Mobile app developmentMobile app development
Mobile app development
EhsanMalik17
 
CROSSMINER Project at OW2con'19
CROSSMINER Project at OW2con'19CROSSMINER Project at OW2con'19
CROSSMINER Project at OW2con'19
OW2
 
open source solution for e-governance
open source solution for e-governanceopen source solution for e-governance
open source solution for e-governancevikram singh
 
Open Source N Egovernance
Open Source N EgovernanceOpen Source N Egovernance
Open Source N Egovernance
SUD_CHOKSI
 
The ultimate guide and facts on cross platform app development in 2021.
The ultimate guide and facts on cross platform app development in 2021.The ultimate guide and facts on cross platform app development in 2021.
The ultimate guide and facts on cross platform app development in 2021.
Concetto Labs
 
Web Macros
Web MacrosWeb Macros
Web Macroscscaffid
 
Programmer Productivity Enhancement Through Controlled Natural Language Input
Programmer Productivity Enhancement Through Controlled Natural Language InputProgrammer Productivity Enhancement Through Controlled Natural Language Input
Programmer Productivity Enhancement Through Controlled Natural Language Input
ijseajournal
 
Android App Dev.pptx
Android App Dev.pptxAndroid App Dev.pptx
Android App Dev.pptx
AnkitSingh178106
 
Application Developer vs Software Developer_ Understanding the Differences.pdf
Application Developer vs Software Developer_ Understanding the Differences.pdfApplication Developer vs Software Developer_ Understanding the Differences.pdf
Application Developer vs Software Developer_ Understanding the Differences.pdf
orage technologies
 
How TypeScript App Development is Important.pdf
How TypeScript App Development is Important.pdfHow TypeScript App Development is Important.pdf
How TypeScript App Development is Important.pdf
WDP Technologies
 
SE chp1 update and learning management .pptx
SE chp1 update and learning management .pptxSE chp1 update and learning management .pptx
SE chp1 update and learning management .pptx
ssuserdee5bb1
 
Best Practices for Cross-Platform Native Applications
Best Practices for Cross-Platform Native ApplicationsBest Practices for Cross-Platform Native Applications
Best Practices for Cross-Platform Native Applications
Kevin Whinnery
 
Mobile App Development Vs Software Development 7 Key Differences
Mobile App Development Vs Software Development 7 Key DifferencesMobile App Development Vs Software Development 7 Key Differences
Mobile App Development Vs Software Development 7 Key Differences
Polyxer Systems
 

Similar to A Preliminary Field Study of Game Programming on Mobile Devices (20)

[2015/2016] Mobile thinking
[2015/2016] Mobile thinking[2015/2016] Mobile thinking
[2015/2016] Mobile thinking
 
[UX Design Exercise] Miriwoong
[UX Design Exercise] Miriwoong[UX Design Exercise] Miriwoong
[UX Design Exercise] Miriwoong
 
Mobile App Development V_S Software Development_ 7 Key Differences.pdf
Mobile App Development V_S Software Development_ 7 Key Differences.pdfMobile App Development V_S Software Development_ 7 Key Differences.pdf
Mobile App Development V_S Software Development_ 7 Key Differences.pdf
 
Software Development Simplified - A Beginner's Guide.pdf
Software Development Simplified - A Beginner's Guide.pdfSoftware Development Simplified - A Beginner's Guide.pdf
Software Development Simplified - A Beginner's Guide.pdf
 
Towards Mobile Twin Peaks for App Development
Towards Mobile Twin Peaks for App DevelopmentTowards Mobile Twin Peaks for App Development
Towards Mobile Twin Peaks for App Development
 
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
 
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
 
Mobile app development
Mobile app developmentMobile app development
Mobile app development
 
CROSSMINER Project at OW2con'19
CROSSMINER Project at OW2con'19CROSSMINER Project at OW2con'19
CROSSMINER Project at OW2con'19
 
open source solution for e-governance
open source solution for e-governanceopen source solution for e-governance
open source solution for e-governance
 
Open Source N Egovernance
Open Source N EgovernanceOpen Source N Egovernance
Open Source N Egovernance
 
The ultimate guide and facts on cross platform app development in 2021.
The ultimate guide and facts on cross platform app development in 2021.The ultimate guide and facts on cross platform app development in 2021.
The ultimate guide and facts on cross platform app development in 2021.
 
Web Macros
Web MacrosWeb Macros
Web Macros
 
Programmer Productivity Enhancement Through Controlled Natural Language Input
Programmer Productivity Enhancement Through Controlled Natural Language InputProgrammer Productivity Enhancement Through Controlled Natural Language Input
Programmer Productivity Enhancement Through Controlled Natural Language Input
 
Android App Dev.pptx
Android App Dev.pptxAndroid App Dev.pptx
Android App Dev.pptx
 
Application Developer vs Software Developer_ Understanding the Differences.pdf
Application Developer vs Software Developer_ Understanding the Differences.pdfApplication Developer vs Software Developer_ Understanding the Differences.pdf
Application Developer vs Software Developer_ Understanding the Differences.pdf
 
How TypeScript App Development is Important.pdf
How TypeScript App Development is Important.pdfHow TypeScript App Development is Important.pdf
How TypeScript App Development is Important.pdf
 
SE chp1 update and learning management .pptx
SE chp1 update and learning management .pptxSE chp1 update and learning management .pptx
SE chp1 update and learning management .pptx
 
Best Practices for Cross-Platform Native Applications
Best Practices for Cross-Platform Native ApplicationsBest Practices for Cross-Platform Native Applications
Best Practices for Cross-Platform Native Applications
 
Mobile App Development Vs Software Development 7 Key Differences
Mobile App Development Vs Software Development 7 Key DifferencesMobile App Development Vs Software Development 7 Key Differences
Mobile App Development Vs Software Development 7 Key Differences
 

More from Tao Xie

MSR 2022 Foundational Contribution Award Talk: Software Analytics: Reflection...
MSR 2022 Foundational Contribution Award Talk: Software Analytics: Reflection...MSR 2022 Foundational Contribution Award Talk: Software Analytics: Reflection...
MSR 2022 Foundational Contribution Award Talk: Software Analytics: Reflection...
Tao Xie
 
DSML 2021 Keynote: Intelligent Software Engineering: Working at the Intersect...
DSML 2021 Keynote: Intelligent Software Engineering: Working at the Intersect...DSML 2021 Keynote: Intelligent Software Engineering: Working at the Intersect...
DSML 2021 Keynote: Intelligent Software Engineering: Working at the Intersect...
Tao Xie
 
Intelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software EngineeringIntelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software Engineering
Tao Xie
 
Diversity and Computing/Engineering: Perspectives from Allies
Diversity and Computing/Engineering: Perspectives from AlliesDiversity and Computing/Engineering: Perspectives from Allies
Diversity and Computing/Engineering: Perspectives from Allies
Tao Xie
 
Intelligent Software Engineering: Synergy between AI and Software Engineering...
Intelligent Software Engineering: Synergy between AI and Software Engineering...Intelligent Software Engineering: Synergy between AI and Software Engineering...
Intelligent Software Engineering: Synergy between AI and Software Engineering...
Tao Xie
 
MSRA 2018: Intelligent Software Engineering: Synergy between AI and Software ...
MSRA 2018: Intelligent Software Engineering: Synergy between AI and Software ...MSRA 2018: Intelligent Software Engineering: Synergy between AI and Software ...
MSRA 2018: Intelligent Software Engineering: Synergy between AI and Software ...
Tao Xie
 
SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...
SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...
SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...
Tao Xie
 
ISEC'18 Tutorial: Research Methodology on Pursuing Impact-Driven Research
ISEC'18 Tutorial: Research Methodology on Pursuing Impact-Driven ResearchISEC'18 Tutorial: Research Methodology on Pursuing Impact-Driven Research
ISEC'18 Tutorial: Research Methodology on Pursuing Impact-Driven Research
Tao Xie
 
ISEC'18 Keynote: Intelligent Software Engineering: Synergy between AI and Sof...
ISEC'18 Keynote: Intelligent Software Engineering: Synergy between AI and Sof...ISEC'18 Keynote: Intelligent Software Engineering: Synergy between AI and Sof...
ISEC'18 Keynote: Intelligent Software Engineering: Synergy between AI and Sof...
Tao Xie
 
Intelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software EngineeringIntelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software Engineering
Tao Xie
 
Software Analytics: Data Analytics for Software Engineering and Security
Software Analytics: Data Analytics for Software Engineering and SecuritySoftware Analytics: Data Analytics for Software Engineering and Security
Software Analytics: Data Analytics for Software Engineering and Security
Tao Xie
 
Planning and Executing Practice-Impactful Research
Planning and Executing Practice-Impactful ResearchPlanning and Executing Practice-Impactful Research
Planning and Executing Practice-Impactful Research
Tao Xie
 
Software Analytics: Data Analytics for Software Engineering
Software Analytics: Data Analytics for Software EngineeringSoftware Analytics: Data Analytics for Software Engineering
Software Analytics: Data Analytics for Software Engineering
Tao Xie
 
Transferring Software Testing Tools to Practice (AST 2017 Keynote)
Transferring Software Testing Tools to Practice (AST 2017 Keynote)Transferring Software Testing Tools to Practice (AST 2017 Keynote)
Transferring Software Testing Tools to Practice (AST 2017 Keynote)
Tao Xie
 
Transferring Software Testing Tools to Practice
Transferring Software Testing Tools to PracticeTransferring Software Testing Tools to Practice
Transferring Software Testing Tools to Practice
Tao Xie
 
Advances in Unit Testing: Theory and Practice
Advances in Unit Testing: Theory and PracticeAdvances in Unit Testing: Theory and Practice
Advances in Unit Testing: Theory and Practice
Tao Xie
 
Common Technical Writing Issues
Common Technical Writing IssuesCommon Technical Writing Issues
Common Technical Writing Issues
Tao Xie
 
HotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William Enck
HotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William EnckHotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William Enck
HotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William Enck
Tao Xie
 
Transferring Software Testing and Analytics Tools to Practice
Transferring Software Testing and Analytics Tools to PracticeTransferring Software Testing and Analytics Tools to Practice
Transferring Software Testing and Analytics Tools to Practice
Tao Xie
 
User Expectations in Mobile App Security
User Expectations in Mobile App SecurityUser Expectations in Mobile App Security
User Expectations in Mobile App Security
Tao Xie
 

More from Tao Xie (20)

MSR 2022 Foundational Contribution Award Talk: Software Analytics: Reflection...
MSR 2022 Foundational Contribution Award Talk: Software Analytics: Reflection...MSR 2022 Foundational Contribution Award Talk: Software Analytics: Reflection...
MSR 2022 Foundational Contribution Award Talk: Software Analytics: Reflection...
 
DSML 2021 Keynote: Intelligent Software Engineering: Working at the Intersect...
DSML 2021 Keynote: Intelligent Software Engineering: Working at the Intersect...DSML 2021 Keynote: Intelligent Software Engineering: Working at the Intersect...
DSML 2021 Keynote: Intelligent Software Engineering: Working at the Intersect...
 
Intelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software EngineeringIntelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software Engineering
 
Diversity and Computing/Engineering: Perspectives from Allies
Diversity and Computing/Engineering: Perspectives from AlliesDiversity and Computing/Engineering: Perspectives from Allies
Diversity and Computing/Engineering: Perspectives from Allies
 
Intelligent Software Engineering: Synergy between AI and Software Engineering...
Intelligent Software Engineering: Synergy between AI and Software Engineering...Intelligent Software Engineering: Synergy between AI and Software Engineering...
Intelligent Software Engineering: Synergy between AI and Software Engineering...
 
MSRA 2018: Intelligent Software Engineering: Synergy between AI and Software ...
MSRA 2018: Intelligent Software Engineering: Synergy between AI and Software ...MSRA 2018: Intelligent Software Engineering: Synergy between AI and Software ...
MSRA 2018: Intelligent Software Engineering: Synergy between AI and Software ...
 
SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...
SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...
SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...
 
ISEC'18 Tutorial: Research Methodology on Pursuing Impact-Driven Research
ISEC'18 Tutorial: Research Methodology on Pursuing Impact-Driven ResearchISEC'18 Tutorial: Research Methodology on Pursuing Impact-Driven Research
ISEC'18 Tutorial: Research Methodology on Pursuing Impact-Driven Research
 
ISEC'18 Keynote: Intelligent Software Engineering: Synergy between AI and Sof...
ISEC'18 Keynote: Intelligent Software Engineering: Synergy between AI and Sof...ISEC'18 Keynote: Intelligent Software Engineering: Synergy between AI and Sof...
ISEC'18 Keynote: Intelligent Software Engineering: Synergy between AI and Sof...
 
Intelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software EngineeringIntelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software Engineering
 
Software Analytics: Data Analytics for Software Engineering and Security
Software Analytics: Data Analytics for Software Engineering and SecuritySoftware Analytics: Data Analytics for Software Engineering and Security
Software Analytics: Data Analytics for Software Engineering and Security
 
Planning and Executing Practice-Impactful Research
Planning and Executing Practice-Impactful ResearchPlanning and Executing Practice-Impactful Research
Planning and Executing Practice-Impactful Research
 
Software Analytics: Data Analytics for Software Engineering
Software Analytics: Data Analytics for Software EngineeringSoftware Analytics: Data Analytics for Software Engineering
Software Analytics: Data Analytics for Software Engineering
 
Transferring Software Testing Tools to Practice (AST 2017 Keynote)
Transferring Software Testing Tools to Practice (AST 2017 Keynote)Transferring Software Testing Tools to Practice (AST 2017 Keynote)
Transferring Software Testing Tools to Practice (AST 2017 Keynote)
 
Transferring Software Testing Tools to Practice
Transferring Software Testing Tools to PracticeTransferring Software Testing Tools to Practice
Transferring Software Testing Tools to Practice
 
Advances in Unit Testing: Theory and Practice
Advances in Unit Testing: Theory and PracticeAdvances in Unit Testing: Theory and Practice
Advances in Unit Testing: Theory and Practice
 
Common Technical Writing Issues
Common Technical Writing IssuesCommon Technical Writing Issues
Common Technical Writing Issues
 
HotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William Enck
HotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William EnckHotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William Enck
HotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William Enck
 
Transferring Software Testing and Analytics Tools to Practice
Transferring Software Testing and Analytics Tools to PracticeTransferring Software Testing and Analytics Tools to Practice
Transferring Software Testing and Analytics Tools to Practice
 
User Expectations in Mobile App Security
User Expectations in Mobile App SecurityUser Expectations in Mobile App Security
User Expectations in Mobile App Security
 

Recently uploaded

How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 

Recently uploaded (20)

How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 

A Preliminary Field Study of Game Programming on Mobile Devices

  • 1. A Preliminary Field Study of Game Programming on Mobile Devices Eric Anderson Sihan Li Tao Xie North Carolina State University University of Illinois at Urbana-Champaign http://arxiv.org/abs/1310.3308 1
  • 2. Mining App Stores: Mobile App Markets Apple App Store Google Play Microsoft Windows (Phone) Apps Microsoft Research TouchDevelop
  • 3. Mining App Stores: Program Analysis + Text Analytics o Previous approaches look at permissions  code (runtime behaviors) o What does the users expect? App Description App Code Pandita et al. WHYPER: Towards Automating Risk Assessment of Mobile Applications. USENIX Security 2013 http://web.engr.illinois.edu/~taoxie/p ublications/usenixsec13-whyper.pdf App Permissions 3
  • 4. Mining App Stores: Program Analysis + Text Analytics o Previous approaches look at permissions  code (runtime behaviors) o What does the users expect? App Description App Code Pandita et al. WHYPER: Towards Automating Risk Assessment of Mobile Applications. USENIX Security 2013 http://web.engr.illinois.edu/~taoxie/p ublications/usenixsec13-whyper.pdf App Permissions 3
  • 5. Mining App Stores: Program Analysis + Text Analytics o Previous approaches look at permissions  code (runtime behaviors) o What does the users expect? App Description App Code Pandita et al. WHYPER: Towards Automating Risk Assessment of Mobile Applications. USENIX Security 2013 http://web.engr.illinois.edu/~taoxie/p ublications/usenixsec13-whyper.pdf App Permissions 3
  • 6. Mining App Stores: Program Analysis + Text Analytics o Previous approaches look at permissions  code (runtime behaviors) o What does the users expect? App Description App Code Pandita et al. WHYPER: Towards Automating Risk Assessment of Mobile Applications. USENIX Security 2013 http://web.engr.illinois.edu/~taoxie/p ublications/usenixsec13-whyper.pdf App Permissions 3
  • 7. Mining App Stores: Program Analysis + Text Analytics o Previous approaches look at permissions  code (runtime behaviors) o What does the users expect? App Description App Code Pandita et al. WHYPER: Towards Perhaps it's my ignorance, but would Automating Risk Assessment of anything related to storage, system Mobile Applications. USENIX Security tools, your location, camera, 2013 development tools, phone calls, and http://web.engr.illinois.edu/~taoxie/p ublications/usenixsec13-whyper.pdf network communication be ridiculously more accessible to the App smartphone capabilities than what a Permissions 3 flashlight app would require?
  • 8. Mining App Stores: Open Source Mobile App Repo https://f-droid.org/ http://research.microsoft.com/en-us/projects/touchdevelop/
  • 9. Rapid Increase of TouchDevelop Popularity vs. 17322 Feb this year 5
  • 10. Mining App Stores: Educational/Learning Analytics TouchDevelop Team@MSR TouchDevelop Users SE/HCI/Education … Researchers 6
  • 11. Mining App Stores: Educational/Learning Analytics TouchDevelop Team@MSR TouchDevelop Users SE/HCI/Education … Researchers 6
  • 12. Mining App Stores: Educational/Learning Analytics TouchDevelop Team@MSR TouchDevelop Users Data-Driven Decision Making (not just gut feeling) SE/HCI/Education … Researchers 6
  • 13. Mining App Stores: Educational/Learning Analytics TouchDevelop Team@MSR TouchDevelop Users Data-Driven Decision Making (not just gut feeling) SE/HCI/Education … Researchers 6
  • 14. Our Previous Study on TouchDevelop Scripts and Users • Characteristic and longitudinal study – 17,322 scripts and 4,275 users (July 2011-Feb 2013) • Scripts – Structural features – Code reuse – Change of features over time • Users – Expertise – Publishing and learning activities over time Sihan Li, Tao Xie, and Nikolai Tillmann. A Comprehensive Field Study of End-User Programming on Mobile Devices. VL/HCC 2013. 7 http://web.engr.illinois.edu/~taoxie/publications/vlhcc13-study.pdf
  • 15. Previous Characteristic Study What do TouchDevelop scripts look like? What is the code-reuse ratio of TouchDevelop scripts? What kinds of TouchDevelop users are there? How are TouchDevelop scripts changing over time? What is the users’ progress of developing TouchDevelop scripts? 8
  • 16. What do TouchDevelop scripts look like? Structural Features: Findings EMC: # external method call sites 9
  • 17. What do TouchDevelop scripts look like? Structural Features: Findings Small in size 73% less than 100 LOC, avg. 133 LOC EMC: # external method call sites 9
  • 18. What do TouchDevelop scripts look like? Structural Features: Findings Small in size 73% less than 100 LOC, avg. 133 LOC Heavily use of external code 106 EMC out of 114 MC per script Every two lines contain an EMC EMC: # external method call sites 9
  • 19. What do TouchDevelop scripts look like? Structural Features: Findings Small in size 73% less than 100 LOC, avg. 133 LOC Heavily use of external code 106 EMC out of 114 MC per script Every two lines contain an EMC Implications: Heavily rely on external methods to achieve functionalities. Enriching the built-in APIs and library scripts. EMC: # external method call sites 9
  • 20. Types of Code Reuse • • • • Inherit code from a parent script Use the existing library scripts Use TouchDevelop built-in APIs Copy and paste 10
  • 21. Types of Code Reuse • • • • Inherit code from a parent script Use the existing library scripts Use TouchDevelop built-in APIs Copy and paste 10
  • 22. What is the code-reuse ratio of TouchDevelop scripts? Code Reuse: Findings 11
  • 23. What is the code-reuse ratio of TouchDevelop scripts? Code Reuse: Findings High code-reuse ratio 58% scripts have a parent 11
  • 24. What is the code-reuse ratio of TouchDevelop scripts? Code Reuse: Findings High code-reuse ratio 58% scripts have a parent Reuse their own code 74% parent-child pairs are written by the same user 11
  • 25. What is the code-reuse ratio of TouchDevelop scripts? Code Reuse: Findings High code-reuse ratio 58% scripts have a parent Reuse their own code 74% parent-child pairs are written by the same user Small modifications Quite a lot less than 10 LOC 11
  • 26. What is the code-reuse ratio of TouchDevelop scripts? Code Reuse: Findings High code-reuse ratio 58% scripts have a parent Reuse their own code 74% parent-child pairs are written by the same user Small modifications Quite a lot less than 10 LOC Implications: Users tend to reuse code. Lack of code reuse across different users. Improve tool support for code reuse. 11
  • 27. Expertise of Users: Metrics • Activity of script-publishing – # scripts published • Quality of scripts and comments – # positive reviews received • Grasp of the TouchDevelop language – # TouchDevelop language features used (e.g., programming concepts, built-in APIs) 12
  • 30. What kinds of TouchDevelop users are there? Expertise of Users: Findings 14
  • 31. What kinds of TouchDevelop users are there? Expertise of Users: Findings Most users are novices 74% novices, 22% ordinary users, 4% experts Big differences between users’ expertise 14
  • 32. What kinds of TouchDevelop users are there? Expertise of Users: Findings Most users are novices 74% novices, 22% ordinary users, 4% experts Big differences between users’ expertise Implications: Give novices high priority when designing tools and services. Provide customized services (e.g., UI) to different kinds of users. 14
  • 33. How are TouchDevelop scripts changing over time? Changes of Scripts: Findings 15
  • 34. How are TouchDevelop scripts changing over time? Changes of Scripts: Findings Important increasing trends # scripts # library , # large scripts , , code-reuse ratio . 15
  • 35. How are TouchDevelop scripts changing over time? Changes of Scripts: Findings Important increasing trends # scripts # library , # large scripts , , code-reuse ratio . Implications: Enriching TouchDevelop language and Improving the management of libraries to better accommodate these trends. 15
  • 36. What is users’ progress of developing TouchDevelop scripts? Evolution of Users: Findings 16
  • 37. What is users’ progress of developing TouchDevelop scripts? Evolution of Users: Findings Three patterns of publishing scripts 22.1% users active initially, less active later 9.6% users not active initially, more active later 68.3% users publish one or two scripts, and then leave 16
  • 38. What is users’ progress of developing TouchDevelop scripts? Evolution of Users: Findings Three patterns of publishing scripts 22.1% users active initially, less active later 9.6% users not active initially, more active later 68.3% users publish one or two scripts, and then leave Implications: Useful to know why users leave or become less active and why they become more active. Design better strategies to retain users. 16
  • 39. Evolution of Users: Findings 17
  • 40. Evolution of Users: Findings Three patterns of learning language features 16.3% users learn most initially, and only a few later 12.4% users learn some initially, and quite a lot at certain point 71.3% users learn a few initially, and stop learning 17
  • 41. Evolution of Users: Findings Three patterns of learning language features 16.3% users learn most initially, and only a few later 12.4% users learn some initially, and quite a lot at certain point 71.3% users learn a few initially, and stop learning Implications: Users have different learning behaviors. Provide an adaptive tutoring system based on the history of users’ language-feature usage. 17
  • 42. Overview of This Study • Motivation – As mobile gaming grows, it is important to analyze game applications and how it compares to other applications. • Characteristic study – 31,699 scripts, including 539 game scripts • Goal – To discover how TouchDevelop games compare to non-games – To discover what makes some games more popular 18
  • 43. Characteristic study on Games • RQ1: What do TouchDevelop game scripts look like when compared to non-game scripts? • RQ2: How do games compare to non-games in terms of popularity? • RQ3: What features do more popular games have that less popular games lack? 19
  • 44. Research Question 1 • RQ1: What do TouchDevelop game scripts look like when compared to non-game scripts? 20
  • 45. Structural Comparison Mean #LOC Median #LOC Game 369 272 Non-Game 210 50 • Finding: Game scripts are longer than nongame scripts. • Implication: Expanding IDE support could enhance the creation of large scripts. 21
  • 46. Structural Comparison cont. Mean # action Game Non-Game Mean # event 11.3 3.2 6.1 1.6 • Finding: Game scripts typically have more actions and events than non-game scripts • Implication: IDE expansion could be highly beneficial. 22
  • 47. Structural Comparison cont. Mean # MC Mean MC density Game 347 0.94 Non-Game 165 0.79 • Finding: Game scripts invoke more methods than non-game scripts. • Implication: Games include more features than non-games. Emphasis on games in marketing could be beneficial. 23
  • 48. Research Question 2 • RQ2: How do games compare to non-games in terms of popularity? 24
  • 49. Comparison of Popularity Mean # run Game Non-Game Mean # install Mean # likes 216 35 1.80 23 3 0.32 • Finding: Game scripts are more popular than nongame scripts • Implication: TouchDevelop should market games as important types of scripts. 25
  • 50. Research Question 3 • RQ3: What features do more popular games have that less popular games lack? 26
  • 51. Game Popularity Comparison Games Mean # LOC Median # LOC Popular 462 384 Unpopular 363 255 • Metric: Top 25% of frequently run games as popular • Finding: Popular games are longer than unpopular games • Implication: Expansion of the IDE could encourage larger scripts 27
  • 52. Game Popularity Comparison cont. Games Mean # action Mean # event Popular 14.1 3.6 Unpopular 11.1 3.2 • Finding: Popular and unpopular game scripts have similar numbers of actions and events • Implication: Large numbers of actions and events may not contribute to popularity 28
  • 53. Comparison of Actions and Events 16 # action and events 14 12 10 8 6 4 2 0 Mean Actions Non-Games Mean Events Games Popular Games Unpopular Games 29
  • 54. Comparison of Mean and Median Length 500 # LOC 450 400 350 300 250 200 150 100 50 0 Mean Length Non-Games Median Length Games Popular Games Unpopular Games 30
  • 55. Conclusion • Previous study [VL/HCC 13] reports a number of valuable findings • This study focuses on game vs. non-games popular vs. unpopular games – Games are typically longer and more feature-rich than non-games – Popular games are typically longer but not necessarily more feature rich than unpopular games 31
  • 56. Thank you! ACKNOWLEDGMENTS. This work is supported in part by NSF grants CCF-0845272, CCF0915400, CNS-0958235, CNS-1160603, CCF-1349666, CNS-1318419, a Microsoft Research award, and NSF of China No. 61228203. We thank Nikolai Tillmann for his help and feedback in conducting the study described in this paper. 32
  • 57. Conclusion • Previous study [VL/HCC 13] reports a number of valuable findings • This study focuses on game vs. non-games popular vs. unpopular games – Games are typically longer and more feature-rich than non-games – Popular games are typically longer but not necessarily more feature rich than unpopular games 33