Chris Lewis

Learn More
"Player modeling" is a loose concept. It can equally apply to everything from a predictive model of player actions resulting from machine learning to a designer's description of a player's expected reactions in response to some piece of game content. This lack of a precise terminology prevents practitioners from quickly finding introductions to applicable(More)
While many bug prediction algorithms have been developed by academia, they're often only tested and verified in the lab using automated means. We do not have a strong idea about whether such algorithms are useful to guide human developers. We deployed a bug prediction algorithm across Google, and found no identifiable change in developer behavior.(More)
Collecting large sets of quantitative video game play data can take many months or years. This delays the progress of interpreting data and drawing interesting conclusions. Mining game data from publicly accessible web services allows us to quickly retrieve quantitative results. This will allow the pace of quantitative research in video games to increase,(More)
The phenomenal growth of social network games in the last five years has left many game designers, game scholars, and long-time game players wondering how these games so effectively engage their audiences. Without a strong understanding of the sources of appeal of social network games, and how they relate to the appeal of past games and other human(More)
Video games are complex, emergent systems that are difficult to design and test. This difficulty invariably leads to failures being present in the game, negatively impacting the play experience of some. We present a taxonomy of possible failures, divided into temporal and non-temporal failures. The taxonomy can guide the thinking of designers and testers(More)
The FixCache algorithm, introduced in 2007, effectively identifies files or methods which are likely to contain bugs by analyzing source control repository history. However, many open questions remain about the behaviour of this algorithm. What is the variation in the hit rate over time? How long do files stay in the cache? Do buggy files tend to stay(More)
Formal software verification is a software engineering technique for modeling a software system's source code, and then proving properties about it, such as freedom from security vulnerabilities. Though proofs are largely automated, formal source code model-ing is time consuming and requires substantial human attention. Xylem: The Code of Plants is an iPad(More)
CAST YOUR MIND back to some of your greatest gaming moments (or ask your gaming friends for theirs). Maybe they include jumping a quad bike into an airplane ( Perhaps it was the simple joy of being killed in an online game by a traffic cone ( Or maybe it was launching yourself into the air by riding an(More)
In software with emergent properties, despite the best efforts to remove faults before execution, there is a high likelihood that faults will occur during runtime. These faults can lead to unacceptable program behavior during execution, even leading to the program terminating unexpectedly. Using a distributed event-driven runtime software-fault monitor to(More)