Runtime Verification Inc. has developed runtime verification-based techniques to improve the safety, reliability, and correctness of software systems. Runtime verification is a dynamic software analysis approach that analyzes programs as they execute, observing the results of the execution and using those results to find bugs. Runtime verification can be more lightweight than traditional formal analysis techniques, like model checking or deductive verification. Because runtime verification considers only the execution of the system and not its code, it is possible to rigorously find bugs while scaling to large codebases. Runtime verification is also more precise than lightweight static analysis techniques, which often make simplifying assumptions or use imprecise heuristics to analyze code, leading to false positives which can frustrate developers and testers.