> For the complete documentation index, see [llms.txt](https://docs.debricked.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.debricked.com/product/vulnerability-management/reachability-analysis/set-up-reachability-analysis-for-go.md).

# Set up Reachability Analysis for Go

Reachability Analysis is supported for all Go projects. You need the compiled code and the libraries used by your Go project to enable Reachability Analysis.

You need to generate a call graph to enable Reachability Analysis for Go. To generate a call graph, add the [Fortify SCA CLI](/tools-and-integrations/cli/debricked-cli.md) `callgraph` command to your integration before running a Fortify SCA scan. To find out more about the command and the various available flags, run:

```
debricked callgraph -h
```

{% hint style="info" %}
*The success of CLI call graph generation depends on the complexity of the application being analyzed. If an application contains a language feature that is not supported by the algorithm, the* `callgraph` *command fails and you cannot set up Reachability Analysis for that application.*
{% endhint %}

When successful, the `callgraph` command generates a `debricked-call-graph` file. This file is automatically sent to Fortify SCA with the dependency files for analysis, when running the debricked scan command.

### Set up call graph generation in your pipeline

For many projects, running the `callgraph` command with the default configuration might be enough to run the preparation steps. In this case, before running the `debricked scan`, to add the command to run `debricked callgraph` in your configuration to ensure that the scan has access to the generated call graph file.

For GitHub Action integrations, Fortify SCA also provides an Actions setup in the [GitHub Actions repository](https://github.com/debricked/actions/tree/master).

#### Example: Building the project during the callgraph command

In this example, the `callgraph` command is run with default configuration to build the project and prepare the necessary files automatically before generating the call graph.

```bash
# GitLab CI/CD template

image: debricked/cli:2-resolution-debian

stages:
  - scan
debricked:
  stage: scan
  script:
    - debricked callgraph
    - debricked scan
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.debricked.com/product/vulnerability-management/reachability-analysis/set-up-reachability-analysis-for-go.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
