Due to the huge amount of smart-phone applications available nowadays,there is a need to check them in order to know if they are trustworthy, efficientand reliable. Furthermore, research on smart-phones is really intensive,so it is important to be able to easily profile applications and collect datathat researchers can use. In this thesis we have focused on Android gamesas they represent a big portion of Android applications and Android is themost used mobile operative system nowadays.
The thesis work can be divided in two main tasks. The first task consistsof research on Android games in order to know how they are developed,which game design engines are used nowadays and how can we automatisethe execution of Android applications and, in particular, games. The secondstep consists of development of a program called Monkey Gamer that canplay Android games automatically and collect execution traces of the game. The Monkey Gamer analyses the screen shown on a device, recognises theplaces where the user should touch, and interacts with them. Then, consideringeach screen as a state of a state machine, the program tries to coverthe whole game, generating the highest possible number of execution traces.
In order to test our solution we have compared the traces generated bythe Monkey Gamer with the ones obtained by some real players, achievinga significant similarity. The tests were executed on three games, coveringdifferent categories and implementation solutions.