Browser Crash Blacklisting via Fault Level Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software applications, such as web browsers, often experience unpredictable crashes due to faulty third-party executable code injected into their memory spaces, which cannot be prevented by modifying proprietary third-party software code.

Innovation Solution

A method involving the analysis of crash reports to identify fault-generating executables, computing a fault level based on crash frequency, and maintaining a blacklist of such executables to prevent their future inclusion in the browser's memory space, thereby enhancing operational stability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If third-party executable code is injected into browser memory space, then functionality and adaptability are improved, but reliability deteriorates due to unpredictable crashes

Engineering Contradiction:
ImprovefunctionalityVSAvoidoperational stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary analysis of crash reports to identify faulty executables before they cause widespread crashes. By proactively computing fault levels and maintaining a blacklist of problematic executables, the browser can prevent future crashes caused by these identified faulty third-party codes, thus resolving the contradiction between allowing third-party functionality and maintaining operational stability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system establishes a feedback loop by continuously collecting crash reports, analyzing them to identify faulty executables, computing fault levels, and updating the blacklist. This feedback mechanism allows the browser to learn from past crashes and adapt by blocking problematic third-party codes, thereby maintaining reliability while preserving adaptability through selective blocking rather than blanket rejection

Inventive Principle:
Principle #23Feedback

2Reliability

If crash reporting and analysis system is implemented, then reliability is improved by identifying faulty code, but device complexity increases

Engineering Contradiction:
Improvefault identification capabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system enables the browser to self-diagnose and self-protect by automatically collecting crash reports, analyzing them to identify faulty executables, computing fault levels, and maintaining its own blacklist without requiring external intervention. This self-service approach improves reliability through automated fault identification while managing complexity by consolidating functions within the existing browser infrastructure rather than adding separate complex systems

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9298585B1Blacklisting of fault generating software code
Publication Date: 2016.03.29 GOOGLE LLC
  • US9298585B1 patent drawing
  • US9298585B1 patent drawing
  • US9298585B1 patent drawing

AI summary

Techniques for blacklisting of fault generating software code are provided. An example method includes receiving crash reports of a plurality of browsers, a crash report including an identification of one or more executables related to a software crash of a browser, wherein software code of the executables is included in a memory space of the browser during the software crash, analyzing the crash reports of the browsers to determine a browser component affected by software code of an executable included in respective memory spaces of the browsers to cause one or more software crashes of the browsers, computing, for the executable, a fault level based on a number of crashes of the browser component that is associated with the executable and a number of crashes of the browser component independent of the executable, and including an identifier representing the executable in a list based on the determined fault level.