SlideShare une entreprise Scribd logo
1  sur  57
Télécharger pour lire hors ligne
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

Contenu connexe

En vedette

Mujeres creacion divina
Mujeres creacion divinaMujeres creacion divina
Mujeres creacion divina
leidy yuliana
 
MCE Summit Award Competition Guide
MCE Summit Award Competition GuideMCE Summit Award Competition Guide
MCE Summit Award Competition Guide
Janessa Goldbeck
 
Mujeres creacion divina
Mujeres creacion divinaMujeres creacion divina
Mujeres creacion divina
leidy yuliana
 

En vedette (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
 

Similaire à A Preliminary Field Study of Game Programming on Mobile Devices

Mobile app development
Mobile app developmentMobile app development
Mobile app development
EhsanMalik17
 
open source solution for e-governance
open source solution for e-governanceopen source solution for e-governance
open source solution for e-governance
vikram singh
 
Web Macros
Web MacrosWeb Macros
Web Macros
cscaffid
 
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
 

Similaire à 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
 

Plus de Tao Xie

Plus de 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
 

Dernier

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Dernier (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

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