Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
User-friendly documentation for the SARIF file format.
| Date | Stars |
|---|---|
| 2026-07-24 | 358 |
| 2026-07-25 | 358 |
| 2026-07-28 | 358 |
| 2026-07-30 | 358 |
| 2026-08-06 | 358 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# SARIF Tutorials
## Introduction
SARIF, the Static Analysis Results Interchange Format, defines a standard format for the output of static analysis tools.
It is a powerful and sophisticated format suited to the needs of a wide variety of tools.
For this reason — and because the format is defined in a 220-plus page specification written in formal language!
— it can be hard to learn SARIF and to figure out what parts of it you need to use.
These tutorials aim to present SARIF in a more approachable way.
We'll start with some background:
Why do we need SARIF? Where did it come from? What can it do?
Then we'll dive into the format, exploring the most basic concepts first, then moving on to more advanced concepts.
The advanced concepts usually apply to only a subset of SARIF producers and consumers,
so you don't to read everything.
Just read the introductory material, then pick and choose the additional topics that interest you.
## Sample files
You can find the sample files displayed in the tutorials under the `samples` directory.
They are all valid SARIF files unless I say otherwise.
## Links to the specification
At times, the tutorials link to a section of the SARIF specification for more detailed information
or descriptions of advanced scenarios.
These links look like this: [§3.13: sarifLog object](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html#_Toc16012434)
and they point into the
[HTML version](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html) of the spec.
There are also PDF and .docx versions in the [SARIF 2.1.0 CS01](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/)
(Committee Specification 1) folder on the OASIS web site.
The specification is definitive (and if we want to get really technical, the .docx version of the specification is
definitive, but let's assume there are no bugs in the PDF or HTML converters).
If it seems like something in these tutorials disagrees with the spec,
let me know and I'll either fix the tutorials or make sure that a bug is filed against the spec.
## Disclaimer
The [SARIF specification](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/)
is a [Committee Specification](https://www.oasis-open.org/news/announcements/static-analysis-results-interchange-format-sarif-v2-1-0-from-the-sarif-tc-is-an-a)
from [OASIS](https://www.oasis-open.org/).
But despite the fact that I'm the co-Editor (with Michael Fanning) and primary wordsmith of the specification,
these tutorials are _not_ an OASIS work product or endorsed by OASIS in any way.
They represent my personal interpretation and explanation of the standard.
## Status
These tutorials now contain enough information to give you a solid background in SARIF.
As you will see from the "TODO" entries in the table of contents, there's much more I'd like to write about.
But these are advanced topics that I will address when I have time.
If you'd like an explanation of a SARIF feature that I haven't covered,
please let me know by filing an issue in this repo
## <a id="contents"></a>Table of contents
- [Introduction](docs/1-Introduction.md)
- [What is SARIF?](docs/1-Introduction.md#what-is-sarif)
- [About static analysis tools](docs/1-Introduction.md#tools)
- [Why SARIF?](docs/1-Introduction.md#why-sarif)
- [A simple example](docs/1-Introduction.md#simple-example)
- [The plan for these tutorials](docs/1-Introduction.md#plan)
- [The basics](docs/2-Basics.md)
- [The log file and the object model](docs/2-Basics.md#log-file-and-om)
- [Logs and runs](docs/2-Basics.md#logs-runs)
- [Tools: driver and extensions](docs/2-Basics.md#tools)
- [Property bags](docs/2-Basics.md#property-bags)
- [Results](docs/2-Basics.md#results)
- [Message](docs/2-Basics.md#message)
- [Rule identifier](docs/2-Basics.md#rule-id)
- [Level](docs/2-Basics.md#level)
- [Locations](docs/2-Basics.md#locations)
- [The `locations` array](docs/2-Basics.md#loc-array)
- [PhExcerpt of 8,289 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:11860f602924642e, topic:tutorial