← Nieuwste papers
💻 computer science

ATGBuilder: Feature-Assisted Graph Learning for Activity Transition Graph Construction with Seed Supervision

ATGBuilder is een door kenmerken ondersteund graph learning-framework dat Large Language Models gebruikt om UI-metadata samen te vatten en widget-triggerinformatie expliciet modelleert om de nauwkeurigheid van Activity Transition Graph-constructie voor Android-applicaties aanzienlijk te verbeteren vergeleken met bestaande state-of-the-art methoden.

Oorspronkelijke auteurs: Chenhui Cui, Zixiang Xian, Danyu Li, Tao Li, Rubing Huang, Dave Towey, Shikai Guo, Jiakun Liu

Gepubliceerd 2026-06-26
📖 5 min leestijd🧠 Diepgaand

Oorspronkelijke auteurs: Chenhui Cui, Zixiang Xian, Danyu Li, Tao Li, Rubing Huang, Dave Towey, Shikai Guo, Jiakun Liu

Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer

Stel je voor dat je een enorme, complexe doolhof hebt gemaakt van duizenden kamers. Elke kamer is een scherm in een Android-app, en de deuren tussen de kamers zijn de manieren waarop je van het ene naar het andere scherm kunt bewegen. In de wereld van softwaretesten noemen we deze kaart een Activity Transition Graph (ATG). Het is een blauwdruk die laat zien hoe een gebruiker door een app kan navigeren.

Het probleem is dat het tekenen van deze kaart ongelooflijk moeilijk is.

  • Statische analyse (het bekijken van de code van de app zonder deze uit te voeren) is als het proberen te tekenen van de kaart door naar de bouwtekeningen te kijken. Het is snel, maar het mist vaak de deuren die pas opengaan als je het licht aanzet, of het tekent deuren die leiden naar bakstenen muren.
  • Dynamische exploratie (de app daadwerkelijk draaien en er rondklikken) is als het sturen van een robot om door de doolhof te lopen. De robot vindt echte deuren, maar de robot wordt moe, de batterij raakt leeg en de robot brengt slechts een fractie van de doolhof in kaart voordat hij opgeeft.

AtgBuilder is een nieuwe tool die dit probeert op te lossen. Het fungeert als een super slimme detective die de snelheid van het lezen van blauwdrukken combineert met de intuïtie van een menselijke ontdekkingsreiziger om een volledige en nauwkeurige kaart te tekenen.

Zo werkt het, met behulp van eenvoudige analogieën:

1. De "Samenvatting"-truc (Het oplossen van het "Lijkt-op"-probleem)

Stel je twee verschillende koffiebars voor. De ene heeft een strak, modern ontwerp met glazen wanden. De andere is een gezellige, rustieke hut met houten balken. Ze zien er totaal anders uit, maar ze serveren allebei hetzelfde: Koffie.

Oude methoden probeerden de app in kaart te brengen door te kijken naar het "hout" of het "glas" (de specifieke visuele lay-out). Dit faalde omdat dezelfde functie (zoals "Login") in elke app er compleet anders uit kan zien.

De oplossing van AtgBuilder: Het gebruikt een Large Language Model (LLM)—denk aan een zeer slimme bibliothecaris—om de blauwdruk van een scherm te lezen en een samenvatting van één zin te schrijven over wat dat scherm doet.

  • In plaats van te zeggen: "Dit scherm heeft een blauwe knop en een wit vak," zegt het: "Dit is het Login-scherm."
  • Nu, zelfs als twee apps er verschillend uitzien, weet het systeem dat dit beide "Login-schermen" zijn en kan het voorspellen hoe ze verbonden zijn met andere delen van de app. Het focust op de functie, niet op het meubilair.

2. De "Wie drukte op de knop?"-truc (Het oplossen van het "Welke deur?"-probleem)

In een kamer heb je misschien een rode deur, een blauwe deur en een groene deur. Als je alleen zegt "Ga van Kamer A naar Kamer B", weet je niet welke deur je hebt gebruikt. Maar in een app maakt de specifieke knop die je indrukt (de widget) uit.

De oplossing van AtgBuilder: In plaats van alleen een lijn tussen twee kamers te trekken, plakt AtgBuilder een "tag" aan de lijn die precies aangeeft welke knop werd ingedrukt om die deur te openen.

  • Het behandelt de knopinformatie als een apart label op het pad, en niet alleen als onderdeel van de beschrijving van de kamer.
  • Om ervoor te zorgen dat het deze tags onthoudt, speelt het tijdens de training een klein spelletje: het probeert de naam van de knop te raden op basis van het pad dat het zojuist heeft getekend. Als het het goed heeft, leert het beter. Als het het fout heeft, past het zichzelf aan. Dit zorgt ervoor dat het detail van "wie drukte op de knop" niet verloren gaat.

3. De "Slimme Raad"-motor

Zodra AtgBuilder de samenvattingen en de knop-tags heeft, gebruikt het een Graph Neural Network (GNN). Denk aan dit als een superkrachtige patroonherkenner.

  • Het kijkt naar de samenvatting van het "Login-scherm" en de samenvatting van het "Home-scherm".
  • Het kijkt naar de geschiedenis van hoe andere apps deze twee schermen met elkaar verbinden.
  • Het kijkt naar de specifieke knop-tags.
  • Vervolgens voorspelt het: "Er is een kans van 90% dat er een deur bestaat tussen deze twee schermen."

Werkt het echt?

De onderzoekers hebben dit getest op 98 verschillende apps waar de "correcte" kaart (ground truth) al door mensen was getekend.

  • Het resultaat: AtgBuilder was aanzienlijk beter dan de beste bestaande tools. Het verbeterde de nauwkeurigheid van de kaart met ongeveer 15% tot 77% vergeleken met eerdere methoden.
  • De "Robuustheidstest": Ze probeerden het systeem zelfs te misleiden door het slechte gegevens te voeren (zoals te zeggen dat er een deur bestaat terwijl die er niet is). AtgBuilder was verrassend taai; het raakte niet gemakkelijk in de war en tekende nog steeds een goede kaart.

De "GPS"-bonus

Ten slotte vroegen de onderzoekers: "Als we deze kaart geven aan geautomatiseerde robots die apps testen, helpt dat hen dan?"

  • Ze namen drie populaire testrobots (Monkey, APE en FastBot2) en gaven hen de AtgBuilder-kaart als een "GPS-gids".
  • Het resultaat: De robots verkenden meer kamers en vonden meer deuren dan ze op hun eigen kracht hadden gedaan. De kaart verving de robots niet; het gaf ze alleen een beter gevoel van richting zodat ze geen tijd verspillen door cirkels te lopen.

In een notendop

AtgBuilder is een tool die ons helpt begrijpen hoe Android-apps werken door:

  1. De rommelige visuele details te negeren en te focussen op wat het scherm daadwerkelijk doet (met behulp van AI-samenvattingen).
  2. Te onthouden welke specifieke knop de deur opent.
  3. Een slimme patroonherkenningsmotor te gebruiken om de ontbrekende delen van de app-kaart in te vullen.

Dit resulteert in een veel completere en nauwkeurigere kaart van een app, wat ontwikkelaars en testers helpt om bugs en software veel sneller te vinden en te begrijpen.

Verdrinkt u in papers in uw vakgebied?

Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.

Probeer Digest →