-
-
Notifications
You must be signed in to change notification settings - Fork 92
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
5b76c28
commit 26c77b9
Showing
4 changed files
with
39 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
# Analyzer Guidance | ||
|
||
This document provides guidance when implementing an analyzer. | ||
|
||
## General | ||
|
||
- Analyze _all_ submitted files, except tests/invalidator/editor/example/exemplar files | ||
- Don't aim for 100% correctness, which will be near impossible to achieve. | ||
It's okay if the analyzer can't find all issues or is unable to infer certain tags. | ||
|
||
## Compilation | ||
|
||
If your language requires a compilation step, also consider these points: | ||
|
||
- Consider compiling the solution to allow for higher fidelity. | ||
With compiled languages, only when the code has been compiled will you be able to conclusively know what types are used in what locations. | ||
Do be aware of the trade-offs (e.g. slower to run and more memory usage). | ||
- Consider in-memory compilation (if possible), to improve performance. | ||
|
||
## Testing | ||
|
||
- Have an extensive test suite | ||
- Use golden tests to verify the behavior of the analyzer. | ||
These tests should use the Docker image that will be deployed to verify the analyzer. | ||
- Consider having tests for each approach. | ||
You want the analyzer to work well for these solutions, and it will help assigning tags to the approaches later on. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters