Event Sequence Prioritization for Software Testing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Event-driven software testing faces challenges due to the 'event sequence explosion' problem, where a large number of events and event sequences make testing time-consuming and resource-intensive, leading to prohibitive processing requirements.
Innovation Solution
A method is introduced to determine event sequences in event-driven software applications by calculating a distance metric for each sequence relative to target conditions, prioritizing execution based on these distances, and exploring the event space to efficiently identify sequences that satisfy target conditions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all event sequences are explored during testing, then testing coverage is improved, but testing time and resource consumption increase significantly
Solution Approach 1:
The patent changes the parameter of event sequence exploration by introducing a distance metric that quantifies how close an event sequence is to satisfying target conditions. By calculating and prioritizing event sequences based on their distance values, the system transforms the exploration process from exhaustive to targeted, reducing testing time while maintaining coverage of critical paths.
Solution Approach 2:
The system performs self-service by automatically calculating distances between event sequences and target conditions, then autonomously prioritizing and selecting which sequences to explore first. This eliminates the need for manual test case prioritization and enables the testing process to optimize itself based on the calculated metrics.
2Reliability
If all event sequences are explored during testing, then testing coverage is improved, but processing requirements become prohibitive
Solution Approach 1:
The patent extracts only the most relevant event sequences for testing by calculating distance metrics and selecting sequences with the smallest distances to target conditions. This extraction process removes unnecessary event sequences from the exploration set, significantly reducing processing requirements while maintaining focus on sequences that are most likely to satisfy target conditions.
Solution Approach 2:
By introducing the distance parameter that measures proximity to target conditions, the system transforms the testing approach from exploring all sequences to exploring only those with optimal parameter values (smallest distances). This parameter-based filtering dramatically reduces the computational burden while preserving testing effectiveness.
3Productivity
If event sequences are prioritized by distance to target conditions, then testing efficiency is improved, but calculation complexity increases
Solution Approach 1:
The patent replaces manual or heuristic-based prioritization methods with an automated distance calculation mechanism. Instead of relying on expert judgment or simple heuristics to prioritize event sequences, the system uses a mathematical distance metric that automatically quantifies proximity to target conditions, enabling systematic and scalable prioritization.
Solution Approach 2:
The distance metric serves as an intermediary that bridges event sequences and target conditions. Rather than directly comparing complex event sequences with target conditions, the distance calculation provides an intermediate value that simplifies the prioritization process, making it computationally tractable while maintaining accuracy.
Data Source
AI summary
According to an aspect of an embodiment, a method may include determining event sequences of an event-driven software application. The method may further include determining, for each event sequence, a distance with respect to each of one or more target conditions of the event-driven software application. The event sequence distance may indicate a degree to which execution of its corresponding event sequence satisfies a corresponding target condition. The method may also include prioritizing execution of the plurality of event sequences based on the event sequence distances. Further, the method may include exploring, according to the prioritization of execution, an event space that includes one or more of the event sequences and a dependent event that corresponds to the one or more target conditions.


