Commit Graph

1004 Commits (400b4eba99d791389c757a35b4a9875e97b388da)

Author SHA1 Message Date
Mehdi Bouaziz 10804588b2 New function pointer preanalysis without recursion 6 years ago
Sungkeun Cho 0ce0ec03d9 [inferbo] Support global constant 6 years ago
Jules Villard 6cce767d19 [pulse] copy tests from ownership 6 years ago
Jules Villard cf66ea0afb [pulse] havoc vector array on push_back 6 years ago
Jules Villard 6d6ac1d368 [pulse] do not use access paths as they forget about &/* 6 years ago
Jules Villard f5786c444b [pulse] use after free 6 years ago
Jules Villard 38ced865f3 [pulse] more issue types and add details about why locations get invalidated 6 years ago
Mehdi Bouaziz ecedb27d77 Add missing FB copyrights 6 years ago
Daiva Naudziuniene 5dab665fc2 [pulse] Model placement new 6 years ago
Daiva Naudziuniene 50da07e922 [pulse] Invalidate addresses for destructors 6 years ago
Sungkeun Cho 85ef451701 [infer] Use integer widths on constructing Sizeof exp 6 years ago
Jules Villard 497720386e [pulse] join of memory graphs 6 years ago
Sungkeun Cho cd1981a567 [inferbo] Change pp of BinaryOperationCondition 6 years ago
Jules Villard 47867a8fdc [pulse] rename `Location` -> `Address` and better reporting 6 years ago
Jules Villard dd220a0fb4 [pulse] vector models 6 years ago
Jules Villard ad98ffa22b [pulse] more aggressive join 6 years ago
Sungkeun Cho fb4086c6f6 [inferbo] Add integer overflow issue type 6 years ago
Jules Villard 3821be4b7f [pulse] fix compilation error in test 6 years ago
Jules Villard d28d0528d1 [pulse] initial commit 6 years ago
Sungkeun Cho fd660f42f5 [inferbo] Suppress exception on placement new 6 years ago
Mehdi Bouaziz 5679105c15 [Uninit][7/13] Add new tests 6 years ago
Mehdi Bouaziz 8cac7df447 [Uninit][1/13] Move interproc tests 6 years ago
Sungkeun Cho 1330475032 [infer] Fix placement_new translation 6 years ago
Sungkeun Cho f4ee2a0234 [inferbo] Revise placement new model 6 years ago
Jules Villard 7615963bf4 [proc-cfg][2/5] fix duplicate symbols detection 6 years ago
Jules Villard 116ec5ae55 [clang] changes to accomodate the new version of clang 6 years ago
Julian Sutherland 93690dfa0e Check that the end the traces of inferBO and quandary issues match before matching them to form an quandaryBO issue 6 years ago
Jules Villard a29e769b61 [kill -a][1/4] stop using `-a foo` in the infer repo 6 years ago
Mehdi Bouaziz 82a7f14f90 QuandaryBO issue filtering: fix --no-filtering behavior 6 years ago
Julian Sutherland 0e9d8380c2 filter issues correctly 6 years ago
Dino Distefano 3c04f32709 hadoc const version 6 years ago
Julian Sutherland 60784ad045 Updated QuandaryBO issue matching. 6 years ago
Julian Sutherland f6afe3a092 quandaryBO now filters out quandary and inferBO errors if they are not enabled. 6 years ago
Julian Sutherland 949aae560b Added traces to QuandaryBO errors 6 years ago
Mehdi Bouaziz d9fb7b3004 ProcAttributes: removed unused by_vals 6 years ago
Julian Sutherland 16c70d1c23 Fixed a bug that caused the stride of symbolic arrays to not be set. 6 years ago
Dino Distefano 21145c75c9 Added new predicate is_const_expr() 6 years ago
Daiva Naudziuniene 0bbeb85295 [ownership] Stack reference wrapper example 6 years ago
Julian Sutherland e715d48c12 QuandaryBO 6 years ago
Mehdi Bouaziz 9318a22b29 Update plugin 6 years ago
Daiva Naudziuniene e5b38a42d8 [ownership] More examples 6 years ago
Daiva Naudziuniene 2a35d6579b [dead store] Removed special case for constexpr in lambda captures 6 years ago
Julian Sutherland 34b0a6165c Added new issues to differentiate tainted buffer accesses and heap allocations 6 years ago
Julian Sutherland 7fc29b3248 Added unit tests for function pointers 6 years ago
Daiva Naudziuniene bfab195d08 [dead store] Do not report dead stores on constexpr 6 years ago
Jules Villard 5894258f43 [ownership] do not warn on returning ref to outer local 6 years ago
Daiva Naudziuniene 8e753c2b74 [deadstore] Do not report on __tmp 6 years ago
Mehdi Bouaziz b4b54025bf Remove C++ mutex DOUBLE_LOCK checker 6 years ago
Mehdi Bouaziz 5817ff6adc [inferbo] Do not re-report issues if the precision hasn't improved 6 years ago
Mehdi Bouaziz 693089ab08 [inferbo] Alloc site in the trace for INFERBO_ALLOC_xx issues 6 years ago
Dino Distefano 370f33c8dc Added predicate for CXX11ConstantExpr 6 years ago
Mehdi Bouaziz 07f22daada [inferbo] Report calls without () 6 years ago
Julian Sutherland b7c90c3fe0 Fixed incorrect reporting of tainted index in function call by quandary 6 years ago
Daiva Naudziuniene e8c5a84acd [Ownership] Add ownership to return param 6 years ago
Mehdi Bouaziz ad986dffde Get rid of Declare_locals 6 years ago
Mehdi Bouaziz 12c0e245c6 [Inferbo] Simplify interval pretty-print 6 years ago
Dino Distefano 4065b76663 Fixed has_type for iterator type 6 years ago
Ezgi Çiçek 0a668c2161 [DEAD_STORE] Capture `constexpr`s in lambdas 6 years ago
Daiva Naudziuniene ba4f33089e [stack variable address escape] Do not report on temporary variables 6 years ago
Dino Distefano 1efc44c27f Fix has_type when used in the context of namespace 6 years ago
Martino Luca cccef6261d Revert "[Perf] Add cost information to the hashing function" 6 years ago
Martino Luca ac64be761f [Perf] Add cost information to the hashing function 6 years ago
Daiva Naudziuniene 84cfd0a450 [frontend] Do not create exceptional successors for return nodes 6 years ago
Dino Distefano b215cdbff4 Fixed problem with expasion of %name% placeholder 6 years ago
Kai Yang 2d73494e87 Add is_static_local_var predicate 7 years ago
Nikos Gorogiannis d4a9c6f81a [racerd] gate stability 7 years ago
Jules Villard 6f3719f5f2 [siof] do not warn on simply taking reference of global 7 years ago
Jules Villard 2c8d7a2046 [clang] support `SubstNonTypeTemplateParmExpr` 7 years ago
Mehdi Bouaziz bea71d9168 Inferbo/perf: path rather than symbols 7 years ago
Daiva Naudziuniene 1e2e9b6d11 [clang frontent] Fix translation of binary operator 7 years ago
Nikos Gorogiannis 848ef3da21 [RacerD] Fix stability implementation 7 years ago
Nikos Gorogiannis f28aa37cb6 [racerd] Do not record paths starting at variables not appearing in source 7 years ago
Dulma Churchill 91e0a7d1a3 [IR] Take parameters into account in to_filename method 7 years ago
Daiva Naudziuniene 9738f9821e [frontend] Translating ToVoid cast 7 years ago
Daiva Naudziuniene 18b3a465d2 [uninit] Report on unitialized expressions in conditions 7 years ago
Dulma Churchill 79a8f8716c [clang] Adding parameters as part of the procname for C++/ObjC methods and ObjC blocks 7 years ago
Daiva Naudziuniene be754c1558 [bi-abduction] Do not treat for union fields as uninitialized 7 years ago
Daiva Naudziuniene 610ed0c885 [uninit] Filter out fields if they come from unions 7 years ago
Jules Villard 30c470eb48 [tests] record error bucket in expected output 7 years ago
Jules Villard 8b882ac1df Change license to MIT 7 years ago
Daiva Naudziuniene d7d3e16d6f [uninit] Enable reporting on uninitialized pointers 7 years ago
Jules Villard fecabb3bf3 [siof] do not report on standard streams 7 years ago
Daiva Naudziuniene 736badbb2f [uninit] Fix false positive that includes array element passed by reference 7 years ago
Sam Blackshear 9ca945aa2f [ownership] warn when returning references to borrowed values 7 years ago
Daiva Naudziuniene 8ccf4897dd [uninit] Use access expressions 7 years ago
Jules Villard 8715c4f892 [clang] make switch statement translation more robust 7 years ago
Daiva Naudziuniene 9e1678ec65 [uninit] Check the type of whole lhs rather than the base of lhs 7 years ago
Sam Blackshear 5ed2016899 [clang] basic support for exceptional control-flow 7 years ago
Sam Blackshear 85b8087f66 [quandary] de-prioritize command line flag sources 7 years ago
Oliver Castillo fb4e7ee4a4 [infer][PR] Fix spelling errors 7 years ago
Jules Villard 766a16cd90 [clang] enforce that `instruction` always returns one SIL expression 7 years ago
Dulma Churchill afe511b53d [biabduction] Support finding skip reasons from attributes for clang too 7 years ago
Jules Villard dfe2ad5229 [camel] call `Format.pp_print_*` directly where appropriate 7 years ago
Ezgi Çiçek fcb83a949f implement missing CXXInheritedCtorInitExpr 7 years ago
Nikos Gorogiannis c104ea11dc [racerd] switch to external issue logs 7 years ago
Nikos Gorogiannis bef38bbf1a [racerd] recognise std::lock calls 7 years ago
Jules Villard 902de9d6e3 [sil] make return value and type mandatory 7 years ago
Jules Villard 0bbdf63957 [clang] do not attempt to translate pointer to member constructs 7 years ago
Dino Distefano d4337abcb4 Added predicate for C++ copy constructors 7 years ago
Sam Blackshear d718275402 [quandary] fix test expected output 7 years ago
Sam Blackshear 6b8900746b [quandary] only treat overrides of service methods as endpoints 7 years ago
Jules Villard 4b4517e8ec [clang] call a skip function in case of unimplemented feature 7 years ago
Jules Villard d92e82b379 [clang] fix translation of `UserDefinedLiteral` 7 years ago
Sam Blackshear ffba5de70c [quandary] distinguish between SQL reads and writes 7 years ago
Dulma Churchill 69392d4192 [biabduction] Log reasons for skipping also in non Java context 7 years ago
Jules Villard 73a47d594c [debug] print procedures in alphabetical order in cfgs 7 years ago
Ezgi Çiçek 523c2f539b change clang translation to track if_kind (i.e. the type of prune node) 7 years ago
Daiva Naudziuniene 94aae8713e [biabduction] Fix lookup of abduced expression 7 years ago
Jules Villard dee7414aa9 [inferbo] do not include location information in the bug description 7 years ago
Dino Distefano 3b608695af Improving treatment of default constructor 7 years ago
Mehdi Bouaziz e9a3913fdb [Inferbo] Do not propagate all safety conditions 7 years ago
Sungkeun Cho e12a4a1071 [inferbo] Add traces in lift functions 7 years ago
Sam Blackshear 94c2cd1d3b [ownership] tests for pointer arithmetic 7 years ago
Sam Blackshear 9180ff56c1 [ownership] handle new kinds of access expressions 7 years ago
Daiva Naudziuniene 681f2a56ab [HIL] Explicit dereference 7 years ago
Sungkeun Cho d15894c78a [inferbo] Add tests for relational analysis 7 years ago
Sam Blackshear 33fe8879a5 [quandary] report flows originating from `UserControlledEndpoint` as `_RISK` 7 years ago
Sam Blackshear f621dda0be [infer][clang] models off-by-default 7 years ago
Sam Blackshear 44e5d0564b [ownership] fix false positives on aggregate locals in loops 7 years ago
Sam Blackshear 7efb5cb549 [ownership] allow placement new on non-var expressions 7 years ago
Sam Blackshear 57a8c2f594 [quandary] don't taint dummy Thrift `_return` formals 7 years ago
Sam Blackshear 6b3282f619 [ownership] First parameter to constructor is read, not written 7 years ago
Sam Blackshear f8dfc2305e [ownership] simple 2-step traces 7 years ago
Sam Blackshear ec73adc66d [ownership] support placement new 7 years ago
Sam Blackshear 6d46b0c7be [cleanup] stop printing `&`'s on `Var.t`'s 7 years ago
Sungkeun Cho bd040cf696 [inferbo] Add an issue type for alarms by unknown function call 7 years ago
Sam Blackshear 12ad6c11c1 [ownership] return bottom on early exit or thrown exception 7 years ago
Sam Blackshear 3a40afcd22 [ownership] directly assigning any field of an aggregate struct counts as initialization 7 years ago
Sam Blackshear 6976181b77 [ownership] special-case frontend-generated inner destructors. 7 years ago
Daiva Naudziuniene 9d844b707a Use after free false postives due to missing operator++ of hash map iterator 7 years ago
Jeremy Dubreil d74f189dfe [infer] add the report kind to the list of expected output 7 years ago
Sam Blackshear 1977fefaab [ownership] assume operator= borrows for function types, copies for other types 7 years ago
Mehdi Bouaziz 6f4c08f798 [inferbo][trace] Trace element for Unknown values 7 years ago
Mehdi Bouaziz 72ec9516d4 [inferbo][trace] Show some SymAssigns 7 years ago
Mehdi Bouaziz 55fee73669 [inferbo][traces] Nits 7 years ago
Sungkeun Cho 469a5f64ed [inferbo] Simplify realloc model 7 years ago
Daiva Naudziuniene 4157ba820a [HIL] Implicit dereference in access expression 7 years ago
Sam Blackshear a0149872ad [ownership] report invocation of lambdas capturing a var whose lifetime is over 7 years ago
Sungkeun Cho d6740e94b2 [inferbo] Collect array accesses from sub expressions 7 years ago
Sungkeun Cho e537f8f383 [inferbo] Revise realloc semantics 7 years ago
Jeremy Dubreil b4b901c725 [infer][scheduler] always return None when the method is already being analyzed 7 years ago
Sam Blackshear 58adf8dd52 [ownership] implementing borrowing 7 years ago
Sungkeun Cho 6bacdf4a4d [inferbo] Return newly allocated locations in callees 7 years ago
Sam Blackshear e687ef40b3 [dead stores] report on dead stores to values captured by value in a lambda 7 years ago
Sam Blackshear aca9d034a7 [clang] translate capture-by-reference correctly 7 years ago
Sungkeun Cho e304b511fa [inferbo][bugfix] Declare parameter of flexible array member 7 years ago
Jules Villard 098b0700c2 [clang] upgrade internal clang 7 years ago
Sam Blackshear dedabf71e2 [liveness] don't report on dead stores of variables captured by reference in a lambda 7 years ago
Sungkeun Cho f55f382a78 [inferbo] Support flexible array member 7 years ago
Sungkeun Cho 3ef619ef14 [inferbo] Add a model for "placement new" 7 years ago
Sungkeun Cho 4299848dad [inferbo] Initialize array member in class 7 years ago
Sungkeun Cho 077d2ae2f5 [infer] Disable sorting fields 7 years ago
Sam Blackshear 4485e97bee [ownership] report use after destructor 7 years ago
Sungkeun Cho f2b2041baf [inferbo] Precise symbol instantiation 7 years ago
Sam Blackshear d76d20a9ca [ownership] prototype of ownership analysis for tracking reads/moves 7 years ago
Daiva Naudziuniene 1401696119 [destructors] Inject destructor calls even if the destructor declaration is empty 7 years ago
Sungkeun Cho ebddb14206 [inferbo] Prune by assert 7 years ago
Sam Blackshear 9366e8dbc8 [clang] add id -> pvar bindings to C++ lambda capture 7 years ago
Sungkeun Cho c514b19786 [inferbo] Add new operator model 7 years ago
Jeremy Dubreil 2288e66063 [infer][nullable checker] treat all aliases as not null when one is checked for null 7 years ago
Sam Blackshear 3d170a82c4 [clang] translate lambdas that capture `this` 7 years ago
Daiva Naudziuniene 14445fad05 [bi-abduction] Do not abduce reference parameters constraints for recursive calls 7 years ago
Jeremy Dubreil 2228f7448d [infer][nullable checker] add tests for the early return 7 years ago
Sam Blackshear 584b10647d [racerd] new lock domain 7 years ago
Sam Blackshear 71a3843746 Revert occurence counting change 7 years ago
Daiva Naudziuniene ec263afe58 [clang frontend] placement new 7 years ago
Jeremy Dubreil 96ca6b6f02 [infer][bug hash] take the number of occurences of a report into account 7 years ago
Jules Villard 6b5390fe79 [cfg] rename iCFG to cfg in dotty files 7 years ago
Mehdi Bouaziz 4ed3be9f00 [inferbo] First models for std::array 7 years ago
Sam Blackshear fb7556816f [quandary] report gflags to shell exec, but not file or url creation 7 years ago
Radu Grigore eb91d59e40 [infer][PR] Fixed namespace for Java globals. 7 years ago
Sam Blackshear f5e7a6e6d7 [quandary] print index(es) of tainted parameters at each call 7 years ago
Sam Blackshear 7f62154318 [quandary] separate sanitizers for different kinds of escaping 7 years ago
Dino Distefano d83a9445f1 First extension to uninit inter-procedural analysis 7 years ago
Mehdi Bouaziz 3fc41af811 [inferbo] Model for folly::split 7 years ago
Dino Distefano e3e2fb22a1 Change pattern-matching order 7 years ago
Sam Blackshear 82a3b2649e [quandary] only warn on shell/sql injection from stringy gflag sources 7 years ago
Jeremy Dubreil 32deab86bd [infer][nullable checker] avoid reporting the nullable violations that are already reported by the biabduction analysis 7 years ago
Sam Blackshear d6ed9e3bbe [liveness] remove special-casing for destructor reads 7 years ago
Sam Blackshear 32675a7b02 [quandary] improve curl_easy_setopt sink 7 years ago
Sam Blackshear d3f4043bc0 [quandary] curl function for setting URL as sink 7 years ago
Jules Villard 1f3cae9fa4 [make] some missing dependencies 7 years ago
Daiva Naudziuniene d8a004f0cc [LockConsistency] Adding conditional ownership to the rest of the formal parameters of constructors. 7 years ago
Sam Blackshear 647e1cd62d [dead stores] config file for custom scope guard types 7 years ago
Sam Blackshear 6abbe66ee6 [quandary] file creation as sink 7 years ago
Sam Blackshear 19824aa27b [quandary] don't taint this var of endpoints 7 years ago
Jeremy Dubreil 75de2006dd [infer] make sure adding or removing parameters does not affect the bug hash on Objective C methods 7 years ago
Sam Blackshear 6799e7a7fb [dead stores] whitelist more RAII guard types 7 years ago
Mehdi Bouaziz 1a117d7e09 Fix unique_ptr model 7 years ago
Jeremy Dubreil 3e94c868f4 [infer] use the classname without the package name to compute the bug hash 7 years ago
Jeremy Dubreil ea29749671 [infer] simpler bug hash 7 years ago
Daiva Naudziuniene 9e2ecac204 [LockConsistency] Add ownership to container accesses for cpp 7 years ago
Sam Blackshear 74670cb0ba [dead stores] don't warn on dead stores of ScopeGuard's 7 years ago
Jeremy Dubreil 7b8a5a1a2b [infer] always run all the pre-analysis passes independently form the checkers that are being run 7 years ago
Sam Blackshear 8d0f141974 [dead stores] identify dead stores involving struct values 7 years ago
Sam Blackshear 087ff08b82 [quandary] eliminate spammy soft error for bad return summary 7 years ago
Dino Distefano dfb8b421ac Extending uninit to struct 7 years ago
Sam Blackshear 164fa457e9 [quandary] treat any non-primitive endpoint formal as a source 7 years ago
Dulma Churchill 45df254a99 [infer][PR] [C/C++] Encode filename into the Procname of global initializers 7 years ago
Jeremy Dubreil 956d6d0a1d [infer][nullable checker] better error messages for nullable violations involving Clang materialized variables 7 years ago
Sam Blackshear 8665386b8a [quandary] report USER_CONTROLLED_SQL_RISK on flows from endpoint -> SQL 7 years ago
Sam Blackshear eb0a457b02 [clang] translate TypeAliasDecl 7 years ago
Sam Blackshear d90bc24657 [clang] translate UsingDecl 7 years ago
Sam Blackshear 97f3af15f3 [quandary] support multiple sanitizer kinds in C++ 7 years ago
Sam Blackshear faef207d62 [quandary] propagate taint across unary/binary operators 7 years ago
Daiva Naudziuniene e07a20ea6d [reporting] Report access path from the initial sink rather than the final sink. 7 years ago
Dino Distefano aa54b1b035 Extending uninit analysis to struct 7 years ago
Jeremy Dubreil 4a1eae048a [infer][clang] fix unitialized value false positive for values not initialized in the throw branch 7 years ago
Daiva Naudziuniene ff475e43e4 [LockConsistency] Do not merge read/write with container read/write 7 years ago
Jeremy Dubreil ebea2a6ba1 [infer][clang] the nullable checker should not warn on pointer re-assignment 7 years ago
Sam Blackshear 29fe7d1689 [quandary] thrift services as sources + remote code execution risk issue type 7 years ago
Jules Villard 525a94e470 [siof] do not generate dummy derefs in initializer code 7 years ago
Jules Villard 0f1bdf664d [clang] static data members are external globals unless defined in the file 7 years ago
Jeremy Dubreil b3f75da37e [infer][nullable checker] only report once when the return of a nullable method is derferenced several times 7 years ago
Dino Distefano ce711d7e8a [uninit] Reporting parameters calls which are not passed by reference 7 years ago
Jeremy Dubreil d85d185402 [infer][java] Enable the @Nullable checker on Java 7 years ago
Jeremy Dubreil 5e1b7faf97 [infer][clang] the nullable checker should not report on methods that have already been checked for null 7 years ago
Sam Blackshear ad522a8b19 [dead stores] don't warn on likely-harmless dead stores to default values 7 years ago
Daiva Naudziuniene ccd2c76344 [LockConsistency] Adding ownership of locals for c-style functions 7 years ago
Sungkeun Cho 042dd7d9cb [inferbo] revise semantics of vector::data 7 years ago
Sam Blackshear 5e910929be [quandary] handle taint propagation in copying of structs/via derefs of pointers to structs 7 years ago
Daiva Naudziuniene 535ba01a25 [LockConsistency] Model std::unique_lock::try_lock 7 years ago
Josh Berdine 149deb97ed [thread-safety][c++] Model std::unique_lock::owns_lock 7 years ago
Josh Berdine 3bab37b261 [thread-safety][c++] Change to LOCK_CONSISTENCY_VIOLATION issue type 7 years ago
Sam Blackshear 67c45bed78 [quandary] fix invariant 1: "sink(s) with only non-footprint source" violations 7 years ago
Dino Distefano a75073907c Fix uninit for temp variables 7 years ago
Sam Blackshear 5f6d3a0d7f [quandary] new issue type for untrusted variable length array creation 7 years ago
Sam Blackshear 6ea6c74a5c [quandary] add new issue types for sql injection and shell injection 7 years ago
Sam Blackshear 5e9e96a342 [hil] don't crash on deref of magic address 7 years ago
Jeremy Dubreil c4949f372e [infer][clang] the nullability checker was not reporting when dereferencing a field of a nullable object 7 years ago
Jeremy Dubreil 55c585e1e0 [infer][biabduction] remove the bi-abduction based check for uninitialized values 7 years ago
Sam Blackshear d2433476a5 [quandary] fix heuristic for recognizing buffer access 7 years ago
Josh Berdine 6f8f7140bb [frontend][tests] Record test form ptr_mem.cpp 7 years ago
Josh Berdine c1e742536d [frontend][c++] Translate pointer-to-member expressions 7 years ago
Sam Blackshear bc02bee737 [cleanup] rename thread-safety analysis 7 years ago
Jules Villard 588142c908 [checkers] enable biabduction by default + docs and logs improvements 7 years ago
Dulma Churchill 1bc62212ba [tests] Fix test broken in master 7 years ago
Dino Distefano f87447ba52 Uninitialized value/variable checker 7 years ago
Sungkeun Cho eb0c727fdf [inferbo] Add symbol for unsigned int 7 years ago
Jules Villard b95f29c8d1 various minor improvements 7 years ago
Sam Blackshear c2c1679a5f [inferprint] fix template deduplication 7 years ago
Daiva Naudziuniene 3001cb6323 [threadsafety] Add ownership on stack-allocated variables in cpp 7 years ago
Sam Blackshear b57084902d [thread-safety] better error messages for write-write races that are distinct, but conflicting writes rather than self-races 7 years ago
Jeremy Dubreil 923a15fa60 [infer][clang] initial version of a nullable checker for Clang languages 7 years ago
Mehdi Bouaziz 3b2e9c78de [clang trans] Simplify translation of if(not expr) 7 years ago
Mehdi Bouaziz 093bf285cc [inferbo] Do not report subsumed issues 7 years ago
Sungkeun Cho 54de59919e [inferbo] Prune vector's size by vector::empty() condition check 7 years ago
Kyriakos Nikolaos Gkorogiannis 9e1d96c1f2 [threadsafety] Fix exception thrown by list of actuals and formals not having the same length in some cases (C++?) 7 years ago
Jules Villard 2d644b36af [clang] do not translate dependent types 7 years ago
Mehdi Bouaziz eff7bb5bdf [inferbo] Replace buckets with issue types 7 years ago
Josh Berdine 96af301910 [thread-safety] More informative printing of access paths 7 years ago
Mehdi Bouaziz 22c0520b46 [inferbo] Do not report duplicate issues 7 years ago
Jules Villard 22aca7494b [siof] understand that <iostream> initialises streams 7 years ago
Jules Villard 94e7a7b141 [siof] one access per sink, better report deduplication 7 years ago
Sam Blackshear 14d0e2a786 [thread-safety] remove custom compare for AccessListMap 7 years ago
Jeremy Dubreil ba6ef4f5b2 [infer][clang] run the C++ tests using the checkers analyzer 7 years ago
Jeremy Dubreil 5e18a19bfd [infer][test] the ThreadSafety cpp tests should not run in debug mode 7 years ago
Jeremy Dubreil a7e6ba7b2b [infer][java] add support for @Nonnull on skipped functions 7 years ago
Jeremy Dubreil 14d01620d2 [infer][objc] example of nullable annotation suggestion on Objective C 7 years ago
Sungkeun Cho 9f9dbdb914 [Inferbo] Extend abstract domain for vector::empty 7 years ago
Jules Villard abee644b91 [clang] update clang plugin to hash mangled names 7 years ago
Jules Villard d2b4f3c8da [config] add option to force deletion of results dir 7 years ago
Jules Villard 72b1ac4b5a Turn off --keep-going by default 7 years ago
Jeremy Dubreil 2294bfda8f [infer][test] update the shared pointer test names 7 years ago
Jeremy Dubreil b63f5d7c00 [infer][clang] translate the annotations on fields 7 years ago
Jeremy Dubreil 4ec5440692 [infer][clang] port the nullable suggestion on fields on C++ 7 years ago
Jeremy Dubreil 919b9268d4 [infer][clang] simplify the translation of the prune nodes 7 years ago
Daiva Naudziuniene ac33bf6e66 [destructors] Injecting destructor calls of virtual bases inside destructor bodies 7 years ago
Sam Blackshear 7aa199f707 [clang] fix translation of placement new 7 years ago
Jules Villard c6812df1eb fix infinitely-expanding types in the backend 7 years ago
Daiva Naudziuniene e78dc91f34 [destructors] Destroy fields after continue. 7 years ago
Daiva Naudziuniene c6c7411e05 [destructors] Destroy fields after break. 7 years ago
Daiva Naudziuniene 822ffc6f62 [frontend] Fix continue inside do while. 7 years ago
Sam Blackshear 14aef012f6 [quandary] allow specifying globals as sources 7 years ago
Sam Blackshear 4065b1d120 [dead stores] recognize lambdas with `auto` parameter 7 years ago
Sam Blackshear 14fa4aa7d9 [clang][dead stores] translate init-capture expressions 7 years ago
Daiva Naudziuniene 879891a3af [destructors] Injecting destructor calls of base classes 7 years ago
Sam Blackshear 9772b2299d [clang] translate user-defined literals 7 years ago
Sam Blackshear de9d8f45ff [clang] partial translation of vector instructions 7 years ago
Daiva Naudziuniene 3e660b05ee [destructors] Injecting destructors of fields to destructor bodies. 7 years ago
Jeremy Dubreil d4565107f6 [infer][biabduction] add the name of the skipped methods to the trace to make them more readable 7 years ago
Daiva Naudziuniene a2c67afe6c [threadsafety] Testing if a race that happened in a private method is reported in a caller public method. 7 years ago
Sam Blackshear 5d578cf196 [quandary] make it possible to report taint errors on footprint sources again 7 years ago
Sam Blackshear f821d8948f [quandary] add memcpy, memset, and similar as sinks 7 years ago
Sam Blackshear 94ceebfef8 [quandary] represent footprint as unified set of access path rather than conjunction of special sources 7 years ago
Sam Blackshear 3e6e76a2b2 [quandary] fix widening bug 7 years ago
Daiva Naudziuniene 29aea2d61d Do not show internal SIL variable name in the error message of temporary address escape 7 years ago
Sam Blackshear 2876f50703 [quandary] popen as sink 7 years ago
Jia Chen 674068996b Add model for <atomic> 7 years ago
Sam Blackshear f738a7186a [quandary] fix assertion failure due to unexpected operator= 7 years ago
Jules Villard 52746fd9eb [checkers] add --<checker>-only options 7 years ago
Andrzej Kotulski 8523577bae [C++] update fcp to deal with template specializations 7 years ago
Andrzej Kotulski 88b74d524d [C++] Rewrite initListExpr_trans 7 years ago
Andrzej Kotulski 5847dd3fe9 [C++] Fix model of std::vector::size 7 years ago
Sam Blackshear 7be5df384e [quandary] stack allocation of array as sink 7 years ago
Sam Blackshear ccdf15a1ca [quandary] vector and array access as sink 7 years ago
Jia Chen b68770d592 [infer][backend] Teach the biabduction analysis more simplification rules 7 years ago
Jia Chen 5deffbce24 Teach the prover more simplification rules 7 years ago
Jia Chen a718ebe8ec [frontend] Additional information for the backend to distinguish between pass-by-val args and pass-by-ref args 7 years ago
Andrzej Kotulski c473f21f81 [C++] fix std::vector::empty model 7 years ago
Daiva Naudziuniene 7a3decf7f7 [ThreadSafety] Treating lock_guard destructor as Unlock. 7 years ago
Jeremy Dubreil 2a8e192280 [infer][biabduction] disable the reporting of return value ignored 7 years ago
Sam Blackshear 25d9f940fe [dead stores] fix FPs due to capture by ref 7 years ago
Daiva Naudziuniene f12616cea5 [destructors] Add scope management to clang frontend 7 years ago
Mehdi Bouaziz 5ea80fdb82 [inferbo] Remove temporary logical variables 7 years ago
Jules Villard fe01f47e41 [clang] correct sizeof info 7 years ago
Jia Chen f658690846 Whitelist more iterator-related functions and classes 7 years ago
Jeremy Dubreil bf11a27158 [infer] merge --failures-allowed and --keep-going 7 years ago
Sam Blackshear cb9c768c61 [clang] translate vars captured by lambda 7 years ago
Martino Luca a15d868fb0 Upgrading Infer to Clang 5.0 7 years ago
Jia Chen bd90e80859 Added model for std::shared_ptr's aliasing constructor 8 years ago
Sam Blackshear 853d476f13 [liveness] fix bug in usage of OneInstrPerNode CFG 8 years ago
Sam Blackshear 73f3eee9cd [checkers] use liveness analysis to create dead store checker 8 years ago
Mehdi Bouaziz 30e1f4295b [c++] weak_ptr model 8 years ago
Jia Chen 217363f5d6 Whitelist comparison operators and their equivalent functors in <functional> 8 years ago
Jia Chen 6c874957d0 Turn the analysis on for std::pair 8 years ago
Jia Chen 3bacba762a Whitelist the constructors+conversion operators+destructors for classes listed on whitelisted_cpp_classes 8 years ago
Sungkeun Cho 2091a529b1 [inferbo] Avoid precision loss on pruning 8 years ago
Mehdi Bouaziz be0c53ddf3 [cpp] Fix failure with c++14 init-capture 8 years ago
Sungkeun Cho 1531a3d538 [inferbo] Pruning return value of function call 8 years ago
Jia Chen 7c41d3ee48 [infer][backend] Invalidate by-ref parameters for logical variables as well as program variables when calling undefined functions 8 years ago
Mehdi Bouaziz 2ee8321456 [cpp][model] Do not define _LIBCPP_VECTOR or _GLIBCXX_VECTOR 8 years ago
Mehdi Bouaziz 42c224c224 [cpp][bufferoverrun] Regression test for folly/memory/UninitializedMemoryHacks.cpp 8 years ago
Mehdi Bouaziz d9b3b4d9ff [inferbo] Do not report location in model 8 years ago
Jia Chen 28b691d9fd [infer][backend] Perform deep match in Sil.exp_replace_exp 8 years ago
Jia Chen 10f1969bcf [infer][cpp] Fixed the error message for dangling pointer dereference when the dereference comes from C++ `delete` operator 8 years ago
Josh Berdine 8ce531b3de [threadsafety] Fix divergence due to indexing string literal in loop 8 years ago
Kihong Heo 94d6efb83a [Inferbo] Add traces for buffer overrun bug report 8 years ago
Daiva Naudziuniene 8e91932be2 [ThreadSafety] Do not report on private C++ methods 8 years ago
Daiva Naudziuniene 250449e08a [ThreadSafety] Treating unique_lock. 8 years ago
Sungkeun Cho c45c9c745f [inferbo] Instantiate pointer parameters to structures 8 years ago
Daiva Naudziuniene 77e3110adc Propagating access of Decl from clang plugin to ProcAttributes. 8 years ago
Jules Villard b9c59b2b1d [vector] model beginPtr and endPtr separately 8 years ago
Jules Villard 6388910b96 [inferbo] vector::get() returns an allocated value 8 years ago
Kihong Heo 7176fc936a [inferbo] fix the semantics of unknown library calls 8 years ago
Jia Chen a6757be036 Force emitting prune node for C++ comparison expressions 8 years ago
Jia Chen f7927cadda Teach the frontend to recognize STL throw wrappers 8 years ago
Sungkeun Cho f45f4cb4c0 [Bufferoverrun] symbolic value for parameter 8 years ago
Sungkeun Cho 52c0caafaf [inferbo] Declare unsigned typed parameters 8 years ago
Daiva Naudziuniene 0a786e9019 [ThreadSafety] Do not report if all accesses are unprotected. 8 years ago
Mehdi Bouaziz aad66bc6f6 [inferbo] More tests 8 years ago
Jia Chen 1edcbce35b Whitelist std::swap in C++ analyses 8 years ago
Daiva Naudziuniene 336b7182c3 [ThreadSafety] Releasing lock at the end of the procedure if it has a lock_guard field. 8 years ago
Mehdi Bouaziz 69e0063593 [vector] Define _LIBCPP_VECTOR / _GLIBCXX_VECTOR 8 years ago
Sam Blackshear 5a420f7aee [quandary] only report code injection via endpoints on strings 8 years ago
Kihong Heo 8567afdf55 [inferbo] add instantiation for parameters (call-by-ptr/ref) 8 years ago
Daiva Naudziuniene 5938c6331d [ThreadSafety] Extending lock model with lock_quard. 8 years ago
Jia Chen 938425020d [infer] Do not treat static locals as stack-allocated in the biabduction analysis 8 years ago
Sam Blackshear 4fe9110ad3 [quandary] SQL sinks 8 years ago
Sam Blackshear 7b8eef52f8 [thread-safety] fix bad read/write race traces 8 years ago
Daiva Naudziuniene 093a00af9b [ThreadSafety] Do not report for c++ classes that do not have mutex member. 8 years ago
Sam Blackshear 3135560283 [quandary] move trace expansion logic into Quandary 8 years ago
Jia Chen c0e20e0880 Propagate C++ noexcept annotation from frontend to backend 8 years ago
Daiva Naudziuniene f4b9bb3e3b [ThreadSafety] Do not report unprotected writes for c++. 8 years ago
Mehdi Bouaziz 70c4aec26e [inferbo] Fix vector model 8 years ago
Sam Blackshear 4ef487928c [quandary] make passthroughs optional 8 years ago
Sam Blackshear 38d3946c71 [quandary] support for basic return value sanitizers 8 years ago
Kihong Heo 485814a75a [Inferbo] remove redundant alarm message 8 years ago
Mehdi Bouaziz c9803a6481 False negative tests for std::timed_mutex 8 years ago
Mehdi Bouaziz b2e03b1734 [inferbo] New test for call by ptr/ref 8 years ago
Josh Berdine bf504c5b70 Minimal thread safety analysis for C++ 8 years ago
Sam Blackshear 54f1122bc0 [quandary] allowing specification of C++ endpoints 8 years ago
Sam Blackshear 45aaa4da93 [quandary] gflag globals as source 8 years ago
Sam Blackshear abc5642c83 [quandary] tests for string functionality 8 years ago
Sam Blackshear d5f4784e61 [quandary] add more exec sinks 8 years ago
Kihong Heo 984a81413a [inferbo] Top for unanalyzed variables (e.g., global variables) 8 years ago
Jules Villard 06dfadecb7 [pmd] handle failure of decoding procedure ids as Java methods 8 years ago
Jules Villard 93ec47a5f4 [IR] add stride to array type 8 years ago
Sam Blackshear 9910391144 [quandary] improved handling of unknown code in C++ 8 years ago
Sam Blackshear b7afa4727d [hil] fix crash when translating C code that indexes string literals like arrays or does pointer arithmetic 8 years ago
Sam Blackshear 4e97d1e991 [quandary] add support for C++ parameter passing modes that differ from Java 8 years ago
Mehdi Bouaziz 491cc2587b [infer] More mutex models 8 years ago
Sam Blackshear 30b3075d11 [quandary] allow specification of parameter sources via JSON 8 years ago
Sam Blackshear 6c8f3fe618 [quandary] allocation as a sink 8 years ago
Jeremy Dubreil 7e12885f98 [infer][checkers] remove the quandary analyzer option and rely on the --quandary flag only 8 years ago
Sam Blackshear 6af6ef35ec [quandary] support sources that taint a pointer arg or arg passed by ref rather than the return value 8 years ago
Sam Blackshear 28bc279cdc [quandary] tests for passthroughs 8 years ago
Sam Blackshear a0377fe8c9 [quandary] treat call to unknown operator= as assignment 8 years ago
Sam Blackshear 9dc7e3d66f [quandary] handle return value passed by reference in sources 8 years ago
Mehdi Bouaziz 37896ff435 [inferbo] More errors on symbolic intervals 8 years ago
Mehdi Bouaziz 5a57be9003 [infer][checkers] remove the bufferoverrun analyzer option and rely on the --bufferoverrun flag only 8 years ago
Jeremy Dubreil 8064ac2614 [infer][checkers] remove the siof analyzer option and rely on the --siof flag only 8 years ago
Dulma Churchill 6097c05d88 [clang] Add a preanalysis to compute nullability annotations 8 years ago
Sam Blackshear a02b37a03c [quandary] allow custom sources/sinks in C++ 8 years ago
Mehdi Bouaziz 3131660ede [inferbo] Model-like test for vector 8 years ago
Andrzej Kotulski c1147710ba [C++] Store class template name without its template arguments 8 years ago
Andrzej Kotulski 462220ce3e [typ] Print type qualifiers in Typ.pp_full 8 years ago
Andrzej Kotulski aefbbe8680 [clang] Translate type qualifiers into Sil 8 years ago
Mehdi Bouaziz 2dbde13335 [inferbo] Use Logging for logging 8 years ago
Jules Villard 31a6aba3c2 [siof] enable SIOF checker only when new --siof option is passed 8 years ago
Mehdi Bouaziz d20d71da50 [bufferoverrun][tests] Move bufferoverrun cpp tests to their own directory 8 years ago
Kihong Heo 9cad51d00a [Bufferoverrun] add vector test for cpp 8 years ago
Jules Villard 652cf81dab disable flaky generic model test 8 years ago
Andrzej Kotulski 62d1d74d74 [Typ] Change Typ.pp_full to not include class keywords 8 years ago
Andrzej Kotulski fc7b427126 update fcp 8 years ago
Andrzej Kotulski 5503487704 [C++] Introduce mechanism to write generic models 8 years ago
Andrzej Kotulski 21af28619f [C++] Use annotate attribute instead of deprecated 8 years ago
Paco Estevez Garcia 5482f110c1 Add type path_exec to represent an skipped path of execution. Add logic to symExec to report skipped paths 8 years ago
Andrzej Kotulski fbddeba8a7 [clang] Don't inline global var initializers 8 years ago
Andrzej Kotulski 5cfde325fd [C++] Fix matching of qualified cpp names 8 years ago
Andrzej Kotulski 4da4949049 [clang][AST] Fix wrong type in translation of NoOp cast and MaterializeExpr 8 years ago
Mehdi Bouaziz f65ac4f094 [infer] std::mutex model to detect simple double lock 8 years ago
Andrzej Kotulski d4e9f0de64 [Makefile] Print duplicate symbols to separate file, not stderr 8 years ago
Andrzej Kotulski c695616eff [Makefile][C++] Run c++ tests with native libs 8 years ago
Andrzej Kotulski 24b56de0e9 Populate mangled file only if it's not empty 8 years ago
Andrzej Kotulski 6a02568982 [clang] Change procname file naming scheme 8 years ago
Andrzej Kotulski e08d9341c8 [clang] Run direct tests with --no-failures-allowed flag 8 years ago
Andrzej Kotulski 4b620316d3 Update fcp 8 years ago
Andrzej Kotulski ef79b20e17 [clang] Inline namespaces disappear, simplify infer's code 8 years ago
Jules Villard a79096efa8 [siof] generic model of std::ios_base::Init that prevents SIOF 8 years ago
Jules Villard a469e97987 [siof] add --siof-safe-methods whitelisting option 8 years ago
Andrzej Kotulski 40c84077d9 [C++] Fix model of std::vector 8 years ago
Andrzej Kotulski f697739b21 [C++ translation] Use correct type when generating dereference 8 years ago
Andrzej Kotulski 96ba74d18e [C++] whitelist C++ std::vector iterator implementation 8 years ago
Jules Villard c51c4a21ae [siof] collate multiple reports at the same line into one 8 years ago
Jules Villard a6be58848b [make] make frontend tests more functional 8 years ago
Jules Villard bce1a1ff2e [make] make infer/src/Makefile less phony 8 years ago
Andrzej Kotulski 13fcb27431 [C++] Fix compilation errors coming from smart pointer models 8 years ago
Jules Villard e5863f5420 [siof] handle constexpr constructors 8 years ago
Jules Villard 9cc9cc101c [IR] add Static_local_var pvar kind and use it in clang 8 years ago
Josh Berdine 0cf71c74ef Sort nodes when printing cfg to dot file 8 years ago
Andrzej Kotulski 6192cb98b4 [DB] Use realpath when calling source_file_from_abs_path 8 years ago
Andrzej Kotulski 2810740377 [tests] Make project root infer/test/ for clang tests 8 years ago
Dulma Churchill 8415b6c38b [backend] do not log analysis_stops in debug_exceptions mode 8 years ago
Sam Blackshear 708c0bf1f8 [backend] eliminate phantom spaces in printing of types 8 years ago
Sam Blackshear adacee51e2 [quandary] switch to --issues-tests printing 8 years ago
Jules Villard 17179d4275 [siof] take POD into account 8 years ago
Jules Villard 15d80e04df [tests] record summary of bug traces 8 years ago
Jules Villard ac47d115f5 [tests] include clang.make a bit later to fix compile target 8 years ago
Jules Villard 281d5b49fe [tests] sort bugs in InferPrint 8 years ago
Andrzej Kotulski 6b083af4f3 [tests] small refactor of frontend makefiles 8 years ago
Jules Villard 0085417e0d [siof] better error reports using `Errlog.loc_trace`s 8 years ago
Jules Villard 5bd8b7fa95 [make] compatibility with Debian testing 8 years ago
Sam Blackshear fcf57c6e09 [siof] add fancy interprocedural reporting 8 years ago
Jules Villard d5e7ee0d82 [tests] run tests using report.json and record all bugs + exceptions 8 years ago
Jules Villard c9bac51b81 [tests] make clang tests Makefile more functional 8 years ago
Sam Blackshear fde7a6ecf3 [quandary] support for full interprocedural traces 8 years ago
Andrzej Kotulski 28827b461a [clang] Get translation unit language from AST dump 8 years ago
Cristiano Calcagno a71902355f [debug][dotty] Fix issue in dotty output where overloaded functions were conflated 8 years ago
Sam Blackshear 874e7f000d [quandary] functions that transitively return sources are sources, not passthroughs 8 years ago
Sam Blackshear d76a7ef43a [quandary] functions that transitively call sinks are sinks, not passthroughs 8 years ago
Sam Blackshear d7ae77c7c2 [quandary] make intent/logging private data tests intraprocedural 8 years ago
Cristiano Calcagno 3fb8801b6c [IR] Change cfg representation so the node number is per-procedure and not per-cfg 8 years ago
Josh Berdine 175e85525d [tests] Convert java tests to avoid phony targets 8 years ago
Jules Villard 84af7c56f8 [SIOF] detect which variables need initialization 8 years ago
Josh Berdine f45cf115e6 [test] Do not use infer from PATH 8 years ago
Sam Blackshear 6fc1a7e20f [quandary] reporting on array passed to sink when contents of array are tainted 8 years ago
Jules Villard 5fe40bae12 [siof] check origin of globals and complain if potential siof 8 years ago
Jules Villard 62bfde8b5a [clang] translate global var initializers 8 years ago
Andrzej Kotulski 0f9f44f16e [backend] Report ignored return value on skip functions 8 years ago