2003 · Conference paper

GUI ripping: reverse engineering of graphical user interfaces for testing

GUI ripping reverse engineers a test model from a running desktop application rather than from its source code or specifications. Starting from the top-level windows, a ripper opens each child window by programmatically clicking executable widgets, records every window’s widgets, properties and values, and builds a GUI forest of windows. From that forest it derives event-flow graphs, which record which events can follow one another within a component, and an integration tree of component invocations. The paper describes rippers for Microsoft Windows applications, using window handles and the Windows API, and for Java Swing applications, using Java’s AWT and Swing APIs. It applies them to WordPad, Notepad, Yahoo Messenger and four applications of the TerpOffice student office suite, with the models feeding automated test generation in the authors’ GUITAR and DART systems.

Scope and limitations

The targets are 2003-era desktop GUIs on Microsoft Windows and Java Swing, not mobile apps or web interfaces; the model assumes deterministic events on widgets with discrete property values and excludes timing-dependent, continuous-media or nondeterministic GUIs. The recovered model is a window, widget and event structure for test generation, not UI code or application logic, and the paper does not establish complete behavioral coverage. Ripping can miss windows and widgets: the Windows ripper misses widgets that bypass the Windows API and cannot distinguish modal from modeless windows, while the Java ripper cannot extract the Print dialog structure. In the case studies, testers added missed windows manually, taking 5 to 10 minutes per application, and identified top-level windows by hand for Windows applications. Results come from seven applications and the authors’ own test pipeline.

Why it fits this collection

Adds a classic execution-based method for recovering an application’s GUI structure and event model, complementing the section’s screenshot-to-code and app-analysis research.

Publication and review details

Venue
WCRE 2003
Status
Conference paper
Publication / posting date
2003 (exact date not verified)
Date source
IEEE Xplore gives the publication date as 2003 and the proceedings title as WCRE 2003; the Crossref deposit has no publication date. Year precision is retained, and the conference dates and the 2004 Xplore insertion date are not substituted.
DOI
10.1109/WCRE.2003.1287256

IEEE Xplore and Crossref list the authors only as A. Memon, I. Banerjee and A. Nagarajan, with pages 260–269 in the 10th Working Conference on Reverse Engineering proceedings (Victoria, BC); the record uses the full names printed in the paper. The title follows IEEE’s sentence case; the paper capitalizes it as “GUI Ripping: Reverse Engineering of Graphical User Interfaces for Testing”. The PDF is the 10-page copy on Atif Memon’s University of Maryland page; IEEE Xplore holds the version of record and does not mark it open access. The paper says the GUI Ripper was made available as a downloadable tool and cites guitar.cs.umd.edu, but that host did not resolve during this review; no code link is recorded, and the later GUITAR project is not treated as this paper’s artifact. No code or experiments were run.

Sources reviewed

Source review only; experiments were not rerun for this collection. Cite the original authors using the linked paper or BibTeX.

Report an outdated entry Suggest a translation fix

Primary sources

  1. https://ieeexplore.ieee.org/document/1287256
  2. https://web.archive.org/web/20251228032001/https://ieeexplore.ieee.org/document/1287256/
  3. https://api.crossref.org/works/10.1109/WCRE.2003.1287256
  4. https://www.cs.umd.edu/~atif/papers/MemonWCRE2003.pdf