Eric Anderson, Sihan Li, and Tao Xie. A Preliminary Field Study of Game Programming on Mobile Devices. Presented in Workshop on Programming for Mobile and Touch (PROMOTO 2013), Indianapolis, IN, October 2013.
An independent and comparative evaluation of the representativeness of four Android app vulnerability benchmark suites: DroidBench, Ghera, IccBench, and UBCBench.
Python is a deciphered, elevated level, universally useful programming language. Made by Guido van Rossum and first discharged in 1991, Python's plan reasoning underscores code comprehensibility with its striking utilization of critical blank area. Python is powerfully composed and trash gathered.
Language standards: Interpreted language, Dejango
Language architects: Guido van Rossum
Itera Partner Conference – the event in the open information exchange format.
A platform where we bring together people from our network to share
experience, to get new insights, expand network and be inspired to develop new ideas for business opportunities in connection with nearshoring.
An independent and comparative evaluation of the representativeness of four Android app vulnerability benchmark suites: DroidBench, Ghera, IccBench, and UBCBench.
Python is a deciphered, elevated level, universally useful programming language. Made by Guido van Rossum and first discharged in 1991, Python's plan reasoning underscores code comprehensibility with its striking utilization of critical blank area. Python is powerfully composed and trash gathered.
Language standards: Interpreted language, Dejango
Language architects: Guido van Rossum
Itera Partner Conference – the event in the open information exchange format.
A platform where we bring together people from our network to share
experience, to get new insights, expand network and be inspired to develop new ideas for business opportunities in connection with nearshoring.
Kjell Rune Tveita_CIO perspectives challenges and business driversItera Consulting
Itera Partner Conference – the event in the open information exchange format.
A platform where we bring together people from our network to share
experience, to get new insights, expand network and be inspired to develop
new ideas for business opportunities in connection with nearshoring.
Educational Software Engineering: Where Software Engineering, Education, and ...Tao Xie
Talk slides on "Educational Software Engineering: Where Software Engineering, Education, and Gaming Meet." at the 3rd International Workshop on Games and Software Engineering
(GAS 2013), San Francisco, CA, May 2013.
Introduction to the course
Hybrid mobile development frameworks
Mobile thinking
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2016.
http://www.ivanomalavolta.com
I did this UX design exercise as a practice about revamping Miriwoong app. Miriwoong, a language is categorised as critically endangered, with fewer than 12 truly fluent speakers remaining.
Article: https://medium.com/p/9636de8b05a3
Mobile App Development V_S Software Development_ 7 Key Differences.pdfPolyxer Systems
The term software development is a blanket of the entire software industry. The software industry covers a wide range of various development systems that are built for various end-users.
Software Development Simplified - A Beginner's Guide.pdfSeasiaInfotech2
Software development isn't a haphazard process. It adheres to a methodical process called the Software Development Life Cycle. The SDLC is a roadmap that outlines the various stages a software project goes through, starting from conception to include deployment and maintenance.
Philippe Krief, Eclipse Foundation Research Relations Director explains how the Crossminer H2020 project outcomes can help software developers to select the right open source components for their own project This presentation was recorded during the OSS Projects Assesment Session at OW2con'19, June 12, 2019 in Paris.
Kjell Rune Tveita_CIO perspectives challenges and business driversItera Consulting
Itera Partner Conference – the event in the open information exchange format.
A platform where we bring together people from our network to share
experience, to get new insights, expand network and be inspired to develop
new ideas for business opportunities in connection with nearshoring.
Educational Software Engineering: Where Software Engineering, Education, and ...Tao Xie
Talk slides on "Educational Software Engineering: Where Software Engineering, Education, and Gaming Meet." at the 3rd International Workshop on Games and Software Engineering
(GAS 2013), San Francisco, CA, May 2013.
Introduction to the course
Hybrid mobile development frameworks
Mobile thinking
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2016.
http://www.ivanomalavolta.com
I did this UX design exercise as a practice about revamping Miriwoong app. Miriwoong, a language is categorised as critically endangered, with fewer than 12 truly fluent speakers remaining.
Article: https://medium.com/p/9636de8b05a3
Mobile App Development V_S Software Development_ 7 Key Differences.pdfPolyxer Systems
The term software development is a blanket of the entire software industry. The software industry covers a wide range of various development systems that are built for various end-users.
Software Development Simplified - A Beginner's Guide.pdfSeasiaInfotech2
Software development isn't a haphazard process. It adheres to a methodical process called the Software Development Life Cycle. The SDLC is a roadmap that outlines the various stages a software project goes through, starting from conception to include deployment and maintenance.
Philippe Krief, Eclipse Foundation Research Relations Director explains how the Crossminer H2020 project outcomes can help software developers to select the right open source components for their own project This presentation was recorded during the OSS Projects Assesment Session at OW2con'19, June 12, 2019 in Paris.
Programmer Productivity Enhancement Through Controlled Natural Language Inputijseajournal
We have created CABERNET, a Controlled Nature Language (CNL) based approach to program creation. CABERNET allows programmers to use a simple outline-based syntax. This allows increased programmer efficiency and syntax flexibility. CNLs have successfully been used for writing requirements documents. We propose taking this approach well beyond this to fully functional programs. Through the use of heuristics and inference to analyze and determine the programmer’s intent we are able to create fully functional mobile applications. The goal is for programs to be aligned with the way that the humans think rather than the way computers process information. Through the use of templates a CABERNET application can be processed to run on multiple run time environments. Because processing of a CABERNET program file results in native application program performance is maintained.
Application Developer vs Software Developer_ Understanding the Differences.pdforage technologies
Their work centers on creating and maintaining applications for tasks like mobile application development, web application development, or desktop applications. Application developers may work with specific programming languages and tools tailored to their application's platform. They primarily focus on creating applications that run on specific platforms, such as mobile apps for iOS or Android, or desktop applications for Windows or macOS.
TypeScript app development service is a valuable option for building large-scale applications, as it provides several features such as static typing, classes, and interfaces that can improve the development process and the quality of the resulting software. It also has a large ecosystem of tools and libraries, and an active community that can help to speed up the development process and reduce the need to write boilerplate code.
Mobile App Development Vs Software Development 7 Key DifferencesPolyxer Systems
The process of mobile app development will consist of lots of creativity, technical skills, and problem-solving. Google Play and Apple’s App Library are two major app stores used by the users.
Software development is a computer program-building process, crafted by software developers. During the software development process, developers incorporate their technical skills using computer science, engineering, and mathematical analysis.
Similar to A Preliminary Field Study of Game Programming on Mobile Devices (20)
MSR 2022 Foundational Contribution Award Talk: Software Analytics: Reflection...Tao Xie
MSR 2022 Foundational Contribution Award Talk on "Software Analytics: Reflection and Path Forward" by Dongmei Zhang and Tao Xie
https://conf.researchr.org/info/msr-2022/awards
Diversity and Computing/Engineering: Perspectives from AlliesTao Xie
Slides from the invited talk given on Feb 13, 2019 being part of a diversity and inclusion week - Infusion 2019. Infusion is a diversity focused week for the Illinois College of Engineering, hosted by the Dean's Student Advisory Committee of Engineering Council. This invited talk was co-hosted by the NSBE - UIUC chapter.
Intelligent Software Engineering: Synergy between AI and Software Engineering...Tao Xie
2018 Distinguished Speaker, the UC Irvine Institute for Software Research (ISR) Distinguished Speaker Series 2018-2019. "Intelligent Software Engineering: Synergy between AI and Software Engineering" http://isr.uci.edu/content/isr-distinguished-speaker-series-2018-2019
MSRA 2018: Intelligent Software Engineering: Synergy between AI and Software ...Tao Xie
Invited Talk at the 2018 Computing in the 21st Century Conference & Asia Faculty Summit on MSRA’s 20th Anniversary https://www.microsoft.com/en-us/research/event/computing-in-the-21st-century-conference-asia-faculty-summit-on-msras-20th-anniversary/#!agenda
SETTA'18 Keynote: Intelligent Software Engineering: Synergy between AI and So...Tao Xie
2018 Keynote Speaker, Symposium on Dependable Software Engineering - Theories, Tools and Applications (SETTA 2018). "Intelligent Software Engineering: Synergy between AI and Software Engineering" http://confesta2018.csp.escience.cn/dct/page/65581
Transferring Software Testing Tools to PracticeTao Xie
ACM SIGSOFT Webinar co-presented by Nikolai Tillmann (Microsoft), Judith Bishop (Microsoft Research), Pratap Lakshman (Microsoft), Tao Xie (University of Illinois at Urbana-Champaign) http://www.sigsoft.org/resources/webinars.html
Transferring Software Testing and Analytics Tools to PracticeTao Xie
Keynote Talk in the Workshop on Testing: Academia-Industry Collaboration, Practice and Research Techniques (TAIC PART 2016) http://www2016.taicpart.org/
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
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/
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
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
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