784 Commits (39c7ab86e1259e0becfb909e50c3b1a98a438769)

Author SHA1 Message Date
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
8 years ago
Mehdi Bouaziz 22c0520b46 [inferbo] Do not report duplicate issues
8 years ago
Jules Villard 22aca7494b [siof] understand that <iostream> initialises streams
8 years ago
Jules Villard 94e7a7b141 [siof] one access per sink, better report deduplication
8 years ago
Sam Blackshear 14d0e2a786 [thread-safety] remove custom compare for AccessListMap
8 years ago
Jeremy Dubreil ba6ef4f5b2 [infer][clang] run the C++ tests using the checkers analyzer
8 years ago
Jeremy Dubreil 5e18a19bfd [infer][test] the ThreadSafety cpp tests should not run in debug mode
8 years ago
Jeremy Dubreil a7e6ba7b2b [infer][java] add support for @Nonnull on skipped functions
8 years ago
Jeremy Dubreil 14d01620d2 [infer][objc] example of nullable annotation suggestion on Objective C
8 years ago
Sungkeun Cho 9f9dbdb914 [Inferbo] Extend abstract domain for vector::empty
8 years ago
Jules Villard abee644b91 [clang] update clang plugin to hash mangled names
8 years ago
Jules Villard d2b4f3c8da [config] add option to force deletion of results dir
8 years ago
Jules Villard 72b1ac4b5a Turn off --keep-going by default
8 years ago
Jeremy Dubreil 2294bfda8f [infer][test] update the shared pointer test names
8 years ago
Jeremy Dubreil b63f5d7c00 [infer][clang] translate the annotations on fields
8 years ago
Jeremy Dubreil 4ec5440692 [infer][clang] port the nullable suggestion on fields on C++
8 years ago
Jeremy Dubreil 919b9268d4 [infer][clang] simplify the translation of the prune nodes
8 years ago
Daiva Naudziuniene ac33bf6e66 [destructors] Injecting destructor calls of virtual bases inside destructor bodies
8 years ago
Sam Blackshear 7aa199f707 [clang] fix translation of placement new
8 years ago
Jules Villard c6812df1eb fix infinitely-expanding types in the backend
8 years ago
Daiva Naudziuniene e78dc91f34 [destructors] Destroy fields after continue.
8 years ago
Daiva Naudziuniene c6c7411e05 [destructors] Destroy fields after break.
8 years ago
Daiva Naudziuniene 822ffc6f62 [frontend] Fix continue inside do while.
8 years ago
Sam Blackshear 14aef012f6 [quandary] allow specifying globals as sources
8 years ago
Sam Blackshear 4065b1d120 [dead stores] recognize lambdas with `auto` parameter
8 years ago
Sam Blackshear 14fa4aa7d9 [clang][dead stores] translate init-capture expressions
8 years ago
Daiva Naudziuniene 879891a3af [destructors] Injecting destructor calls of base classes
8 years ago
Sam Blackshear 9772b2299d [clang] translate user-defined literals
8 years ago
Sam Blackshear de9d8f45ff [clang] partial translation of vector instructions
8 years ago
Daiva Naudziuniene 3e660b05ee [destructors] Injecting destructors of fields to destructor bodies.
8 years ago
Jeremy Dubreil d4565107f6 [infer][biabduction] add the name of the skipped methods to the trace to make them more readable
8 years ago
Daiva Naudziuniene a2c67afe6c [threadsafety] Testing if a race that happened in a private method is reported in a caller public method.
8 years ago
Sam Blackshear 5d578cf196 [quandary] make it possible to report taint errors on footprint sources again
8 years ago
Sam Blackshear f821d8948f [quandary] add memcpy, memset, and similar as sinks
8 years ago
Sam Blackshear 94ceebfef8 [quandary] represent footprint as unified set of access path rather than conjunction of special sources
8 years ago
Sam Blackshear 3e6e76a2b2 [quandary] fix widening bug
8 years ago
Daiva Naudziuniene 29aea2d61d Do not show internal SIL variable name in the error message of temporary address escape
8 years ago
Sam Blackshear 2876f50703 [quandary] popen as sink
8 years ago
Jia Chen 674068996b Add model for <atomic>
8 years ago
Sam Blackshear f738a7186a [quandary] fix assertion failure due to unexpected operator=
8 years ago
Jules Villard 52746fd9eb [checkers] add --<checker>-only options
8 years ago
Andrzej Kotulski 8523577bae [C++] update fcp to deal with template specializations
8 years ago
Andrzej Kotulski 88b74d524d [C++] Rewrite initListExpr_trans
8 years ago
Andrzej Kotulski 5847dd3fe9 [C++] Fix model of std::vector::size
8 years ago
Sam Blackshear 7be5df384e [quandary] stack allocation of array as sink
8 years ago
Sam Blackshear ccdf15a1ca [quandary] vector and array access as sink
8 years ago
Jia Chen b68770d592 [infer][backend] Teach the biabduction analysis more simplification rules
8 years ago
Jia Chen 5deffbce24 Teach the prover more simplification rules
8 years ago
Jia Chen a718ebe8ec [frontend] Additional information for the backend to distinguish between pass-by-val args and pass-by-ref args
8 years ago
Andrzej Kotulski c473f21f81 [C++] fix std::vector::empty model
8 years ago
Daiva Naudziuniene 7a3decf7f7 [ThreadSafety] Treating lock_guard destructor as Unlock.
8 years ago
Jeremy Dubreil 2a8e192280 [infer][biabduction] disable the reporting of return value ignored
8 years ago
Sam Blackshear 25d9f940fe [dead stores] fix FPs due to capture by ref
8 years ago
Daiva Naudziuniene f12616cea5 [destructors] Add scope management to clang frontend
8 years ago
Mehdi Bouaziz 5ea80fdb82 [inferbo] Remove temporary logical variables
8 years ago
Jules Villard fe01f47e41 [clang] correct sizeof info
8 years ago
Jia Chen f658690846 Whitelist more iterator-related functions and classes
8 years ago
Jeremy Dubreil bf11a27158 [infer] merge --failures-allowed and --keep-going
8 years ago
Sam Blackshear cb9c768c61 [clang] translate vars captured by lambda
8 years ago
Martino Luca a15d868fb0 Upgrading Infer to Clang 5.0
8 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
Sam Blackshear 072fe0994f [quandary] reporting on getenv -> exec flows
8 years ago
Andrzej Kotulski 2deeb3673a [C++] Don't put model includes on -isystem path in test
8 years ago
Sam Blackshear 3624fea737 [quandary] tests for C++ analysis
8 years ago
Jules Villard c53bfe3159 [clang] rewrite plugin attachment logic in OCaml
8 years ago
Josh Berdine 6697ed781f [tests] Rerun test without swallowing output on failure
8 years ago
Cristiano Calcagno 847c141912 [tests] Clean up test files shared between frontend and endtoend tests
9 years ago
Cristiano Calcagno b0980bc35e [tests] Convert c/c++ frontend tests to new format.
9 years ago
Cristiano Calcagno ec67521c6f [backend] Fix issue where the attribute of a procedure definition could be overwritten with the attribute of a declaration
9 years ago
Cristiano Calcagno c613820a98 Convert c tests to the new testing format
9 years ago
Cristiano Calcagno 0b7ea202db Convert infer c++ tests to new format
9 years ago
Andrzej Kotulski 41e51bc28c Clean up smart pointer header models
9 years ago
Andrzej Kotulski 4637bf877e model unique_ptr<T> as T*
9 years ago
Andrzej Kotulski 4cd9470586 Skip Sil.Call instruction for some shared_ptr method calls
9 years ago
Andrzej Kotulski 2baf3f8456 Replace shared_ptr<T> structs with T* pointers
9 years ago
Jules Villard 145cb744f6 do not havoc actuals of skip functions with const parameters
9 years ago
Martino Luca 40b176fd01 Translate global const vars locally to a procedure
9 years ago
Daiva Naudziuniene ac9cabe677 Fixing Memory leak false positives in C++/ObjC
9 years ago
Jules Villard 10f10a90c6 diverge on `throw`
9 years ago
Andrzej Kotulski 0aa5101a05 Replace space with _ in type names
9 years ago
Andrzej Kotulski 5ed50f5a97 Keep more precise information in constructor's var_exp_typ
9 years ago
Daiva Naudziuniene dfb7c15303 Fixing Resource leak false positives assuming developers use raii.
9 years ago
Sam Blackshear d946a7bc33 fix ugly printing of NONE idents
9 years ago
Andrzej Kotulski 118295e03c Fix C++ models of c library
9 years ago
Sam Blackshear 7b58c71475 centralize creation and detection of clang tmp vars, fix errdesc/bucketing
9 years ago
Andrzej Kotulski 9cda4ca6bf Add models of shared_ptr comparison operators
9 years ago
Sam Blackshear 006bd06adb add concept of a dummy identifier
9 years ago
Andrzej Kotulski 9b07a3e762 Never call destructor on delete expression
9 years ago
Andrzej Kotulski e46cddb52b Use mangling in function parameters to encode its position
9 years ago
Andrzej Kotulski c7d6d904f7 Whitelist std::min and std::max
9 years ago
Dulma Churchill edc57f70f5 Translate CXXNoexceptExpr
9 years ago
Dulma Churchill 8bfa983716 Translate TypeTraitExpr
9 years ago
Dulma Churchill 52e037f77c Translate AttributedStmt and Fallthrough attribute
9 years ago
Andrzej Kotulski 3603fc3176 Modify cast_with_enforce.cpp test to not include <string>
9 years ago
Dulma Churchill b1e3d994bd Report more cases of null dereference as empty vector access
9 years ago
Andrzej Kotulski a825831625 Model vector::resize(n) as nonempty vector
9 years ago
Dulma Churchill 5adab3cb61 Fix StmtExpr
9 years ago
Dulma Churchill 5ed970efa9 Fix the return stmt that would not be the last instruction in the path in some cases
9 years ago
Sam Blackshear fd8a864c15 doing preanalysis on-demand
9 years ago
Dulma Churchill 60d9a19ae0 Fix bucketing for variables passed by reference
9 years ago
Andrzej Kotulski 0f895b0684 Improve empty vector tests
9 years ago
Dulma Churchill bf9d194e43 Translate builtin_expect as its first argument. Avoids weird symb. exec. problems
9 years ago
Andrzej Kotulski 617ffab0ac Add @generated comment to icfg.dot files
9 years ago
Andrzej Kotulski 3699b9c0dc Fix translation of passing struct parameters by value
9 years ago
Dulma Churchill de615594df Skip whitelisted functions form trace
9 years ago
Andrzej Kotulski 8ccdff649f Report empty vector access instead of null dereference
9 years ago
Andrzej Kotulski 058f4455dc Modify model of std::vector
9 years ago
Andrzej Kotulski bfce6bac47 Model empty vector access
9 years ago
Dulma Churchill 6c7c18e920 Model other functions from glog library
9 years ago
Sam Blackshear 3f49f3a1d4 using liveness to add removetemps instructions
9 years ago
Sam Blackshear 20925df57c removing unused deallocate param in nullify instr
9 years ago
Sam Blackshear 4fd2f52fe8 new analysis for adding nullify's
9 years ago
Dulma Churchill c3fbd5af29 Model CHECK macro and fix the model for builtin_expect
9 years ago
Sam Blackshear 6f6da12b2c don't nullify params/locals at beginning of procedure
9 years ago
Andrzej Kotulski 05c218d84f Declare local variable for conditional in procdesc
9 years ago
Andrzej Kotulski 66d3d492f8 Fix translation of BinaryConditionalOperator
9 years ago
Dino Distefano b7ab1760a6 Translation of lambda [part one]
9 years ago
Cristiano Calcagno 054ad223a8 Fix control-flow graph shape when conditional is last instruction.
9 years ago
Dulma Rodriguez 6b2b76d956 Translate dynamic arrays to cpp classes
9 years ago
Andrzej Kotulski 590f73b59f Translate functions/methods from headers when they are referenced
9 years ago
Andrzej Kotulski 64bb3b62b3 Use variable stmt location info in init_res_trans
9 years ago
Dulma Rodriguez bc3134dd32 Translate initializing arrays of C++ classes
9 years ago
Dulma Rodriguez c0e5365458 Translate delete of arrays with the correct destructor
9 years ago
Dulma Rodriguez 0c5bca7a4b Translate arrays created with new
9 years ago
Dulma Rodriguez c6524d799f Translate C++ constructors after new
9 years ago
Andrzej Kotulski 675009a2ee Add unique_ptr model
9 years ago
Dulma Rodriguez 9f7bfea98f Translate CXXStdInitializerListExpr
9 years ago
Sam Blackshear 2991bd3fc3 using address-taken analysis for nullify placement rather than alias analysis
9 years ago
Andrzej Kotulski 0a32ff4400 Translate std::move from system headers to improve analysis quality
9 years ago
Dulma Rodriguez a62ccc7a05 Fixing init list expr when there is no variable or compound literal expression
9 years ago
Dulma Rodriguez 10a14a7324 Translate CXXTypeidExpr
9 years ago
Andrzej Kotulski eb76a441f9 Initial implementation of shared_ptr model
9 years ago
Dulma Rodriguez a4b87a0951 Translate destructor calls
9 years ago
Dulma Rodriguez 91a2eaa5f1 Translate CXXPseudoDestructorExpr
9 years ago
Dulma Rodriguez edbd7854b2 Translate SizeOfPackExpr
9 years ago
Dulma Rodriguez d499d5fc8e Translate C++ exceptions
9 years ago
Andrzej Kotulski decb263b1d Fix translation when accessing reference type fields
9 years ago
Dulma Rodriguez 06f40efab8 Add extra dereference to the variable of the method call to find null dereferences when a method called with null.
9 years ago
Andrzej Kotulski e4a0e9bbf7 Translate CXXDefaultInitExpr
9 years ago
Dulma Rodriguez 2fb2b3d9e1 Add the virtual flag of C++ methods in method calls
9 years ago
Andrzej Kotulski 4584f7f6fc [clang-format] Reformat all c/cpp/objc sources with clang-format
9 years ago
Andrzej Kotulski 50fc847c10 Compile C models again in C++
9 years ago
Andrzej Kotulski f703d780da Translate headers located inside analyzed project
9 years ago
Andrzej Kotulski 3320043217 Fix further problems with forward declarations in C/C++
9 years ago
Dulma Rodriguez bf90a64fb5 Fix the typing implication in the bi-abduction for non Java types
9 years ago
Andrzej Kotulski 8c832142b4 Don't add process type redeclaration unless it has definition
9 years ago
Dino Distefano c65947439f Implementing translation of CXXForRangeStmt
9 years ago
Andrzej Kotulski 49d7bdb6bd Translate CXXScalarValueInitExpr
9 years ago
Andrzej Kotulski 359ad9dd4b Translate constructor initializer
9 years ago
Andrzej Kotulski 7cabc86f77 Pass return parameter type in context
9 years ago
Andrzej Kotulski 8545a0310e Treat xvalues as they were lvalues
9 years ago
Andrzej Kotulski 36fb1f202c Deal with empty parameter names
9 years ago
Andrzej Kotulski da3a106541 Always translate CXXRecordDecl as Sil.Class
9 years ago
Andrzej Kotulski 75f4947cb1 Ignore type change in DerivedToBase cast
9 years ago
Dulma Rodriguez f4bbd44212 Translate dynamic cast for C++
9 years ago
Dulma Rodriguez 10fe998c12 Extending subtyping to C++
9 years ago
Andrzej Kotulski 9d7ab4b9c2 Translate conversion operators
9 years ago
Andrzej Kotulski bdab22a093 Support temporary objects (CXXTemporaryObjectExpr)
9 years ago
Andrzej Kotulski 44a6ec4f10 Fix return parameter handling
9 years ago
Andrzej Kotulski ec80d40bdd Populate return parameter when returning + turn on new feature for C/C++
9 years ago
Andrzej Kotulski 5eb7d9e994 Add init_pvar to trans_state and use it in c++ constructor
9 years ago
Andrzej Kotulski bd935c2347 Add destructor calls on delete expression
9 years ago
Andrzej Kotulski 70b003696f Translate bodies of destructors
9 years ago
Josh Berdine 63b57790f9 Fix indentation of multiline copyright comment
9 years ago
Andrzej Kotulski 173ee91844 Support template methods
9 years ago
Andrzej Kotulski 84549f691d Support decl_stmt in switch stmt
9 years ago
Andrzej Kotulski 92690551a6 Handle lvalues inside conditional operator right + fix init_expr_trans to fix materializeTempExpr not connecting nodes
9 years ago
Dulma Rodriguez 4b82e208ff Update facebook clang plugin after adding more info about ObjC properties
9 years ago
Andrzej Kotulski 96b659bb6e fix cpp frontend tests
9 years ago
Andrzej Kotulski 0bf7e46579 Translate C++ function templates
9 years ago
Andrzej Kotulski 71482fb472 Refactor CompoundBinaryOperator to use same code as BinaryOperator
9 years ago
Andrzej Kotulski 3f9a08f99c Defer cfg node creation for returnStmt and init_expr_trans
9 years ago
Andrzej Kotulski 9353c7bbfd Use qualified names for global variables
9 years ago
Andrzej Kotulski a06ce9ca0e Don't report null dereference on 'this' in C++ methods
9 years ago
Andrzej Kotulski 1eecdacea6 Ignore type change in UncheckedDerivedToBase cast
9 years ago
Andrzej Kotulski ddbf4d9c47 Support template classes
9 years ago
Andrzej Kotulski 81337ce2cb Support MaterializeTemporaryExpr
9 years ago
Andrzej Kotulski 16cb8e3f30 Translate CXXOperatorCallExpr
9 years ago
Andrzej Kotulski cb42fdcc31 Use fully qualified names for functions
9 years ago
Andrzej Kotulski 9748502a1a Handle C++ static methods
9 years ago
Andrzej Kotulski 71e424d6ba Use qual_name to extract class name from method decl
9 years ago
Andrzej Kotulski 55f9fb9d5e Add base class fields to C++ classes
9 years ago
Andrzej Kotulski c4b237e9f6 Fix type of CXXThisExpr_trans
9 years ago
Andrzej Kotulski db35afef1e Handle variable declaration inside condition expression correctly
9 years ago
Andrzej Kotulski a9bdf2b291 Translate c++ constructor calls in var initialization
9 years ago
Andrzej Kotulski 088293b6c2 Add pointer type to argument of method call
9 years ago
Andrzej Kotulski a7a332ea51 add different handling for C++ increment/decrement operators
9 years ago
Andrzej Kotulski 453924f303 Add basic translation of constructors
9 years ago
Andrzej Kotulski a5e1743382 Fix failing C++ frontend test
9 years ago
Andrzej Kotulski 5a07f767bb Handle assignment operations correctly
9 years ago
Andrzej Kotulski b86af1e5d1 Fix type information about reference types in CFGs
9 years ago
Andrzej Kotulski bfe10e3829 Fix handling of C++ references
9 years ago
Dulma Rodriguez ba00f08f00 Remove variable resolution and use pointers to declarations instead
10 years ago
Dulma Rodriguez 6278b779df Adding memory leak bucket for cpp
10 years ago
Andrzej Kotulski f63582893f Add basic e2e tests for C++
10 years ago
Andrzej Kotulski d4c3d39fb9 Refactor C++ frontend tests
10 years ago
Andrzej Kotulski 4d10c8d9f4 Add support for C++ this expression
10 years ago
Andrzej Kotulski b78d6f623a Split methods.cpp test into multiple ones
10 years ago
Andrzej Kotulski a045886eba Get better language information about functions/methods
10 years ago
Andrzej Kotulski e8949d16e4 [Frontend][C++] Use Sil.class for C++ class/struct/union types
10 years ago
Andrzej Kotulski bc050c4188 [C++] Add inheritance information for C++ classes
10 years ago
Dulma Rodriguez 65f4280d6e [clang] [3 of 3] Changes to the translation of record, classes and enums
10 years ago
Cristiano Calcagno 1e6247c872 [frontend] generate fresh ids separately for different procedures in the cfg
10 years ago
Andrzej Kotulski 394a3b4c29 [CFrontend] Sizeof should have ulong type
10 years ago
Andrzej Kotulski 198c3c82e1 [C++ frontend] Handle calling c++ methods
10 years ago
Andrzej Kotulski 7a839984da [C++] Add cpp methods signatures and implementations
10 years ago
Andrzej Kotulski 1d6873f471 [C++] Handle simple new cases
10 years ago
Jules Villard ca613a77ff [copyrightor] format start and end of copyright comments
10 years ago
Andrzej Kotulski b328ee1509 [C Frontend] Always add class prefix to a field name
10 years ago
Cristiano Calcagno 3e199467f4 Complete copyright messages.
10 years ago
Andrzej Kotulski 9f9bc53361 [Frontend][C++] Add support for default params
10 years ago
Andrzej Kotulski 76203aa847 [Frontend][C++] Add translation for static cast
10 years ago
Andrzej Kotulski 819227d97d [C++][Frontend] Add translation for nullptr
10 years ago
Cristiano Calcagno 10970c4f51 [clang frontend] Pre-process AST locations to make them explicit and easier to deal with. Don't dive into include files.
10 years ago
Open Source Synchronization b8982270f2 initial synchronization
10 years ago