ãã®è¨äºã¯ãC++ã®ã«ã¬ã³ãã¼ | Advent Calendar 2021 - Qiitaãã®9æ¥ç®ã§ãã Infer ã¨ã¯ Infer 㯠Facebook 社æ¹ã Meta 社ãä½ã£ãéçè§£æãã¼ã«ã§ãã ä»å㯠C++ Advent Calendar ã¨ãããã¨ã§ C++ ã®éçè§£æãã¼ã«ã¨ãã¦ç´¹ä»ãã¾ãããInfer èªä½ã¯ OCaml ã§æ¸ããã¦ãã¾ãã ã¾ããC++ ã®ä»ã« Java/C/Objective-C ã®è§£æãå¯è½ã§ãã C++ ã®éçè§£æãã¼ã«ã¨ãã㨠Cppcheck ã Coverity ãã³ã³ãã¤ã©ä»å±ã®ãã®ããã£ãããã¾ããçè ã¯ããã¾ã§ãããã®ãã¼ã«ã使ã£ã¦ãã¾ããã Infer 㯠2015 å¹´ã«OSSåãã¦å ¬éãããã®ã§ããããã£ã¨ä½¿ã£ã¦ã¿ããã¨æãã¤ã¤æ©ä¼ãããã¾ããã§ããã ä»åãããã¦è¨äºã«ãã¦ããã®ã¯ãä»äºã§å¿ è¦ã«ãªã£ãããã¨ãè¶£å³ã§ããæ°ã«
ããªãã«ã¨ã£ã¦éè¦ãªãããã¯ãååã®ææ°æ å ±ãå ¥æãã¾ãããææ°ã®æ´å¯ã¨ãã¬ã³ãã«é¢ããææ°æ å ±ãå³åº§ã«åãåãã¾ãããã ç¶ç¶çãªå¦ç¿ã®ããã«ãç¡æã®ãªã½ã¼ã¹ã«æè»½ã«ã¢ã¯ã»ã¹ãã¾ãããããããã¯ããã©ã³ã¹ã¯ãªããä»ãåç»ãããã³ãã¬ã¼ãã³ã°ææã è¨äºãä¿åãã¦ããã¤ã§ãèªããã¨ãã§ãã¾ãè¨äºãããã¯ãã¼ã¯ãã¦ãæºåãã§ããããã¤ã§ãèªãã¾ãã
Separation logic Bi-abduction Technical papers Separation logic Separation logic is a novel kind of mathematical logic which facilitates reasoning about mutations to computer memory. It enables scalability by breaking reasoning into chunks corresponding to local operations on memory, and then composing the reasoning chunks together. Separation logic is based on a logical connective \( * \) called
Cè¨èªã®éçèªåæ¤è¨¼å¨ã§ãã Infer ã®ä½¿ãæ¹ãããç¨åº¦åãã£ã¦ããã®ã§ç´¹ä»ãã¾ãã Infer Infer ã¯ãCè¨èª(or [C++, Obj-C, Java])ã®æ¤è¨¼å¨ã§ã èªåã§ç¹å®ã®ç¨®é¡ã®ãã°ãçºè¦ãã¦ããã¾ããçºè¦ã§ãããã°ã¨ãã¦åããæãä¾ã§ã¯ãªã½ã¼ã¹ãªã¼ã¯ãçºè¦ã§ãã¾ãã å ã Inferãéçºããä¼ç¤¾ãFacebookãè²·åãã¦ãªã¼ãã³ã½ã¼ã¹ã«ãªãã¾ããã(https://github.com/facebook/infer) ã¹ãã¼ããã©ã³åãã¢ããªã®æ¤è¨¼ã«ä½¿ã£ã¦ããããã§ãã 追è¨: åéããã¦ã¾ããã C++ãµãã¼ãã¯ããããã®ããã§ãã> https://github.com/facebook/infer/issues/24 Separation Logic(åé¢è«ç) Inferã¯Separation logicã¨ããæå³è«ã«æ²¿ã£ã¦éçæ¤è¨¼ãå®è¡ãã¾ããSepa
A tool to detect bugs in Java and C/C++/Objective-C code before it shipsInfer is a static analysis tool - if you give Infer some Java or C/C++/Objective-C code it produces a list of potential bugs. Anyone can use Infer to intercept critical bugs before they have shipped to users, and help prevent crashes or poor performance.
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}