Application Fingerprinting for Automated Defect Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In the application marketplace, developers face challenges in improving their applications' performance due to issues like crashes, poor rendering, and high resource consumption, which existing technologies fail to effectively address through defect detection and correction.

Innovation Solution

The solution involves generating application fingerprints that uniquely identify applications based on APIs, software libraries, hardware devices, resource consumption patterns, and user behavior, enabling defect detection and correction services to recommend improvements by analyzing similarities with other applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If developers manually analyze and improve their applications, then application performance may be improved, but the process is time-consuming and lacks effectiveness in detecting defects

Engineering Contradiction:
Improveapplication stabilityVSAvoidtime for defect detection and improvement
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system enables applications to automatically detect their own defects and receive improvement recommendations without manual intervention. The fingerprinting service automatically analyzes application characteristics, compares them with a database, identifies defects, and generates correction suggestions, allowing the application ecosystem to self-diagnose and self-improve

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces manual mechanical analysis with automated computational analysis. Instead of developers manually reviewing code and performance metrics, the system uses automated fingerprinting services that computationally analyze application characteristics, compare them against known patterns, and automatically generate defect detection results and improvement recommendations

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Reliability

If existing defect detection technologies are used, then some defects may be identified, but they fail to effectively address crashes, poor rendering performance, and high resource consumption

Engineering Contradiction:
Improvedefect detection effectivenessVSAvoidcomplexity of defect detection system
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The fingerprinting service is designed as a universal system that can detect multiple types of defects across different applications. It analyzes various application characteristics including code structure, resource usage patterns, and performance metrics to identify crashes, rendering issues, and resource consumption problems within a single unified framework

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent introduces application fingerprints as an intermediary representation that bridges the gap between raw application code and defect detection analysis. The fingerprinting service converts complex application characteristics into standardized fingerprint data that can be efficiently compared against a database of known defects, simplifying the detection process while maintaining comprehensive coverage

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If developers compete to improve applications, then market quality may improve, but lack of effective defect detection tools hinders progress

Engineering Contradiction:
Improveapplication improvement rateVSAvoidease of application optimization
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

The system implements a feedback mechanism where application fingerprints are continuously analyzed and compared with updated databases of known defects and best practices. The service provides actionable improvement recommendations based on this feedback, enabling developers to iteratively optimize their applications by implementing suggested changes and re-testing

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent establishes a database of application fingerprints and defect patterns in advance, creating a knowledge base before actual defect detection occurs. This preliminary preparation allows the system to quickly compare new applications against known issues and provide immediate defect detection and improvement guidance without requiring complex real-time analysis

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9449042B1Recommending improvements to and detecting defects within applications
Publication Date: 2016.09.20 AMAZON TECH INC
  • US9449042B1 patent drawing
  • US9449042B1 patent drawing
  • US9449042B1 patent drawing

AI summary

In various embodiments, static, dynamic, and behavioral analyzes may be performed on an application. A set of software libraries employed by the application may be determined. A set of device resources employed by the application may be determined. An application fingerprint is generated for the application. The application fingerprint encodes identifiers for the set of software libraries and identifiers for the set of device resources. Improvements can be recommended based upon an analysis of the application fingerprint.