Android App State Exploration Using Curiosity-Driven DFA Guidance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Android app testing is challenging due to complex service functions, numerous interfaces and events, and system-level events, leading to high assembly spaces and difficulty in ensuring correctness and efficiency.

Innovation Solution

A curiosity-driven Android app automatic testing method using a pre-processing assembly, curiosity-driven reinforcement learning module, and deterministic finite automaton (DFA) to guide exploration and improve code coverage and fault exposure.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If traditional automatic testing methods are used to test Android apps with complex service functions and numerous interfaces, then the testing process becomes extremely time-consuming and computationally expensive, but the code coverage rate and fault exposure remain insufficient

Engineering Contradiction:
Improvecode coverage rateVSAvoidtesting time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent segments the vast state space of Android apps by using abstraction to group similar states together. The pre-processing assembly extracts interface structures and maps them to abstracted app states, dividing the complex testing space into manageable segments that can be explored more efficiently without missing critical code paths

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter representation from concrete UI states to abstracted state representations. By transforming the state space parameters through abstraction functions, the system reduces the effective state space size while maintaining the essential characteristics needed for achieving high code coverage

Inventive Principle:
Principle #35Parameter changes

2Reliability

If exhaustive testing of all possible events and interfaces is performed to ensure app correctness, then complete coverage might be achieved, but the testing efficiency and productivity decrease significantly

Engineering Contradiction:
Improveapp correctnessVSAvoidtesting efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements feedback mechanisms where the exploration agent continuously receives information about visited states and uses this feedback to guide future exploration. The system learns from past testing experiences and adjusts its exploration strategy to focus on untested or under-tested areas, maintaining high reliability while improving productivity

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The exploration agent autonomously generates test cases and guides the testing process without requiring constant human intervention. The system serves itself by automatically learning from exploration results and adapting its strategy, thereby maintaining thorough testing coverage while significantly improving testing efficiency

Inventive Principle:
Principle #25Self-service

3Manufacturing precision

If the testing system explores deep function paths to increase code coverage, then more faults may be exposed, but the system risks falling into local optima and wasting time on redundant exploration

Engineering Contradiction:
Improvefault exposure numberVSAvoidexploration complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent employs dynamic exploration strategies where the testing system adapts its behavior based on the current state and historical exploration data. The exploration agent dynamically adjusts its path selection to balance between exploring deep function paths for fault detection and avoiding redundant exploration of already-tested areas, preventing getting stuck in local optima

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12613794B2Curiosity-driven android app automatic testing method
Publication Date: 2026.04.28 FUZHOU UNIV
  • US12613794B2 patent drawing
  • US12613794B2 patent drawing
  • US12613794B2 patent drawing

AI summary

A curiosity-driven Android app automatic testing method includes the following steps:1) a left part represents a pre-processing assembly which achieves abstraction of an Android app state based on an Android interface structure; 2) a right part is curiosity-driven reinforcement learning module which maintains a historical access state set and optimizes an exploration policy constantly to guide a test to find more new states under the guidance of a reward function based on a curiosity thought; and 3) a middle part represents an advanced guidance module of a deterministic finite automaton (DFA), where the DFA is constructed during operation to record all access states and frequencies thereof; and if the new states are not explored within a given time budget, an AndroidExplore selects the most curious state as a starting point of a next exploration according to global information of the DFA.