Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add codemod ID #35

Merged
merged 3 commits into from
Jul 22, 2024
Merged

Add codemod ID #35

merged 3 commits into from
Jul 22, 2024

Conversation

drdavella
Copy link
Member

I've left some wiggle room in the description of the "origin" component, but we may want to draw a harder line.

@drdavella drdavella requested review from nahsra and gilday July 22, 2024 18:15
codetf.md Outdated Show resolved Hide resolved
codetf.md Outdated

Each component of the ID has a particular meaning:

* `<origin>`: Origin describes the source of the analysis or transformation. For example, "find and fix" codemods provided by Pixee are labelled with the origin "pixee". Codemods that remediate issues found by a static analysis tool might be labelled with the origin corresponding to that tool name (e.g. "semgrep" or "codeql"). Implementers of custom codemods may use a unique identifier that is specific to their organization or tool.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Origin describes the source of the analysis or transformation

I feel like it should always be the source of the analysis and never the transformation.

Let's consider the custom codemod use case. If a user develops a custom Sonar codemod and wants to use it with our platform, the origin better be "sonar", or our platform will not consider it to be a Sonar codemod that gets access to Sonar results.

If you agree, then can we rename this to scanner()? I have come across places in our platform where we actually translate "origin" to "scanner", and I think the latter makes more sense.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't like scanner because there's no reason codemodder couldn't take input from non-scanner sources of code information, like observability tools, IAST, etc.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

detector?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like detector. This fits with the way we talk about it in codemodder architecture.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I love it when we use the same words everywhere 😊

codetf.md Outdated Show resolved Hide resolved
codetf.md Outdated

Each component of the ID has a particular meaning:

* `<origin>`: Origin describes the source of the analysis or transformation. For example, "find and fix" codemods provided by Pixee are labelled with the origin "pixee". Codemods that remediate issues found by a static analysis tool might be labelled with the origin corresponding to that tool name (e.g. "semgrep" or "codeql"). Implementers of custom codemods may use a unique identifier that is specific to their organization or tool.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Codemods that remediate issues found by a static analysis tool

Our docs use the term fix only codemods, but I don't think that has stuck.

@drdavella drdavella requested a review from gilday July 22, 2024 19:49
@drdavella drdavella merged commit 98fe0ce into main Jul 22, 2024
2 checks passed
@drdavella drdavella deleted the codemod-id branch July 22, 2024 19:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants