Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| coverityprevent [2020/02/05 20:31] – Add a link to the Checker Reference PedroGiffuni | coverityprevent [2020/10/31 01:53] (current) – Remove hyperlink from a broken link. SashaVigole | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ---- | + | ====== Coverity ====== |
| - | | If in doubt, **do not** classify! | + | The %%FreeBSD%% Project uses the [[https:// |
| - | ---- | + | ===== Getting Access ===== |
| + | |||
| + | * Browse to [[https:// | ||
| + | * Click //Sign Up// | ||
| + | \\ | ||
| + | **Note 1**: At this time, we only provide access to view scan results to %%FreeBSD%% developers.\\ | ||
| + | **Note 2**: If you are a %%FreeBSD%% developer, please register using your %%FreeBSD%%.org email address | ||
| + | |||
| + | ===== Using Coverity Scan ===== | ||
| + | |||
| + | <callout type=" | ||
| + | If in doubt, do **not** classify any issues in the dashboard | ||
| + | |||
| + | </ | ||
| + | |||
| + | * When fixing a Coverity issue: | ||
| + | |||
| + | | ||
| + | | ||
| + | | ||
| + | - Ensure all relevent stable/ | ||
| + | |||
| + | ===== Improving Result Quality ===== | ||
| + | |||
| + | Static code analysis has some limitations in its ability to understand certain dynamic operations. This limitation may result in falsely detecting defects. Since most false-positive defects are caused by few functions in your code base, Coverity allows you to tell the analysis engine to treat these functions differently. This is called a Modeling File. By providing a modeling file, most projects reduce their false-positive rate to the ballpark of 10%. | ||
| + | |||
| + | ==== Modeling ==== | ||
| + | |||
| + | * '' | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | |||
| + | ==== Modeling File Examples ==== | ||
| + | |||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | |||
| + | ===== TODO ===== | ||
| + | |||
| + | ==== TAILQ Macro model ==== | ||
| - | ====== Using Coverity | + | It seems that the TAILQ macros confuse |
| - | https:// | + | Such cases should be marked as XXX (at the moment marked as IGNORE until we determine if it should be marked as a FALSE or if this should stay as IGNORE until a custom model is developed for this). |
| - | ===== Hints, Tips and Tricks ===== | + | TODO: Model for TAILQ macros added to Modelling File |
| - | When you classified a valid problem, please search in [[https:// | + | ==== UMA Model ==== |
| - | Stuff which is supposed to help in classifying errors to be added here, e.g. showing an example of stuff Coverity Prevent gets always wrong and how it should be classified. | + | ===== References ===== |
| - | * It seems that the TAILQ macros confuse Coverity. For example TAILQ_FIRST() seems to trigger an use after free error in //%%< | + | * [[https://devguide.python.org/coverity/|CPython DevGuide: |
| - | ===== Checker Reference | + | ===== Contact |
| - | Once signed in, there is a [[https:// | + | Coverity Administrators: |
| - | ====== TODO ====== | + | * KubilayKocak |
| - | * determine initial list of subsystems which need custom models (= with frequent false positives) and add them below (no owner) | + | * UlrichSpoerlein |
| - | * write custom models for: | + | * Email: < |
| - | * TAILQ macros (no owner) | + | |
| - | * UMA (no owner) | + | |
| ---- | ---- | ||
| - | {{tag>Project}} | + | {{tag>Services Security}} |