Provide a caching mechanism for duplicated code flow data?
EBALLOT PROPOSAL: provide a mechanism for caching thread flow location data, which is often copious and highly duplicative when producing complex code/dataflow static analysis results.
API IMPACT:
Add run.threadFlowLocations, an array of threadFlowLocation objects cached at the run level, analogous to run.files and run.logicalLocation.
Add threadFlowLocation.index, an index into run.threadFlowLocations.
Add externalPropertyFiles.threadFlowLocations, allowing cached data to be stored in a separate file.
NOTES:
A result-level threadFlowLocation object can specify properties of its own, and also populate its index property. The behavior in this case is that the cached threadFlowLocation is used to initialize the local threadFlowLocation. Any local properties that diverge from the cached copy override the corresponding properties of the cached object. This allows producers to cache locations that share some common subset of properties while permitted the result-published locations to make minor updates to the cached version.
https://github.com/oasis-tcs/sarif-spec/issues/320
|