1"use strict";(globalThis.webpackChunk=globalThis.webpackChunk||[]).push([[6241],{4166(e,n,t){t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>s,toc:()=>a});const s=JSON.parse('{"id":"checker-config-impact-analysis","title":"Config Impact Analysis","description":"[EXPERIMENTAL] Collects function that are called without config checks.","source":"@site/versioned_docs/version-1.1.0/checker-config-impact-analysis.md","sourceDirName":".","slug":"/checker-config-impact-analysis","permalink":"/docs/1.1.0/checker-config-impact-analysis","draft":false,"unlisted":false,"tags":[],"version":"1.1.0","frontMatter":{"title":"Config Impact Analysis","description":"[EXPERIMENTAL] Collects function that are called without config checks."},"sidebar":"docs","previous":{"title":"Config Checks between Markers","permalink":"/docs/1.1.0/checker-config-checks-between-markers"},"next":{"title":"Cost: Runtime Complexity Analysis","permalink":"/docs/1.1.0/checker-cost"}}');var i=t(4848),c=t(8453);const o={title:"Config Impact Analysis",description:"[EXPERIMENTAL] Collects function that are called without config checks."},r=void 0,l={},a=[{value:"List of Issue Types",id:"list-of-issue-types",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",li:"li",p:"p",ul:"ul",...(0,c.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:"[EXPERIMENTAL] Collects function that are called without config checks."}),"\n",(0,i.jsxs)(n.p,{children:["Activate with ",(0,i.jsx)(n.code,{children:"--config-impact-analysis"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"Supported languages:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"C/C++/ObjC: Experimental"}),"\n",(0,i.jsx)(n.li,{children:"Java: Experimental"}),"\n",(0,i.jsx)(n.li,{children:"C#/.Net: Experimental"}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["This checker collects functions whose execution isn't gated by certain pre-defined gating functions. The set of gating functions is hardcoded and empty by default for now, so to use this checker, please modify the code directly in ",(0,i.jsx)(n.a,{href:"https://github.com/facebook/infer/tree/main/infer/src/opensource",children:"FbGKInteraction.ml"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"list-of-issue-types",children:"List of Issue Types"}),"\n",(0,i.jsx)(n.p,{children:"The following issue types are reported by this checker:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"/docs/1.1.0/all-issue-types#config_impact",children:"CONFIG_IMPACT"})}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,c.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},8453(e,n,t){t.d(n,{R:()=>o,x:()=>r});var s=t(6540);const i={},c=s.createContext(i);function o(e){const n=s.useContext(c);return s.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),s.createElement(c.Provider,{value:n},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.