“An Empirical Study of the Characteristics of Popular Game Jams and Their High-ranking Submissions on itch.io” accepted for publication at FDG!

Quang’s paper “An Empirical Study of the Characteristics of Popular Game Jams and Their High-ranking Submissions on itch.io” was accepted for publication at the International Conference on the Foundations of Digital Games (FDG) 2020! Super congrats Quang!

Abstract:
Game jams are hackathon-like events that allow participants to develop a playable game prototype within a time limit. They foster creativity and the exchange of ideas by letting developers with different skill sets collaborate. Having a high-ranking game is a great bonus to a beginning game developer’s résumé and their pursuit of a career in the game industry. However, participants often face time constraints set by jam hosts while balancing what aspects of their games should be emphasized to have the highest chance of winning. Similarly, hosts need to understand what to emphasize when organizing online jams so that their jams are more popular, in terms of submission rate. In this paper, we study 1,290 past game jams and their 3,752 submissions on itch.io to understand better what makes popular jams and high-ranking games perceived well by the audience. We find that a quality description has a positive contribution to both a jam’s popularity and a game’s ranking. Additionally, more manpower organizing a jam or developing a game increases a jam’s popularity and a game’s high-ranking likelihood. High-ranking games tend to support Windows or macOS, and belong to the “Puzzle”, “Platformer”, “Interactive Fiction”, or “Action” genres. Also, shorter competitive jams tend to be more popular. Based on our findings, we suggest jam hosts and participants improve the description of their products and consider co-organizing or co-participating in a jam. Furthermore, jam participants should develop multi-platform multi-genre games. Finally, jam hosts should introduce a tighter time limit to increase their jam’s popularity.

See our Publications for the full paper.

“Studying the Association between Bountysource Bounties and the Issue-addressing Likelihood of GitHub Issue Reports” was accepted for publication in the TSE journal!

Jiayuan’s paper “Studying the Association between Bountysource Bounties and the Issue-addressing Likelihood of GitHub Issue Reports” was accepted for publication in the EMSE journal! Super congrats Jiayuan!

Abstract:
Due to the voluntary nature of open source software, it can be hard to find a developer to work on a particular task. For
example, some issue reports may be too cumbersome and unexciting for someone to volunteer to do them, yet these issue reports
may be of high priority to the success of a project. To provide an incentive for implementing such issue reports, one can propose a
monetary reward, i.e., a bounty, to the developer who completes that particular task. In this paper, we study bounties in open source
projects on GitHub to better understand how bounties can be leveraged to evolve such projects in terms of addressing issue reports.
We investigated 5,445 bounties for GitHub projects. These bounties were proposed through the Bountysource platform with a total
bounty value of $406,425. We find that 1) in general, the timing of proposing bounties is the most important factor that is associated
with the likelihood of an issue being addressed. More specifically, issue reports are more likely to be addressed if they are for projects
in which bounties are used more frequently and if they are proposed earlier. 2) The bounty value of an issue report is the most
important factor that is associated with the issue-addressing likelihood in the projects in which no bounties were used before. 3) There
is a risk of wasting money for backers who invest money on long-standing issue reports.

See our Publications for the full paper.

“Microservices: A Performance Tester’s Dream or Nightmare?” accepted for publication in ICPE!

Simon’s paper “Microservices: A Performance Tester’s Dream or Nightmare?” was accepted for publication in the International Conference on Performance Engineering (ICPE)! Super congrats Simon! This was a joint work with Weiyi Shang (Concordia University), Dušan Okanović and André van Hoorn (University of Stuttgart) from the SPEC RG on DevOps performance.

Abstract: In recent years, there has been a shift in software development towards microservice-based architectures, which consist of small services that focus on one particular functionality. Many companies are migrating their applications to such architectures to reap the benefits of microservices, such as increased flexibility, scalability and a smaller granularity of the offered functionality by a service. On the one hand, the benefits of microservices for functional testing are often praised, as the focus on one functionality and their smaller granularity allow for more targeted and more convenient testing. On the other hand, using microservices has their consequences (both positive and negative) on other types of testing, such as performance testing. Performance testing is traditionally done by establishing the baseline performance of a software version, which is then used to compare the performance testing results of later software versions. However, as we show in this paper, establishing such a baseline performance is challenging in microservice applications. In this paper, we discuss the benefits and challenges of microservices from a performance tester’s point of view. Through a series of experiments on the TeaStore application, we demonstrate how microservices affect the performance testing process, and we demonstrate that it is not straightforward to achieve reliable performance testing results for a microservice application.

You can find the paper on our publications page.

“A Framework for Satisfying the Performance Requirements of Containerized Software Systems Through Multi-Versioning” accepted for publication in ICPE!

Sara’s paper “A Framework for Satisfying the Performance Requirements of Containerized Software Systems Through Multi-Versioning” was accepted for publication in the International Conference on Performance Engineering (ICPE)! Super congrats Sara! This was a joint work with Alireza Goli (UAlberta) and Hamzeh Khazaei (York University).

Abstract:
With the increasing popularity and complexity of containerized software systems, satisfying the performance requirements of these systems becomes more challenging as well. While a common remedy to this problem is to increase the allocated amount of resources by scaling up or out, this remedy is not necessarily cost-effective and therefore often problematic for smaller companies. In this paper, we study an alternative, more cost-effective approach for satisfying the performance requirements of containerized software systems. In particular, we investigate how we can satisfy such requirements by applying software multi-versioning to the system’s resource-heavy containers. We present DockerMV, an open source extension of the Docker framework, to support multi-versioning of containerized software systems. We demonstrate the efficacy of multi-versioning for satisfying the performance requirements of containerized software systems through experiments on the TeaStore, a microservice reference test application, and Znn, a containerized news portal. Our DockerMV extension can be used by software developers to introduce multi-versioning in their own containerized software systems, thereby better allowing them to meet the performance requirements of their systems.

See our Publications for the paper.

“Building the Perfect Game – An Empirical Study of Game Modifications” accepted for publication in the EMSE journal!

Daniel’s paper “Building the Perfect Game – An Empirical Study of Game Modifications” was accepted for publication in the EMSE journal! Super congrats Daniel!

Abstract:
Prior work has shown that gamer loyalty is important for the sales of a developer’s future games. Therefore, it is important for game developers to increase the longevity of their games. However, game developers cannot always meet the growing and changing needs of the gaming community, due to the often already overloaded schedules of developers. So-called modders can potentially assist game developers with addressing gamers’ needs. Modders are enthusiasts who provide modifications or completely new content for a game. By supporting modders, game developers can meet the rapidly growing and varying needs of their gamer base. Modders have the potential to play a role in extending the life expectancy of a game, thereby saving game developers time and money, and leading to a better overall gaming experience for their gamer base. In this paper, we empirically study the metadata of 9,521 mods that were extracted from the Nexus Mods distribution platform. The Nexus Mods distribution platform is one of the largest mod distribution platforms for PC games at the time of our study. The goal of our paper is to provide useful insights about mods on the Nexus Mods distribution platform from a quantitative perspective, and to provide researchers a solid foundation to further explore game mods. To better understand the potential of mods to extend the longevity of a game we study their characteristics, and we study their release schedules and post-release support (in terms of bug reports) as a proxy for the willingness of the modding community to contribute to a game. We find that providing official support for mods can be beneficial for the perceived quality of the mods of a game: games for which a modding tool is provided by the original game developer have a higher median endorsement ratio than mods for games that do not have such a tool. In addition, mod users are willing to submit bug reports for a mod. However, they often fail to do this in a systematic manner using the bug reporting tool of the Nexus Mods platform, resulting in low-quality bug reports which are difficult to resolve. Our findings give the first insights into the characteristics, release schedule and post-release support of game mods. Our findings show that some games have a very active modding community, which contributes to those games through mods. Based on our findings, we recommend that game developers who desire an active modding community for their own games provide the modding community with an officially-supported modding tool. In addition, we recommend that mod distribution platforms, such as Nexus Mods, improve their bug reporting system to receive higher quality bug reports.

See our Publications for the full paper.

“A Longitudinal Study of Popular Ad Libraries in the Google Play Store” accepted for publication in the EMSE journal!

Ahsan’s paper “A Longitudinal Study of Popular Ad Libraries in the Google Play Store” was accepted for publication in the EMSE journal! Super congrats Ahsan!

Abstract:
In-app advertisements have become an integral part of the revenue model of mobile apps. To gain ad revenue, app developers integrate ad libraries into their apps.
Such libraries are integrated to serve advertisements (ads) to users; developers then gain revenue based on the displayed ads and the users’ interactions with such ads. As a result, ad libraries have become an essential part of the mobile app ecosystem. However, little is known about how such ad libraries have evolved over time.

In this paper, we study the evolution of the 8 most popular ad libraries (e.g., Google AdMob and Facebook Audience Network) over a period of 33 months (from April 2016 until December 2018). In particular, we look at their evolution in terms of size, the main drivers for releasing a new version, and their architecture.
To identify popular ad libraries, we collect 35,462 updates of 1,840 top free-to-download apps in the Google Play Store. Then, we identify 63 ad libraries that are integrated into the studied popular apps. We observe that an ad library represents 10% of the binary size of mobile apps, and that the proportion of the ad library size compared to the app size has grown by 10% over our study period. By taking a closer look at the 8 most popular ad libraries, we find that ad libraries are continuously evolving with a median release interval of 34 days. In addition, we observe that some libraries have grown exponentially in size (e.g, Facebook Audience Network), while other libraries have attempted to reduce their size as they evolved. The libraries that reduced their size have done so through:
(1) creating a lighter version of the ad library, (2) removing parts of the ad library, and (3) redesigning their architecture into a more modular one.

To identify the main drivers for releasing a new version, we manually analyze the release notes of the eight studied ad libraries. We observe that fixing issues that are related to displaying video ads is the main driver for releasing new versions. We also observe that ad library developers are constantly updating their libraries to support a wider range of Android platforms (i.e., to ensure that more devices can use the libraries without errors). Finally, we derive a reference architecture from the studied eight ad libraries, and we study how these libraries deviated from this architecture in the study period.

Our study is important for ad library developers as it provides the first in-depth look into how the important mobile app market segment of ad libraries has evolved. Our findings and the reference architecture are valuable for ad library developers who wish to learn about how other developers built and evolved their successful ad libraries. For example, our reference architecture provides a new ad library developer with a foundation for understanding the interactions between the most important components of an ad library.

See our Publications for the full paper.

“What’s Wrong With My Benchmark Results? Studying Bad Practices in JMH Benchmarks” accepted for publication in the TSE journal!

Diego’s paper “What’s Wrong With My Benchmark Results? Studying Bad Practices in JMH Benchmarks” was accepted for publication in the TSE journal! Super congrats Diego!

Abstract:
Microbenchmarking frameworks, such as Java’s Microbenchmark Harness (JMH), allow developers to write fine-grained performance test suites at the method or statement level. However, due to the complexities of the Java Virtual Machine, developers often struggle with writing expressive JMH benchmarks which accurately represent the performance of such methods or statements. In this paper, we empirically study bad practices of JMH benchmarks. We present a tool that leverages static analysis to identify 5 bad JMH practices. Our empirical study of 123 open source Java-based systems shows that each of these 5 bad practices are prevalent in open source software. Further, we conduct several experiments to quantify the impact of each bad practice in multiple case studies, and find that bad practices often significantly impact the benchmark results. To validate our experimental results, we constructed seven patches that fix the identified bad practices for six of the studied open source projects, of which six were merged into the main branch of the project. In this paper, we show that developers struggle with accurate Java microbenchmarking, and provide several recommendations to developers of microbenchmarking frameworks on how to improve future versions of their framework.

See our Publications for the full paper.

“Bounties on Technical Q&A Sites: A Case Study of Stack Overflow Bounties” accepted for publication in the EMSE journal!

Jiayuan’s paper “Bounties on Technical Q&A Sites: A Case Study of Stack Overflow Bounties” was accepted for publication in the EMSE journal! Super congrats Jiayuan!

Abstract:
Technical question and answer (Q&A) websites provide a platform for developers to communicate with each other by asking and answering questions. Stack Overflow is the most prominent of such websites. With the rapidly increasing number of questions on Stack Overflow, it is becoming difficult to get an answer to all questions and as a result, millions of questions on Stack Overflow remain unsolved. In an attempt to improve the visibility of unsolved questions, Stack Overflow introduced a bounty system to motivate users to solve such questions. In this bounty system, users can offer reputation points in an effort to encourage users to answer their question. In this paper, we study 129,202 bounty questions that were proposed by 61,824 bounty backers. We observe that bounty questions have a higher solving-likelihood than non-bounty questions. This is particularly true for long-standing unsolved questions. For example, questions that were unsolved for 100 days for which a bounty is proposed are more likely to be solved (55%) than those without bounties (1.7%). In addition, we studied the factors that are important for the solving-likelihood and solving-time of a bounty question. We found that: (1) Questions are likely to attract more traffic after receiving a bounty than non-bounty questions. (2) Bounties work particularly well in very large communities with a relatively low question solving-likelihood. (3) High-valued bounties are associated with a higher solving-likelihood, but we did not observe a likelihood for expedited solutions.

See our Publications for the full paper.

“Identifying gameplay videos that exhibit bugs in computer games” accepted for publication in the EMSE journal!

Dayi’s paper “Identifying gameplay videos that exhibit bugs in computer games” was accepted for publication in the EMSE journal! Super congrats Dayi, and what a great way to wrap up your PhD!

Abstract:
With the rapid growing market and competition in the gaming industry, it is challenging to develop a successful game, making the quality of games very important. To improve the quality of games, developers commonly use gamer-submitted bug reports to locate bugs in games. Recently, gameplay videos have become popular in the gaming community. A few of these videos showcase a bug, offering developers a new opportunity to collect context-rich bug information. In this paper, we investigate whether videos that showcase a bug can automatically be identified from the metadata of gameplay videos that are readily available online. Such bug videos could then be used as a supplemental source of bug information for game developers. We studied the number of gameplay videos on the Steam platform, one of the most popular digital game distribution platforms, and the difficulty of identifying bug videos from these gameplay videos. We show that naive approaches such as using keywords to search for bug videos are time-consuming and imprecise. We propose an approach which uses a random forest classifier to rank gameplay videos based on their likelihood of being a bug video. Our proposed approach achieves a precision that is 43% higher than that of the naive keyword searching approach on a manually labelled dataset of 96 videos. In addition, by evaluating 1,400 videos that are identified by our approach as bug videos, we calculated that our approach has both a mean average precision at 10 and a mean average precision at 100 of 0.91. Our study demonstrates that it is feasible to automatically identify gameplay videos that showcase a bug.

See our Publications for the full paper.