- Cuts software verification and validation costs and schedules in half.
- Minimizes customer acceptance testing.
- Source code faults rapidly found before the software is moved out of the lab.
- Ensures compatibility of new programs before integrating into legacy systems.
- Reduces user-encountered problems.
- Forestalls financial and loyalty losses due to privacy and security breaches.
- Makes for much happier and more innovative system engineers and programmers.
Given that, on average, corporations spend 40% of their IT budget on software maintenance - in government it's 73% - or that 25% of software projects are abandoned before completion, these benefits will add significantly to performance and profitability.
"Software has one of the highest failure rates of any product in human history." Capers Jones
Computational Logic Verification (CLV) is a different approach to proving software correctness. The primary process can be summarized in the following steps:
- The code statements are analyzed with formal logic rules to ensure the software is semantically correct.
- The output data set is tracked backwards through the logic to ensure that it is consistent with the input data set.
- Arithmetic calculations are condensed and integrated into the logic analysis.
- Computation threads are examined for end-to-end correctness.
- The computational correctness of the code is verified through a formal logic analysis rather than being inferred by specific responses to data.
- Data is evaluated as a set rather than data points. This means that complete coverage can be generated with just a few sets.
- Interfaces are verified as the source code of modules, programs and systems are added together.
- The scope of the data set determines the scope of correctness so test cases can be developed to cover requirements issues.