Software Verification via Formal Text Representation Comparison
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software testing methods are inefficient in verifying the functionality of software products, as they often require checking numerous data fields, making it arduous to detect errors or verify changes without sacrificing existing functionality, especially when only a small number of result data fields are examined.
Innovation Solution
A method and system that execute a software module under test, generate and compare formal text representations of all data fields produced, filter out insignificant differences, and provide a user interface for reporting and analyzing changes, ensuring comprehensive verification of software functionality.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If all data fields are checked during software verification, then detection precision is improved, but productivity deteriorates due to the arduous and time-consuming nature of checking numerous fields
Solution Approach 1:
The patent creates formal text representations (copies) of the software specification and execution results. These textual copies can be automatically compared using string matching algorithms, replacing the need for manual inspection of numerous data fields. The copying principle transforms complex multi-field verification into simple text comparison operations.
Solution Approach 2:
The patent replaces manual mechanical verification processes with automated computational methods. By converting software execution results into formal text representations and using automated diff tools, the system substitutes human effort with machine-based comparison, dramatically improving verification efficiency while maintaining comprehensive coverage of all data fields.
2Productivity
If only a small number of result data fields are examined, then productivity is improved, but detection precision deteriorates as bugs may not be readily detected
Solution Approach 1:
The patent creates formal text representations (copies) of the software specification and execution results. These textual copies can be automatically compared using string matching algorithms, replacing the need for manual inspection of numerous data fields. The copying principle transforms complex multi-field verification into simple text comparison operations.
Solution Approach 2:
The patent replaces manual mechanical verification processes with automated computational methods. By converting software execution results into formal text representations and using automated diff tools, the system substitutes human effort with machine-based comparison, dramatically improving verification efficiency while maintaining comprehensive coverage of all data fields.
3Measurement precision
If comprehensive verification of all data fields is performed, then detection precision is improved, but device complexity increases due to the complexity of managing and comparing numerous fields
Solution Approach 1:
The patent creates formal text representations (copies) of the software specification and execution results. These textual copies can be automatically compared using string matching algorithms, replacing the need for manual inspection of numerous data fields. The copying principle transforms complex multi-field verification into simple text comparison operations.
Solution Approach 2:
The patent changes the representation parameter of software execution results from structured data fields to formal text representations. This parameter change simplifies the comparison operation, allowing comprehensive verification to be performed using simple string diff algorithms rather than complex field-by-field comparison logic.
Data Source
AI summary
According to some embodiments, a method and system provides executing, by a processor, a software module under test to obtain a first reference set of data; executing, by the processor, the software module under test to obtain a second reference set data; transforming, by the processor, the first reference set of data and the second reference set of data into a first formal text form representation and a second formal text form representation, respectively; determining a plurality of differences between the first set of reference data and the second set of reference data by comparing the first formal text form representation and the second formal text form representation; filtering the plurality of differences to obtain a sub-set of the plurality of differences based on at least one filter criteria; and generating a report of the sub-set of plurality of differences.


