21 July 2020 Department of Computer Science , Faculty , Research , Programming Languages & Software Engineering

21 July 2020 – NUS Computing Provost's Chair Professor Abhik Roychoudhury and his team received the ACM SIGSOFT Distinguished Paper Award at the 42nd International Conference on Software Engineering (ICSE 2020), held online from 27 June to 19 July 2020. The conference provides a platform for researchers to present and discuss innovations and trends in the field of software engineering.

Professor Roychoudhury and his collaborators received the award for their paper, titled ‘Time-travel Testing of Android Apps’. The paper describes a new Android app testing tool named ‘TimeMachine’ that works with app state snapshots, instead of event sequences.

“Existing testing of mobile apps requires providing a long stream of events, such as taps or touches, to see how the app reacts. Oftentimes, one would need to visit a screen many times in order to find a bug,” said Prof Roychoudhury.

To address this problem, the team's approach involves taking snapshots of the whole Android system to capture ‘interesting’ program states, and saving them in a 'snapshot pool'.

States of the software and emulated hardware in the app and the entire surrounding Android system, such as databases, third-party libraries, and sensors, are retained in the taken snapshot. These states can be fully resumed by restoring the snapshot.

In this way, a screen can be explored as many times as needed by restoring a program state from the snapshot pool, without having to generate long event sequences.

“Working with state snapshots allows us to travel back in time, and revisit relevant app states to uncover more insights behind the app’s behaviour,” said Prof Roychoudhury.

The paper’s other research collaborators include Dr Dong Zhen, a Senior Research Fellow at NUS Computing; Dr Marcel Böhme, a NUS Computing PhD graduate who is now a Senior Lecturer at Monash University; and Lucia Cojocaru, who conceptualised a part of the work for the paper as an intern at NUS Computing in 2018.