Michael identified a problem with our mechanism for inheriting individual properties from cached objects. It breaks the SDK in ways that Michael will explain in a follow-on email . I pushed and merged a change that fixes the problem. We can still reuse cached objects (so that, for example, threadFlowLocations can be reused in multiple thread flows, satisfying Yekaterina’s scenario), but we do not inherit individual properties from the cached object:
https://github.com/oasis-tcs/sarif-spec/blob/master/Documents/ChangeDrafts/Accepted/sarif-v2.0-issue-403-no-inheritance.docx As part of this change, we removed the index properties from the address object and the logicalLocation object. These “hierarchical” objects have a parentIndex , and that , not index , is what establishes a connection to the cache. These objects are very small (in contrast to threadFlowLocation , which can be huge if it includes a stack), so the benefit of caching the “leaf objects” is small. As always, the provisional draft and its HTML version are up to date:
https://github.com/oasis-tcs/sarif-spec/blob/master/Documents/ProvisionalDrafts/sarif-v2.0-csd02-provisional.docx https://github.com/oasis-tcs/sarif-spec/blob/master/Documents/ProvisionalDrafts/sarif-v2.0-csd02-provisional.htm Please take a look. The plan is still to open the CSD 2 ballot on Monday. This is it. We have no more open issues except the question Michael asked this morning about this choice of which standard to cite for the run.language property. Thanks, Larry