Abstracting Software Events for Data Mining

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data mining techniques are not widely utilized in software verification tools due to the lack of machine-readable rules and constraints, leading to issues with legacy software maintenance and potential software failures during evolution.

Innovation Solution

The process of abstracting observed events into quantified abstractions using free variables and constant symbols, allowing data mining algorithms to infer rich patterns and rules within software programs by selecting subsets of predicates and generating mappings between free variables and constant symbols.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data mining techniques are applied to software verification, then software verification capability is improved, but the lack of machine-readable rules and constraints prevents effective implementation

Engineering Contradiction:
Improvesoftware verification capabilityVSAvoidmachine-readable rules and constraints
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The system performs preliminary action by automatically generating machine-readable rules and constraints from software execution traces before data mining can be effectively applied. The rule generation component creates formal specifications from observed software behavior, enabling subsequent data mining operations to proceed with adequate structural information.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary component (the rule generation system) that bridges the gap between raw software execution traces and data mining algorithms. This intermediary transforms unstructured trace data into structured rules and constraints that data mining can process, solving the information loss problem without requiring pre-existing documentation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If software evolves and undocumented behaviors are altered, then software adaptability is improved, but client failures occur due to loss of behavioral knowledge

Engineering Contradiction:
Improvesoftware evolution capabilityVSAvoidclient failure risk
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system implements feedback by continuously monitoring software execution traces and using data mining to discover patterns that reflect actual software behavior. This feedback loop captures undocumented behaviors and converts them into machine-readable rules, ensuring that when software evolves, the system can detect deviations from expected behavior and alert developers to potential client failures.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent enables self-service by allowing the system to automatically generate and maintain its own behavioral specifications from execution traces. Rather than requiring manual documentation, the system serves itself by extracting rules from its own operation, ensuring that behavioral knowledge is preserved even as software evolves and undocumented behaviors change.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If developer turnover occurs in legacy software, then organizational adaptability is improved, but substantial knowledge loss occurs about internal workings

Engineering Contradiction:
Improveorganizational adaptabilityVSAvoidsoftware knowledge
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

The system applies copying by creating a machine-readable representation (copy) of the software's actual behavior from execution traces. This digital copy captures the internal workings and undocumented behaviors of legacy software, preserving knowledge that would otherwise be lost to developer turnover. The generated rules serve as a transferable knowledge artifact that can be maintained independently of individual developers.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS8280899B2Abstracting events for data mining
Publication Date: 2012.10.02 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8280899B2 patent drawing
  • US8280899B2 patent drawing
  • US8280899B2 patent drawing

AI summary

An event is described herein as being representable by a quantified abstraction of the event. The event includes at least one predicate, and the at least one predicate has at least one constant symbol corresponding thereto. An instance of the constant symbol corresponding to the event is identified, and the instance of the constant symbol is replaced by a free variable to obtain an abstracted predicate. Thus, a quantified abstraction of the event is composed as a pair: the abstracted predicate and a mapping between the free variable and an instance of the constant symbol that corresponds to the predicate. A data mining algorithm is executed over abstracted, quantified events to ascertain a correlation between the event and another event.