← Latest papers
💻 computer science

Automated Functional Testing for Malleable Mobile Application Driven from User Intent

This paper proposes \tool, an automated framework that leverages LLMs to generate GUI tests and oracles for verifying user-specified functionalities in malleable mobile applications, thereby enabling a shift from product-manager-driven to end-user-driven app development.

Original authors: Yuying Wang, Kaifeng Huang, Hao Deng, Zhiyuan Sun, Jinxuan Zhou, Shengjie Zhao

Published 2026-04-03
📖 4 min read☕ Coffee break read

Original authors: Yuying Wang, Kaifeng Huang, Hao Deng, Zhiyuan Sun, Jinxuan Zhou, Shengjie Zhao

Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer

Imagine you have a smartphone app, like a note-taking app or a weather app. Right now, if you want a new feature—say, "I wish I could undo deleting a note by mistake"—you have to wait. You send a complaint to the company, they add it to a long list, and maybe, if enough people ask for it, they might add it in a future update. But until then, you're stuck with what they gave you.

This paper proposes a radical new idea: What if you could just ask the app to change itself, and it would do it instantly?

The authors call this "Malleable Software." Think of it like clay. Right now, most apps are like hard plastic statues; you can't reshape them once they're made. Malleable software is like clay; you can mold it to fit your specific needs.

The Problem: The "Magic Box" Dilemma

The authors imagine a future where you tell an AI, "I want a dark mode for this news app," or "I want a button to share my location." The AI writes the code, updates the app, and gives you your custom version.

But here's the catch: How do we know the AI didn't break the app?
If you ask a human developer to add a feature, they write code and then a tester checks it. But if an AI does it for every single user instantly, we can't hire a human tester for everyone. We need a robot tester that can instantly check:

  1. Did the feature actually appear?
  2. Does it work correctly?
  3. Did it break anything else?

The Solution: Meet "Aladdin"

The authors built a tool called Aladdin (named after the magic lamp, because it grants your wishes). Aladdin is an automated robot that acts as a super-intelligent tester.

Here is how Aladdin works, using a simple analogy:

Imagine you are a detective trying to find a hidden treasure (the new feature) inside a giant, confusing maze (the mobile app).

Phase 1: The Map Maker (Navigation)

Aladdin doesn't just wander randomly. It reads your request ("I want to change the language to Bengali") and looks at the app's screens.

  • The Analogy: Imagine you are in a mall looking for a specific store. Aladdin is like a GPS that doesn't just say "Go left," but says, "Go left because that sign says 'Electronics,' and your store is likely there." It uses AI to guess which button to click next to get closer to your goal, ignoring dead ends.

Phase 2: The Key Turner (Triggering)

Once Aladdin finds the right screen, it tries to turn the "key" (click the button) to open the feature.

  • The Analogy: You found the door. Aladdin tries to open it. It clicks the "Language" button. Then, it checks: "Did a list of languages appear?" If the list is empty, it knows the AI failed. If the list appears, it moves to the next step.

Phase 3: The Truth Teller (Oracle Generation)

This is the most important part. Aladdin needs to verify the result.

  • The Analogy: You clicked "Bengali." Now, Aladdin looks at the app again. It asks: "Is the text now in Bengali? Is the header in Bengali?" It compares the "Before" picture and the "After" picture. If the app looks exactly the same, Aladdin says, "Fail, the feature didn't work." If the app changed correctly, it says, "Pass!"

Why is this a Big Deal?

Currently, software is built by companies for the "average" person. If you have a weird, specific need, you are out of luck.

  • Old Way: You wait for the company to update the app for everyone.
  • New Way (with Aladdin): You ask for your custom feature. The AI builds it. Aladdin instantly tests it to make sure it's safe and works. Then, you get your own personal version of the app.

The Results

The researchers tested Aladdin on six real apps (like a notes app, a news reader, and a browser) and 34 different user requests.

  • Success Rate: Aladdin successfully found the right screens and verified the features 81% of the time.
  • Detecting Bad Code: When they gave Aladdin apps with "broken" AI-generated features, Aladdin caught the errors 90% of the time. It was very good at saying, "No, this doesn't work," when it shouldn't.

The Bottom Line

This paper envisions a future where software isn't a rigid product you buy, but a flexible tool you shape. Aladdin is the safety guard that makes this possible. It ensures that when you ask your phone to change itself, it doesn't accidentally delete your photos or crash your system. It turns the dream of "vibe coding" (coding just by talking) into a safe, reliable reality for everyone.

Drowning in papers in your field?

Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.

Try Digest →