Abstracting Software Events for Data Mining
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Adaptability or versatility
If developer turnover occurs in legacy software, then organizational adaptability is improved, but substantial knowledge loss occurs about internal workings
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.
Data Source
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.


