Dead Widget Detection via Interaction Clustering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

User-interactive software applications often contain dead widgets that do not respond to user interactions, causing functional issues and requiring effective detection and validation methods to ensure GUI functionality.

Innovation Solution

A method involving recording widget interaction instances, clustering them based on text and path values, and validating each cluster to determine if the associated widget is dead, using techniques like dynamic crawling and Screen or State Transition Graph analysis to identify and classify dead widgets.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If automated testing methods are used to validate GUI widgets, then detection accuracy improves, but testing complexity increases

Engineering Contradiction:
Improvedetection accuracyVSAvoidtesting complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the GUI validation process into distinct phases: recording user interactions, clustering similar interactions, and validating individual widgets. This segmentation allows complex validation to be broken down into manageable steps, improving detectability while maintaining systematic approach

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary clustering mechanism that groups similar widget interactions together before validation. This intermediary step simplifies the validation process by reducing the number of individual widgets that need to be validated separately, thereby reducing overall testing complexity while maintaining accuracy

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If comprehensive widget validation is performed, then reliability improves, but time consumption increases

Engineering Contradiction:
ImproveGUI functionalityVSAvoidvalidation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies partial action by validating only the clusters of widget interactions that show inconsistent behavior or potential dead widgets. Rather than validating every single widget uniformly, the system identifies and validates only those that require attention based on interaction patterns, thereby reducing validation time while maintaining high reliability

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent implements feedback mechanisms where the validation results are used to improve future testing cycles. By analyzing which widgets are identified as dead and adjusting the validation strategy accordingly, the system reduces redundant testing over time, decreasing validation time while maintaining comprehensive coverage

Inventive Principle:
Principle #23Feedback

3Difficulty of detecting and measuring

If dead widgets are detected using interaction recording, then detection capability improves, but system complexity increases

Engineering Contradiction:
Improvedead widget detectionVSAvoidsystem complexity
Core Design Contradiction:
Difficulty of detecting and measuringVSDevice complexity

Solution Approach 1:

The patent creates a copy of the GUI widget interaction data in a structured format that can be analyzed independently from the actual application. This copied interaction data is then processed through clustering and validation algorithms, allowing dead widget detection without modifying the original application system, thereby improving detection capability while avoiding increased system complexity

Inventive Principle:
Principle #26Copying

Data Source

PatentUS8880951B2Detection of dead widgets in software applications
Publication Date: 2014.11.04 FUJITSU LTD
  • US8880951B2 patent drawing
  • US8880951B2 patent drawing
  • US8880951B2 patent drawing

AI summary

In one embodiment, a user interface includes at least one instance of each of at least one widget. Recording a plurality of widget interaction instances (WIIs) for the user interface, each WII resulting from a user interaction applied to a particular instance of a particular widget. Clustering the plurality of WIIs based on a text value and a path value of each WII, such that each cluster of WIIs is associated with a particular widget. Determining, for each of at least one cluster of WIIs, whether the particular widget associated with the cluster of WIIs is erroneous based on whether user interactions corresponding to the WIIs in the cluster have produced responses from a software application that includes the user interface.