Apps change every release.

So do their screens.

commit i
commit i+n

Spot the difference.

GUI changes are hard to document.

The layout lives in XML. What users see lives in pixels.

Introducing
Gcat
GUI Change Analysis Tool
COMMIT i
COMMIT i+n
01Explore both commits
02Match screens
03Detect & summarize

Explore every screen.

Gcat builds two commits and explores each one, saving a screenshot and GUI metadata at every step.

Match screen to screen.

Redundant screens are filtered out. The rest are paired by bipartite matching on color and layout.

Name every change.

Perceptual image differencing finds what changed. Gcat classifies it, then says what and where.

unique (activity, window) only
commit i
commit i+n
GUI-change report · sign-in screen
1TEXT CHANGETitle: “Sign in” → “Welcome back”
2VERTICAL TRANSLATIONSign-in button moved down
3ADDED COMPONENTNew “Enterprise” button
4VERTICAL TRANSLATIONAccess-token link moved down
Summary · 4 GUI changes, mostly near the bottom of the screen.
Evaluated on 31 open-source Android apps
0
screens explored
0
filtered as redundant
0
matched screen pairs

Gcat catches what people miss.

Average recall: share of real GUI changes each one found.

Gcat
0%
Developers
0%
98.3%detection precision
13.1 sto analyze a screen pair
20participants in the user study
User study · what was most useful in Gcat reports

“Seeing how components moved with the highlighted red boxes.”

— Study participant

Detecting and Summarizing GUI Changes in Evolving Mobile Apps

Kevin Moran · Cody Watson · John Hoskins · George Purnell · Denys Poshyvanyk
ASE 2018 · IEEE/ACM International Conference on Automated Software Engineering