DEEP or INTERPROCEDURaL - ANALYSIS uncovers OVER 50% of bugs THAT need to be fixed before production.
Procedure- local analyses (Linters) results in over 50% of bugs that don’t get fixed. In 2017, Facebook looked at bug fixes in several categories and found that for some (null dereferences, data races, and security issues) over 50% of the fixes were for bugs with traces that were interprocedural. The interprocedural bugs would be missed bugs if they only deployed procedure-local analyses.
An issue will likely be fixed if presented to a developer IN the place that currently occupy his attention.
Developers need to see analysis results for the code they are building as they are building it, or as close to that time as possible. At Facebook e.g., diff time deployment (where analyzer participates as bot in code review) saw a 70% fix rate, where a more traditional "offline" or "batch" deployment (where bug lists are presented to engineers, outside their workflow) saw a 0% fix rate. We saw over 95% fix rate when CodeAI Iceberg edition was used inside IDE.
MENTAL EFFORT OF CONTEXT SWITChing impacts the fiX rate
If a developer is working on one problem, and they are confronted with a report on a separate problem, then they must swap out the mental context of the first problem and swap in the second, and this can be time consuming and disruptive. By participating as an IDE plugin CodeAI Iceberg edition the context switch problem is largerly solved