1860 Commits (c57323d67b49ae4bd88103bc7083dcdb779bbbd0)

Author SHA1 Message Date
Dulma Churchill 561f4fdfad [linters] Adding a new type of procname that is used for lint bugs that are not in any method
9 years ago
Dulma Churchill a2ee69975a [clang] Remove support for logging lint issues in procdescs
9 years ago
Dulma Churchill 8554c1e342 [Parallelization][Linters] Wait for processes based on the map of processes, to make sure that we waited for all the children.
9 years ago
Peter O'Hearn 419f2e0bdf [infer] Active Variables
9 years ago
Sam Blackshear fbfece20af [quandary] using exceptional procCFG to explore exceptional control-flow
9 years ago
Sam Blackshear f0a31f460b [checkers] don't crash when a frontend temp is reassigned
9 years ago
Sam Blackshear 4b9899d6b2 [quandary] handling globals in function summaries
9 years ago
Sam Blackshear b1039f51f8 [quandary] add summaries for footprint traces associated with locals
9 years ago
Cristiano Calcagno 4cee6907ec [backend] Remove the global reference DB.current_source and clean up the flow of information about the current source file.
9 years ago
Dulma Churchill 526cf6da6a [Config] Adding a default for the option load
9 years ago
Sam Blackshear ae759ee21f [quandary] fixing crashes when running on recursive code
9 years ago
Sam Blackshear de146f4f2d [quandary] switch to using base -> formal num map in extras
9 years ago
Sam Blackshear 31e6849ec0 [quandary] using summaries part 2: the relational cases
9 years ago
Cristiano Calcagno bd0215a826 [IR] Add notion of file captured to procedure attributes.
9 years ago
Josh Berdine f30b6e39db More robust logging to files
9 years ago
Sam Blackshear 70670f5355 [checkers] kill noisy logging in abstract interpreter
9 years ago
Sam Blackshear e4beca3779 [quandary] using summaries part 1: return
9 years ago
Sam Blackshear cf8c957483 [quandary] use preanalysis for abstract GC
9 years ago
Sam Blackshear 95f6639d6d [backend] refactoring debug html printing to make it easier to call from anywhere
9 years ago
Sam Blackshear 9f1c4e4bca [quandary] adding append operation
9 years ago
Cristiano Calcagno fe21442d47 [tests] Convert the linter tests to the new direct format
9 years ago
Sam Blackshear b34a23c1b4 [java frontend] fix read of unused id in exception translation.
9 years ago
Sam Blackshear 4172650313 [java] treat CatchVar's emitted by Sawja as temporary variables
9 years ago
Sam Blackshear 2f34e998c2 [quandary] consider builtins to be neither sources nor sinks
9 years ago
Cristiano Calcagno b0980bc35e [tests] Convert c/c++ frontend tests to new format.
9 years ago
Cristiano Calcagno afebcdad60 [tests] Prepare objective-c tests for conversion to the new direct testing 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
Josh Berdine 8589dc4868 Remove Tstruct in favor of Tvar
9 years ago
Sam Blackshear 41c121bebf [quandary] adding quandary summaries to specs
9 years ago
Sam Blackshear d6d7293633 [quandary] moving logging of errors into analysis
9 years ago
Sam Blackshear 31435fa936 [quandary] summaries for interprocedural analysis
9 years ago
Sam Blackshear 4f8370e524 [utils] add find_mapi_opt utility
9 years ago
Sam Blackshear ef8b215ee1 [utils] add fold_left_i utility
9 years ago
Sam Blackshear 55a46d1211 [quandary] format for summaries
9 years ago
Josh Berdine f1c10738c5 Exclude autosave files from repl build
9 years ago
Dulma Churchill f99d3a7c8e Add an option clang-frontend-action to drive the frontend into capture or linters when the -a capture option is used
9 years ago
Sam Blackshear 27cfb141da richer sink specifications
9 years ago
Josh Berdine 4706f25bf7 Normalize struct field types to be shallow
9 years ago
Josh Berdine 548338bb4e Move mk_struct to Tenv
9 years ago
Josh Berdine 30b3881e52 Make Typ.struct_typ private and add Typ.mk_struct
9 years ago
Josh Berdine ad31aeb2a2 Expand Tvar to Tstruct as needed
9 years ago
Sam Blackshear 30ff9eda22 fix type of array store
9 years ago
Lázaro Clapp Jiménez Labora 2f90dde351 Add top of file documentation for crashcontext.mli
9 years ago
Sam Blackshear 3368548e3e replace stackop instruction with skip instruction
9 years ago
Sam Blackshear 87248009b7 fixing issue where crashcontext breaks without -o
9 years ago
Sam Blackshear e918624076 abducted -> abduced
9 years ago
Sam Blackshear 1e4b4df427 fixing handling of aliasing for frontend tmp vars
9 years ago
Dulma Churchill e18381ab67 Fix compilation problem with buck compilation database and travis
9 years ago
Cristiano Calcagno 0b7ea202db Convert infer c++ tests to new format
9 years ago
Sam Blackshear 8ab9a6c714 remove some commented logging code
9 years ago
Dulma Churchill f6636c6d41 Store the issue file only if there are issues
9 years ago
Dulma Churchill 6c4762b9de Remove compilation warning
9 years ago
Dulma Churchill 13de8a0835 Fix cpp models that got broken by an incorrect refactoring
9 years ago
Josh Berdine 8a85919001 Pass tenv to everywhere that matches on Tstruct
9 years ago
Josh Berdine 2bebd94553 Remove redundant Typ.struct_typ.csu field
9 years ago
Josh Berdine f0940f25d7 Replace optional mangled struct_name with typename
9 years ago
Josh Berdine 90314a4d94 Catch Unix exceptions in DB.create_dir
9 years ago
Dulma Churchill d11b2754a9 New buck integration based on the compilation database emitted by buck
9 years ago
Sam Blackshear 91071af3ad logging errors
9 years ago
Sam Blackshear 50ac3cde41 command-line setup
9 years ago
Cristiano Calcagno 20c33f15c9 Fix flakiness in the analysis when a procedure is defined in more than one file.
9 years ago
Andrzej Kotulski be891e8413 Simplify builtin function detection during translation
9 years ago
Cristiano Calcagno 346d3e6d01 Address capture flakiness when a symbol is multiply defined.
9 years ago
Dulma Churchill 977f73ff5b Add column to json file of issues
9 years ago
Andrzej Kotulski 97fe6275bd Simplify language detection in frontend
9 years ago
Andrzej Kotulski ad325d5047 Drop ti_raw field from clang_ast_t.type_info
9 years ago
Andrzej Kotulski 21ecba2d17 move retain/release special handling to function_deref_trans
9 years ago
Andrzej Kotulski 7461d40024 Clean up special handling of smart pointers in backend
9 years ago
Andrzej Kotulski 2444618943 Translate functions coming from std headers od demand
9 years ago
Josh Berdine 8cacd31f85 Remove unused typedef and enum Typename's
9 years ago
Jules Villard 4fe1615434 give correct type to root exps of array dereferences
9 years ago
Cristiano Calcagno 674f30de2c Convert java infer tests to the new direct format
9 years ago
Jules Villard 0caa7e1826 move printing module to its own file
9 years ago
Martino Luca 9e3b3c5d77 Fix C++ tests
9 years ago
Josh Berdine 377d284cf2 Simplify originator detection
9 years ago
Sam Blackshear 15b6a8cdd7 killing a bunch of options by using optional argument types correctly
9 years ago
Martino Luca 80c82c0cae Adapt Infer to the new changes introduced by the upgrade to Clang 4.0
9 years ago
Jules Villard a6bf43a570 replace boolean by named argument in Inteproc.propagate
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
Sam Blackshear a92543b67c fix needless type extension
9 years ago
Lázaro Clapp Jiménez Labora f2e958ef3a Add support for multiple stacktraces in '-a crashcontext'
9 years ago
Sam Blackshear a31a735e35 separate pretty-printer for pp_kind
9 years ago
Andrzej Kotulski 5d3a15fd9c Fix roots with new names for InferPrint and InferAnalyze
9 years ago
Ryan Rhee e19550a43b Handle l-value refs correctly
9 years ago
Sam Blackshear 36b0a957bd setup for creating very simple absint checkers
9 years ago
Sam Blackshear 89fa74bc9b make @OnBind an alias for @NoAllocation
9 years ago
Sam Blackshear f64e880c11 java traces
9 years ago
Dulma Churchill 6ad78e7d9c Add case for blocks when building a procname
9 years ago
Cristiano Calcagno a6254f6b73 Extend Inferprint with a command --issues-tests to print issues in a format suitable for tests
9 years ago
Andrzej Kotulski a31c5416b1 Add basic support for starting ocaml repl with infer code
9 years ago
Jules Villard c2ca6a23d5 pass -l to infer.py
9 years ago
Dulma Churchill 9ae19d01d0 Make the is_global_var not fire for the static local variables
9 years ago
Cristiano Calcagno ed8d112e87 Convert Inferprint and Inferanalyze to Reason
9 years ago
Jules Villard 26a6594b90 detect unsigned values inside structured expressions
9 years ago
Martino Luca 7de52e7649 Check early whether the given decl has to be checked with linters or not
9 years ago
Jules Villard e1f19192c0 move --fail-on-issue functionality to OCaml
9 years ago
Cristiano Calcagno 91d9cd83b5 Cleanup instruction names: use Load/Store instead of Letderef/Set.
9 years ago
Cristiano Calcagno c0969da619 Remove unused module CodeQuery.
9 years ago
Sam Blackshear 262a121cf6 handle casts
9 years ago
Sam Blackshear 514107ec88 track sinks
9 years ago
Sam Blackshear f0028669ee propagate tainted sources
9 years ago
Andrzej Kotulski 761579469e Revert "[C++] Move models of smart pointers to custom namespace"
9 years ago
Jules Villard 3f60f54fbf align --help and support -h
9 years ago
Dulma Churchill 07bf714d91 Put current method in context
9 years ago
Cristiano Calcagno 6221956149 Apply type resolution to qualify fields and variants in Prop.
9 years ago
Sam Blackshear 3b12208e1b intraprocedural taint analysis that records sources
9 years ago
Jules Villard dda4921786 exit with correct error code when infer.py fails
9 years ago
Sam Blackshear 90c8f55c32 adding missing functionality to analyzerTester
9 years ago
Sam Blackshear e853b01051 taint domain
9 years ago
Sam Blackshear 20584be8f3 mapping of ids to raw access path
9 years ago
Jules Villard 0add05de87 do not print infer.py usage message on wrong arguments
9 years ago
Jules Villard 145cb744f6 do not havoc actuals of skip functions with const parameters
9 years ago
Jules Villard 7603395ee9 qual_type fields are namespaced now
9 years ago
Dulma Churchill b7ec110ea3 Adding new mode linters
9 years ago
Dulma Churchill 3d39fba622 Refactor InferPrint and store the lint issues in a serialized data structure that InferPrint picks up and prints.
9 years ago
Andrzej Kotulski 121c968e77 Move models of smart pointers to custom namespace
9 years ago
Martino Luca 40b176fd01 Translate global const vars locally to a procedure
9 years ago
Sam Blackshear c2043af70d functor for creating trace domain
9 years ago
Sam Blackshear 462bf68f46 killing is_bottom
9 years ago
Sam Blackshear f99b30c4cd abstracting passthroughs more aggressively
9 years ago
Lázaro Clapp Jiménez Labora 175efddc2b Make stacktrace and stacktree line number an int option.
9 years ago
Lázaro Clapp Jiménez Labora 616e8fddd4 Make stacktrace parsing work when line number info is not available.
9 years ago
Ryan Rhee a134669f73 Make issues warnings again
9 years ago
Ryan Rhee da771ac5aa Mutable local vars
9 years ago
Ryan Rhee 8a40482fac Detect when in CK
9 years ago
Ryan Rhee 88897addfa Add in_main_file to context
9 years ago
Sam Blackshear 8f5542ed2f functor for creating traces from source and sink specs
9 years ago
Sam Blackshear 36e2175293 trace building blocks: sources and sinks
9 years ago
Ryan Rhee 5a8eb19041 Comment formatting for cFrontend_utils.mli
9 years ago
Ryan Rhee 70d5b604bf Split get_super into get_super_impl and get_super_if
9 years ago
Jules Villard cdce8f9794 better help
9 years ago
Ryan Rhee 894e92d4f3 Fix comment formatting for linter context
9 years ago
Ryan Rhee 6e6a7a8e5a Add is_ck_translation_unit to context
9 years ago
Cristiano Calcagno 66385dd5f4 Refactor module Prop by moving normalization functions into module Normalize.
9 years ago
Cristiano Calcagno b48ec1ac93 Clean up API to access components of propositions.
9 years ago
Cristiano Calcagno 89270c558c Add module Core in Prop to make transitions between exposed and normalized explicit.
9 years ago
Sam Blackshear 034d2e3c81 adding accessTree.fold
9 years ago
Jules Villard 3b3f587652 update fcp to have qualifiers in ValueDecl types
9 years ago
Ryan Rhee 4a6202c772 Move get_super to utils
9 years ago
Josh Berdine a9a38f20ec Simplify normalization in Attribute.remove
9 years ago
Josh Berdine 3896b10265 Move Prop.Attribute to toplevel
9 years ago
Josh Berdine 60496f2ae4 Minor cleanup of Prop.Attributes interface
9 years ago
Josh Berdine 4053d24bed Refactor Prop ops on attributes into sub-module
9 years ago
Martino Luca b7d70ff178 Add support for extra cases of BAD_POINTER_COMPARISON warning
9 years ago
Josh Berdine 6555a84409 Make warning 23 (Useless record with clause) fatal
9 years ago
Josh Berdine c147ab4197 Refactor Sil.attribute and associates to PredSymb
9 years ago
Josh Berdine 25a52c7bbc Refactor operations on Exp.t in Sil to Exp
9 years ago
Josh Berdine 8a90190309 Remove dead Sil.binop_invert
9 years ago
Josh Berdine f9ca08a9a8 Refactor Exp.t-keyed collections from Sil to Exp
9 years ago
Josh Berdine d60965824e Refactor exp_equal and exp_compare to Exp
9 years ago
Josh Berdine 701eb20f83 Refactor Sil.exp to Exp.t
9 years ago
Josh Berdine 6ffe204252 Make Aobjc_null attribute a binary predicate
9 years ago
Josh Berdine 4185bda8ba Generalize predicates from unary to nary
9 years ago
Josh Berdine b6544eace7 Remove redundant normalization
9 years ago
Josh Berdine c2f62f3a97 Remove tuple type redundant with atom
9 years ago
Josh Berdine a8ce65b221 Encode polarity of predicates into atom tag
9 years ago
Josh Berdine b09b28f10f Add negated attributes, with 2-valued semantics
9 years ago
Josh Berdine 71a15b2388 Represent attributes with atoms, not disequalities
9 years ago
Martino Luca e3132152cb Check for the presence of removeObserver into class hierarchy
9 years ago
Lázaro Clapp Jiménez Labora d23c99a4ea Add blame_range to crashcontext analysis.
9 years ago
Sam Blackshear 8ff9f2afab making get_reachable_hpreds understand inductive predicates
9 years ago
Vaibhav Tulsyan dba179845b Minor typo fix
9 years ago
Josh Berdine 06cbdfa651 Cosmetic changes to improve Reason conversion
9 years ago
Josh Berdine fe780cb6ff Move comments to improve attachment
9 years ago
Josh Berdine 32146523ca Enable warning: Unexpected documentation comment
9 years ago
Ryan Rhee d2a4028881 Call decl checkers on DeclStmt statements
9 years ago
Lázaro Clapp Jiménez Labora 7c3110b76f Extract stacktrace.ml regexp constructors to module level.
9 years ago
Lázaro Clapp Jiménez Labora 751d027f8d Remove 'open Jsonbug_t' scope clutter.
9 years ago
Lázaro Clapp Jiménez Labora 0a8b95a856 Crashcontext ocaml method summary merging
9 years ago
Lázaro Clapp Jiménez Labora d5848d8c94 Add parsing of native methods on the stacktrace.
9 years ago
Lázaro Clapp Jiménez Labora 58d008a026 Add Stacktree ATD type for serializing/decerializing crashcontext results.
9 years ago
Lázaro Clapp Jiménez Labora ed85a129f5 Add DB.paths_matching utility method to recursively search files under a directory matching a function f.
9 years ago
Josh Berdine 3064caacdb Remove stale Autounit module
9 years ago
Martino Luca bed9b31c62 Add general context to linters framework to implement smarter checks
9 years ago
Jules Villard aee1eeba3d restore --pmd-xml functionality
9 years ago
Zac Sweers aed5e6bee8 Support butter knife 8's BindView annotation
9 years ago
Sam Blackshear 3233666b11 extract callsite to its own module
9 years ago
Sam Blackshear ed9495a893 delete unused class-to-source mapper processor
9 years ago
Dulma Churchill 8d279748fa Adding a key to the lint issues
9 years ago
Martino Luca da2717ff2a Migrate BAD_POINTER_COMPARISON check from backend to linters infra
9 years ago
Martino Luca adb0ef8a78 Alphabetize CIssue
9 years ago
Dulma Churchill ff597a6c03 Model init method in NSData and understand the field bytes
9 years ago
Sam Blackshear 4490d9b033 fix recognition of inner class this guarded-by strings
9 years ago
Dulma Churchill fa8ae3e5e9 In the new framework where we go through every declaration we don't need a special case for properties anymore
9 years ago
Daiva Naudziuniene ac9cabe677 Fixing Memory leak false positives in C++/ObjC
9 years ago
Lázaro Clapp Jiménez Labora 9a79e74380 Crashbot results stitching and end-to-end testing.
9 years ago
Sam Blackshear 33b417c280 generalizing `add_trace` to `add_node`
9 years ago
Sam Blackshear 706acdfd9e generalizing get_trace to get_node
9 years ago
Sam Blackshear b500a5c4b5 don't warn in cases where GuardedBy string is clearly unrecognizable
9 years ago
Sam Blackshear e9aecd0afe widen for access trees
9 years ago
Jules Villard 01ffc387bb resolve symlinks recursively until the real infer executable is found
9 years ago
Lázaro Clapp Jiménez Labora 76764c148a Output the callee sumaries of -a crashcontext to per-method files.
9 years ago
Sam Blackshear 6a1a0d68da create access paths from expressions
9 years ago
Jules Villard 10f10a90c6 diverge on `throw`
9 years ago
Jules Villard fb7aed07c6 typo and whitespace cleanup in cFrontend_config
9 years ago
Lázaro Clapp Jiménez Labora 6469a6c37b Implement '-a crashcontext' and '-st trace' options to invoke BoundedCallTree.ml from the command line.
9 years ago
Dulma Churchill 7fd1149f85 Add NPE check for weak variables captured in blocks
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
Andrzej Kotulski ed3470c30e unify handling of many special cases in callExpr_trans
9 years ago
Dulma Churchill fb607ef388 Use the block captured variables as mangled
9 years ago
Jules Villard 4078a2b276 pass down --reactive and --continue to python
9 years ago
Daiva Naudziuniene dfb7c15303 Fixing Resource leak false positives assuming developers use raii.
9 years ago
Jules Villard 9378913223 add constructor info to c++ methods
9 years ago
Sam Blackshear e95ebca786 factoring out some utility methods for testing access-based stuff
9 years ago
Lázaro Clapp Jiménez Labora 9f7cb87bb0 Add stacktrace extras to BoundedCallTree checker.
9 years ago
Sam Blackshear 0ca19da3cf allowing custom procname in analyzerTester
9 years ago
Sam Blackshear a33e047377 allow access path base to be an ident as well
9 years ago
Lázaro Clapp Jiménez Labora d4a9a6cde1 Add initial stack trace parsing code for semantic blame
9 years ago
Sam Blackshear d6149c7741 switching to by-ref semantics
9 years ago
Martino Luca 062ec6c872 Translate VAArgExpr
9 years ago
Martino Luca 4ba864780e Translate OffsetOfExpr
9 years ago
Andrzej Kotulski f40033fc5f Update fcp
9 years ago
Dulma Churchill 62da495510 Start transitioning logging of frontend bugs into a map of errlogs rather than in procdescs
9 years ago
Andrzej Kotulski b8044c6b65 Use mangled names instead of function type for mangling
9 years ago
Sam Blackshear d946a7bc33 fix ugly printing of NONE idents
9 years ago
Sam Blackshear 27fa745cee using more general version of join_all_traces
9 years ago
Sam Blackshear 16b31acfc9 add_trace function for access tree + tests
9 years ago
Andrzej Kotulski e61b6fe719 Use pointers to decls instead of class names when creating a type
9 years ago
Lázaro Clapp Jiménez Labora b9a5a3b5ad Add initial version (k=1, undirected) of the bounder calltree analysis checker for the Semantic Blame project
9 years ago
Sam Blackshear e94fc21410 deleting stacktrace
9 years ago
Andrzej Kotulski 118295e03c Fix C++ models of c library
9 years ago
Dulma Churchill 1617d470f1 Creating a specific type for frontend issues
9 years ago
Josh Berdine e8fd648fe8 Fix mod_dep for reason conversion, add mod_dep.pdf
9 years ago
Dulma Churchill 694ded4795 Make the description of issues specify the error kind
9 years ago
Sam Blackshear 09e45710d3 join for access trees and tests
9 years ago
Josh Berdine e739b0e6ea Refactor Sil.dexp into separate DecompExp module
9 years ago
Josh Berdine ccd32690d7 Refactor Sil.call_flags into separate CallFlags module
9 years ago
Josh Berdine eefe05b240 Refactor Sil.Subtype into separate Subtype module
9 years ago
Josh Berdine aba67b4a2a Refactor Sil.binop into separate Binop module
9 years ago
Josh Berdine 2154c2c483 Refactor Sil.unop into separate Unop module
9 years ago
Josh Berdine 9487cab145 Refactor Sil.const into separate Const module
9 years ago
Josh Berdine 54403206fd Eliminate unnecessary recursion for strexp type
9 years ago
Josh Berdine e62bfb44a3 Eliminate unnecessary recursion for dexp type
9 years ago
Josh Berdine fba137e9ef Eliminate unnecessary recursion for const type
9 years ago
Josh Berdine a1b680c473 Move attributes from const to exp
9 years ago
Josh Berdine a379729e1f Use Prop.atom_negate in Rearrange
9 years ago
Josh Berdine 5f309ebb23 Tighten type of Aobjc_null to reduce recursion
9 years ago
Josh Berdine 32d09545e2 Closure values are not constants
9 years ago
Josh Berdine c5ce74f3d3 Exception values are not constants
9 years ago
Sam Blackshear b2c422827a adding <=, tests to access tree domain
9 years ago
Sam Blackshear 05505b55fd beginnings of access tree domain, tests
9 years ago
Sam Blackshear 15534be574 eliminate tmp vars in resource leak error message
9 years ago
Dulma Churchill 0253608fab Separate the flow of the frontend checks form the translation
9 years ago
Dulma Churchill 5566ca1fd9 Add a new error kind Advice
9 years ago
Sam Blackshear 7b58c71475 centralize creation and detection of clang tmp vars, fix errdesc/bucketing
9 years ago
Dulma Churchill bcb1422a9a Implement direct atomic var check with the new ivar to property map
9 years ago
Josh Berdine 7e59032a42 Move analyzer type and ops from Utils to Config
9 years ago
Sam Blackshear 9df3b8f653 eliminating dead stores created by copy-propagation
9 years ago
Andrzej Kotulski 046654a9c0 Fix translation of unary operator! for all integral types
9 years ago
Josh Berdine 061bb2d799 Change length of Dsizeof from an exp to a dexp
9 years ago
Dulma Churchill 6ac4db7113 Change the check CXX_REFERENCE_CAPTURED_IN_OBJC_BLOCK to use only the clang ast
9 years ago
Josh Berdine caff49e411 Cleanup some usage messages
9 years ago
Josh Berdine ac50b01240 Simplify defining new executables
9 years ago
Josh Berdine c6438da919 Add HOWTO define new config option doc
9 years ago
Sam Blackshear 314d022e38 add abstraction of access path, use in access path set domain
9 years ago
Dulma Churchill cf72de9460 Make ObjC virtual functions return nil if they are called with nil, even if they are going to be skipped.
9 years ago
Jules Villard 60c5b87ffd make --merge accept absolute paths
9 years ago
Jules Villard b95b71fa85 add option to assume that malloc never returns null
9 years ago
Jules Villard b95aaefb37 make --abs-val great again
9 years ago
Sam Blackshear 006bd06adb add concept of a dummy identifier
9 years ago
Sam Blackshear 2439dcf91f copy propagation step 1: propagate copies in the CFG
9 years ago
Sam Blackshear 16bf929dbe fix confusing `$irvar0` error messages
9 years ago
Josh Berdine 843d380d10 Simplify DB initialization
9 years ago
Josh Berdine 29dfacdffb Treat relative paths wrt initial working directory
9 years ago
Josh Berdine 9608504b57 Ignore non-existent dirs when looking for specs
9 years ago
Josh Berdine e1403f2a0c Create log dir only if results_dir exists
9 years ago
Andrzej Kotulski d1fa1e130d Define STATIC_ANALYSIS macro when using glog/logging.h
9 years ago
Andrzej Kotulski 9b07a3e762 Never call destructor on delete expression
9 years ago
Andrzej Kotulski 1f089d0e4b update fcp commit
9 years ago
Andrzej Kotulski e46cddb52b Use mangling in function parameters to encode its position
9 years ago
Sam Blackshear b9fefe9d9b better unit tests for procCfg
9 years ago
Sam Blackshear cf5871e76f fixing broken backward/per-instr cfg by taking a different approach
9 years ago
Sam Blackshear 37f943a3fa unifying checking of temporary variables
9 years ago
Sam Blackshear 7544e500bf adding finite access paths, tests, and basic utilities
9 years ago
Andrzej Kotulski c3acb3a015 Make InferPrint print to stdout/stderr
9 years ago
Andrzej Kotulski 98f324409d print reason of analysis failure in html
9 years ago
Andrzej Kotulski afc192b100 Add -Xbuck option to pass arguments to buck build
9 years ago
Dulma Churchill c06795e631 Fixing the treatment of annotations in the clang frontend
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
Sam Blackshear da054beb00 adding exp_sub_ids, instr_sub_bound_ids
9 years ago
Peter O'Hearn 1edb492b70 One step closer to shipping initial GUARDEDBY
9 years ago
Josh Berdine b25572fafb Convert INFER_ONDEMAND_FILE env var to clopt
9 years ago
Josh Berdine a2a7e07708 Add OCaml toplevel driver executable
9 years ago
Dulma Churchill 7f3e99c3d4 Fix assert false when calling zero_value_of_numerical_type
9 years ago
Sam Blackshear 9d95a3a199 don't warn if procedure is marked VisibleForTesting
9 years ago
Sam Blackshear 03df3a0c47 supporting guarding on outer-class this in inner class
9 years ago
Andrzej Kotulski 14f5f6b8e4 Update clang and raise buffer size
9 years ago
Josh Berdine df0d26e3c7 Move Logging setup to Logging
9 years ago
Martino Luca b27bf407db Aggregate buck stats per target
9 years ago
Josh Berdine a5791d7f43 Remove dead code
9 years ago
Josh Berdine 9bada2f929 Add config option for FCP_CLANG_INCLUDE_TO_REPLACE
9 years ago
Sam Blackshear 7ae14d0bdf don't report on compiler-generated access$ methods
9 years ago
Dulma Churchill f90bf94bd7 Making empty vector an error
9 years ago
Sam Blackshear df257da918 supporting @GuardedBy(MyClass.class) idiom
9 years ago
Andrzej Kotulski 4d90ef99f0 Fix custom type_ptr to char* and char
9 years ago
Jules Villard 8796f2c7ef add travis CI
9 years ago
Sam Blackshear 6304e30f5a don't warn on read-write locks
9 years ago
Josh Berdine f3d7d4d0d6 Deabbreviate CLOpt.exe constructors
9 years ago
Josh Berdine e1d49821fd Fix minor heap size calculation
9 years ago
Josh Berdine 4e67ff6771 Fix bug in AttributesTable stats
9 years ago
Peter O'Hearn da0933fd79 first try at dereferencing lock on monitor enter
9 years ago
Jules Villard a7fdb09600 add quick-test target
9 years ago
Josh Berdine 3a47b4064b Fix --help and friends that 2 phase parsing broke
9 years ago
Sam Blackshear c1b5a4b03e don't treat `x = &y` as a copy
9 years ago
Sam Blackshear b940c4dfac warning on guarded-by writes
9 years ago
Dulma Churchill b1e3d994bd Report more cases of null dereference as empty vector access
9 years ago
Dulma Churchill 52e8d8a560 Expand links under buck-out
9 years ago
Josh Berdine ec7af097eb Generalize extra options for make module
9 years ago
Josh Berdine bbec166174 Refactor Sil.typ into separate Typ module
9 years ago
Josh Berdine ce19de4a42 Show timeouts in progress bar in stats mode
9 years ago
Josh Berdine a6a766b5f5 Refactor Sil.Int into separate IntLit module
9 years ago
Josh Berdine 3828bdd544 Make int_compare avoid overflow
9 years ago
Sam Blackshear 35f86fbe7b separate lazy dynamic dispatch from dynamic dispatch handling in preanalysis
9 years ago
Josh Berdine 229ca26c8b Optimize normalization, substitution, renaming of array types
9 years ago
Dulma Churchill 5adab3cb61 Fix StmtExpr
9 years ago
Cristiano Calcagno de0f98389a Add sample checker to detect reads and writes to globals
9 years ago
Jules Villard d2f7cb44fa disable dead code checker on clang
9 years ago
Peter O'Hearn 8613f16c19 drop GuardedBy ui_thread warnings
9 years ago
Dulma Churchill a68c45c2a9 Fix dyspatch_async calls
9 years ago
Sam Blackshear 1e60923e63 improve errdesc to account for copy-propagation
9 years ago
Sam Blackshear 49136a187b fixing bug in exceptional preds/succs in per-instr procCfg
9 years ago
Jeremy Dubreil 17da853fa8 Do not angelically remove the file attribute on the reciever for virtual calls
9 years ago
Josh Berdine a85a88d145 Extend Sizeof with final extensible array length
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
Dulma Churchill 08c1c5bbf0 Change desc of npe message regarding pointer inside smart pointers
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
Sam Blackshear fa077c75d0 kill uses of Config.curr_language in subtyping part of prover.ml
9 years ago
Jules Villard 533831a206 move all config variables to Makefile.config.in
9 years ago
Dulma Churchill bf9d194e43 Translate builtin_expect as its first argument. Avoids weird symb. exec. problems
9 years ago
Jules Villard e873a2c502 build the bdump dict again
9 years ago
Andrzej Kotulski 617ffab0ac Add @generated comment to icfg.dot files
9 years ago
Sam Blackshear 7ec8f59998 adding find_in_node_or_preds to clean up errdesc
9 years ago
Martino Luca f89e66dc60 Stats aggregator for frontend/backend/reporting
9 years ago
Sam Blackshear 83a14a3541 changing API to take pdesc instead of cfg
9 years ago
Jules Villard d1eff7436b build more things
9 years ago
Dino Distefano daf043bff1 Fixing shortcircuit in binary operator.
9 years ago
Andrzej Kotulski 1a98bc6492 update facebook-clang-plugins
9 years ago
Andrzej Kotulski 3699b9c0dc Fix translation of passing struct parameters by value
9 years ago
Cristiano Calcagno 8639042bc0 Remove dead renaming code
9 years ago
Jeremy Dubreil 91c25fe636 revert the use of the jar cache
9 years ago
Daiva Naudziuniene 10f1036937 Normalizing source path.
9 years ago
Sam Blackshear 04f88d60ea kill dead code created by D3288789
9 years ago
Sam Blackshear f45a7ec1eb using taint kind in taint sink specifications
9 years ago
Dulma Churchill de615594df Skip whitelisted functions form trace
9 years ago
Sam Blackshear 25578de26d redesigning abstract interpreter to allow easy composition of analyses
9 years ago
Andrzej Kotulski 99a58e691d Report empty vector access in tabulation.ml
9 years ago
Cristiano Calcagno 56cfac14da Fix issue in join where the origin of a variable would be lost in a loop.
9 years ago
Sam Blackshear e3e80dd2f0 don't report on private unguarded accesses
9 years ago
Sam Blackshear 36ee3730aa reporting error on unprotected access to field annotated with @GuardedBy
9 years ago
Andrzej Kotulski 8ccdff649f Report empty vector access instead of null dereference
9 years ago
Josh Berdine 1177f21aa4 Optimize deserialization retrying
9 years ago
Josh Berdine 3fe1cbb6ec Fix bug in sym_eval
9 years ago
Josh Berdine 0947a67a7e Remove dead Sil.*_iter_types functions
9 years ago
Josh Berdine 66faedbf15 Optimize attribute loading
9 years ago
Jules Villard dbb6d08254 cleanup inferconfig stuff now that everything has been ported to the CLI
9 years ago
Jules Villard 21367b0e98 add matchers from inferconfig to the CLI
9 years ago
Jules Villard 9748a8f1a3 add {enable,disable}_checks from inferconfig to the CLI
9 years ago
Jules Villard 8f154144c0 add skip_clang_analysis_in_path from inferconfig to the CLI
9 years ago
Jules Villard aec3d0ccdf add skip_translation_headers from inferconfig to the CLI
9 years ago
Jules Villard 13cb7d8ed9 test OSS build as part of `make test`
9 years ago
Jules Villard 92aef2a411 fix make -j8 clean test
9 years ago
Cristiano Calcagno 08546ce7bb Move vim comments up.
9 years ago
Cristiano Calcagno 52e9ebc252 Enable syntax highlighting for Reason files on GitHub.
9 years ago
Josh Berdine d8f50c748b Revise the units of measure for perf stats
9 years ago
Jules Villard e695e14ee1 add various filter options from inferconfig to the CLI
9 years ago
Jules Villard 3fe032ccf0 accept any option through .inferconfig
9 years ago
Jules Villard 1c56310f39 build in one directory only
9 years ago
Sam Blackshear 9fdd094a89 refactoring annotation reachability checker to allow custom src/sink annotations
9 years ago
Sam Blackshear 5b041d46ad remember when a method is synchronized
9 years ago
Peter O'Hearn 6f951e70d3 Non-resource model for locks
9 years ago
Sam Blackshear 3cea4279b6 adding locked proof obligation when lock is not held
9 years ago
Dulma Churchill 83e6ab1a20 Blacklist translation of files in inferconfig
9 years ago
Dulma Churchill 93fcf7be9f Skip cpp models from traces
9 years ago
Josh Berdine e211e489c7 Add target to convert files to reason
9 years ago
Sam Blackshear a45844f409 identify reads of fields protected by @GuardedBy
9 years ago
Sam Blackshear 8cff90ed21 adding find_map_opt utility function
9 years ago
Sam Blackshear cfa7739963 hiding implementation of var
9 years ago
Cristiano Calcagno fd04004b43 Update README with Reason dependencies
9 years ago
Cristiano Calcagno 885beed0b1 Convert the Intermediate Representation to Reason.
9 years ago
Dino Distefano aae1dbac3d Skipping reporting global variable warning on known non-expensive cases.
9 years ago
Jules Villard 438a4b430b fix github build
9 years ago
Sam Blackshear 1bb73ee3b6 adding map domain
9 years ago
Dino Distefano f37ed66888 Added new taint source/sink for iOS
9 years ago
Cristiano Calcagno b7b31982ee Fix the position of some comments.
9 years ago
Josh Berdine acb227ec30 Pre-parse inferconfig_home and project_root
9 years ago
Josh Berdine 88a2da91fc Add `make -C infer/src test_build` to `make test`
9 years ago
Sam Blackshear 83f511107b stop reporting handler leaks
9 years ago
Sam Blackshear 44edd9ba7f fix frontend crash when running on Java 8
9 years ago
Dulma Churchill 6d8d9f56c2 Reducing the scope of all frontend checks on declarations
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
Jules Villard 944176bf67 load json config files lazily and at most once
9 years ago
Dulma Churchill 9b1bd712b5 Marking getters/setters as builtins only inside the definition of the class
9 years ago
Sam Blackshear 6e75c1e33f delete old preanalysis code
9 years ago
Sam Blackshear 3b6fa0939b adding taint kind to taint source specifications
9 years ago
Sam Blackshear 258e765d4e adding integrity source/sink annotations
9 years ago
Josh Berdine f1dabb747c Ease down InferPrint debug printing
9 years ago
Jules Villard 9de3f9792c print legend for the output
9 years ago
Josh Berdine 3e2fa59262 Reimplement command line options
9 years ago
Dulma Churchill d73d4ea177 Getting a more precise type when creating ObjC objects
9 years ago
Sam Blackshear c92bbf362b removing need to pass around lists of temporary id's in the frontend
9 years ago
Sam Blackshear 3f49f3a1d4 using liveness to add removetemps instructions
9 years ago
Sam Blackshear ef1b76d27b new procCfg type with each node containing at most one instruction
9 years ago
Sam Blackshear 0becc32a88 factoring Node module out of CFG
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
Jeremy Dubreil a352c0ffa8 Lazily load summaries from zip files
9 years ago
Josh Berdine 0cda42fc90 Add target to build single module
9 years ago
Jeremy Dubreil 6dfd1a317e Some cleanup and renaming
9 years ago
Sam Blackshear f60b17d8b9 correctly handling Sil.Letderef(Var, Var) Sil.Set(Var, _) in copy propagation
9 years ago
Josh Berdine 7ed2425320 Incorporate _tags file into Makefile
9 years ago
Josh Berdine 12e42fefd9 Fix perf stats filename for relative path clusters
9 years ago
Sam Blackshear b20ef20644 Allowing custom procCfg node types
9 years ago
Sam Blackshear 6f6da12b2c don't nullify params/locals at beginning of procedure
9 years ago
Sam Blackshear ebcfae388a handling Set(Var, _,) as read of var in liveness analysis
9 years ago
Jules Villard d4521fd70d handle utf8 PWD
9 years ago
Dulma Churchill f88e5be395 Move the npes regarding smart pointers from B5 to B1.
9 years ago
Sam Blackshear 442cf66fdc don't fail when nullifying a var not in the prop
9 years ago
Sam Blackshear 49d32859cb adding optional postprocessing step to transfer functions
9 years ago
Sam Blackshear 90a5a5912f allowing extra data to be packaged along with procCfg
9 years ago
Sam Blackshear f3fe199a25 Forcing node ids of procCfg's to be Cfg.Node.id
9 years ago
Jeremy Dubreil b3baf72df8 Lazy dinamic dispatch: add missing case where the right hand side is a idenfier
9 years ago
Sam Blackshear e96b94204c widen at pre instead of at post
9 years ago
Jeremy Dubreil 71b6581823 No longer save the list of SKIP_FUNCTION warnings in the report
9 years ago
Dulma Churchill 54a3bdd455 Load the attribute file to get the getter/setter info from the procdesc
9 years ago
Jeremy Dubreil 8072d2c1e5 report errors when all the postconditions are error states
9 years ago
Sam Blackshear 46fc0bb1dc remove recursive call in try/with
9 years ago
Jeremy Dubreil 0737b9231d make Tabulation.prop_get_exn_name return an option type
9 years ago
Sam Blackshear ffc4e2d213 checking supertypes for annotations
9 years ago
Sam Blackshear b228584855 refactoring get_strict_supertyps to use iteration for more flexibility
9 years ago
Luis Cruz 51f4dc7a9a added Tenv.get_overriden_method
9 years ago
Andrzej Kotulski 2989105318 Decrease number of allocations in Prop.typ_normalize
9 years ago
Sam Blackshear 77791b7e8e warn on deref of nullable skip function
9 years ago
Sam Blackshear 843bcc1576 support tainting of annotated fields
9 years ago
Dino Distefano 83c1bbc832 Implementing a checker to warn initialization of global variables with mehod calls.
9 years ago
Peter O'Hearn 50081c7ccb alloc/dealloc model for locks
9 years ago
Dino Distefano a15095c854 Introducing a mechanism of white/black listing of checks/error reporting based on .inferconfig
9 years ago
Dulma Rodriguez 7671fe755f Skip translation and checks from headers in specified folders
9 years ago
Andrzej Kotulski 05c218d84f Declare local variable for conditional in procdesc
9 years ago
Sam Blackshear a10d7099c7 warning on deref of nullable retvals
9 years ago
Dulma Rodriguez be91fb5429 Fix toll free bridging
9 years ago
Sam Blackshear 3e8b681135 big refactoring to improve API for subtyping related operations
9 years ago
jrm 9b6de7aeb0 Do not report @NoAllocation and @PerformanceCritical violations in "unlikely" branches
9 years ago
Josh Berdine 5710a3e887 Do not special case default InferPrint results_dir
9 years ago
Sam Blackshear 6113497020 delete callbackChecker and deps
9 years ago
Andrzej Kotulski 66d3d492f8 Fix translation of BinaryConditionalOperator
9 years ago
Dulma Rodriguez 8a1288860b Make alloc save a given procanem in the path
9 years ago
jrm 82670de0c8 improve errors traces for the @NoAllocation and the @PerformanceCritical checker
9 years ago
Cristiano Calcagno 45621ab171 Fix two issues in the prover.
9 years ago
Sam Blackshear e1e62be243 supporting new @PrivacySource/PrivacySink annotations
9 years ago
Sam Blackshear 596d8338ee dealing with exceptional control-flow in abstract interpreter
9 years ago
Dino Distefano b7ab1760a6 Translation of lambda [part one]
9 years ago
Sam Blackshear 6aca1cdfef exceptional procCfg
9 years ago
Jules Villard 70c8494625 opacify the type of node ids
9 years ago
Jules Villard ac6ef1d9f6 kill Sil.Goto
9 years ago
Sam Blackshear 988ceafbf0 adding try/catch/finally instruction to structured SIL
9 years ago
Cristiano Calcagno 054ad223a8 Fix control-flow graph shape when conditional is last instruction.
9 years ago
Dulma Rodriguez d366bb970b Create the procdescs for frontend checks only when needed
9 years ago
Josh Berdine 7a5cc8f42c Add make target for module dependency graph
9 years ago
Sam Blackshear f8ecbd800a moving noAllocation checker into AbsInt framework
9 years ago
Josh Berdine a5e1a6c77e Report time and memory stats
9 years ago
Dulma Rodriguez 6b2b76d956 Translate dynamic arrays to cpp classes
9 years ago
Josh Berdine 5481f14768 Remove dead code introduced in 41e99357
9 years ago
Andrzej Kotulski 590f73b59f Translate functions/methods from headers when they are referenced
9 years ago
Josh Berdine b881887bf2 Refactor Utils.SymOp into separate module
9 years ago
Josh Berdine e1020c8ebe Remove -open(Utils) compile flag hack
9 years ago
Andrzej Kotulski 037b27d465 Put goto label map into Context instead of one global map
9 years ago
Sam Blackshear e468d3d189 using address equality optimization in all abstract domains
9 years ago
Sam Blackshear 378ab69558 consistent API and usage for extracting Java types from strings
9 years ago
Josh Berdine 35e1a8740a Add checkcopyright to test build
9 years ago
Sam Blackshear 15aaa39fea allowing class-level Expensive and PerformanceCritical annotations
9 years ago
Andrzej Kotulski e495a81942 Remove parent_dec from translate_one_decl
9 years ago
Josh Berdine 213fe46c89 Move ml_loc and operations to Logging
9 years ago
Sam Blackshear 0a14ac8e2a pair domain
9 years ago
Sam Blackshear e54db73bab pass tenv to the transfer functions
9 years ago
Andrzej Kotulski 64bb3b62b3 Use variable stmt location info in init_res_trans
9 years ago
Cristiano Calcagno dbbf3b8758 Fix issue in merge of captured buck targets where .start file was overwritten.
9 years ago
Dulma Rodriguez bc3134dd32 Translate initializing arrays of C++ classes
9 years ago
Sam Blackshear b5b4d436ba ContentResolver methods that open files are sinks
9 years ago
Josh Berdine 61c5a80567 Clean files generated by setup.sh
9 years ago
Dulma Rodriguez 44491679cf Fix broken tests in master
9 years ago
Sam Blackshear e9cb9f4352 assign pointer type checker
9 years ago
Josh Berdine ee206dbc12 Simplify NCPU computation and avoid fork bombs
9 years ago
Sam Blackshear 44a6bf7128 move Var into its own module
9 years ago
Sam Blackshear c499645f6f better names in AbstractDomain and TransferFunctions modules
9 years ago
Sam Blackshear 967dcec7f1 liveness analysis and unit tests
9 years ago
Dino Distefano 1b21869108 Disabling the NSNotification center error from the backend
9 years ago
Sam Blackshear 7166a4856c nullifying vars captured in blocks
9 years ago
Jules Villard 660250dcf7 move Dom.JoinState to its own file
9 years ago
Cristiano Calcagno 031f433b15 Print timing information in InferClang debug mode.
9 years ago
Cristiano Calcagno a386cf7dbf Fix quadratic behaviour of collect_res_trans.
9 years ago
Cristiano Calcagno 8759017f7c Store proc attributes inside bucket directories.
9 years ago
Sam Blackshear aa1588372e using address-taken checker in liveness analysis
9 years ago
Cristiano Calcagno d2ff52e17c Fix some issues with merging the capture from several buck targets.
9 years ago
Josh Berdine 9539b430f7 Create symlinks in near future when merging
9 years ago
Sam Blackshear c8b87ed0c8 passing caller pdesc into the transfer functions
9 years ago
Jules Villard f813b801ee change external buckversion
9 years ago
Sam Blackshear 6504b58802 support for interprocedural checkers
9 years ago
Jules Villard 27f4b99a7a create "install" target
9 years ago
Josh Berdine b4bc7904f5 Move SymExec.lookup_java_typ_from_string to Tenv
9 years ago
Jules Villard f0512bcd91 create infer/bin/ symlinks from the makefile
9 years ago
Josh Berdine 61d2a50809 Simplify interface of SymExec
9 years ago
Josh Berdine fd062cf736 Refactor SymExec.ModelBuiltins into toplevel module
9 years ago
Cristiano Calcagno 509a666ee0 Refactor Sil.pvar into a separate module.
9 years ago
Cristiano Calcagno 53702e43e8 Created IR folder for the intermediate representaion files.
9 years ago
Sam Blackshear c03f39f20c Fixing some issues with Obj-C blocks
9 years ago
Josh Berdine 2dcd93204c Refactor SymExec.Builtin into toplevel module
9 years ago
Josh Berdine 6ae225dd62 Merge captured targets after parsing args
9 years ago
Cristiano Calcagno d41d452b67 Make eradicate work in the absence of procdescs for callees.
9 years ago
Josh Berdine 97bc95e8c9 Allow relative or absolute names in ondemand_file
9 years ago
Dulma Rodriguez c0e5365458 Translate delete of arrays with the correct destructor
9 years ago
Dino Distefano b7e93737df This diff exclude names containing queue from the strong delegate warning
9 years ago
Dulma Rodriguez 0c5bca7a4b Translate arrays created with new
9 years ago
Jules Villard d95ed8e9a7 write filenames as ascii only
9 years ago
Josh Berdine 63b1df9966 Print usage message when cl arg parsing fails
9 years ago
Dulma Rodriguez c6524d799f Translate C++ constructors after new
9 years ago
Cristiano Calcagno e34e369835 Complete command-line support for reactive mode with buck on iOS.
9 years ago
Sam Blackshear a71caccc80 address-taken analysis and tests
9 years ago
Dino Distefano fc5d4897a5 Registered Observer check done by front-end
9 years ago
Cristiano Calcagno b7bc95e1f9 Add option -merge_captured to merge the result of capture for different targets.
9 years ago
jrm af80cdc168 Enable the printing of OCaml exceptions stack traces
9 years ago
Cristiano Calcagno c198d76631 Clean up the Procname module, and remove remaining assert false
9 years ago
Sam Blackshear 91ae1baebc massive refactoring of harness generation
9 years ago
Dulma Rodriguez 9f7bfea98f Translate CXXStdInitializerListExpr
9 years ago
jrm e734c1873d Fix cases of resource leaks not detected when the resource indirectly implements Closeable
9 years ago
Sam Blackshear fb5c5c8515 turning off copy-propagation
9 years ago
Sam Blackshear f9bffe1e87 move remove_tmps and add_abstraction steps into the pre-analysis
9 years ago
Sam Blackshear dec843f5f5 copy-propagation analysis + tests
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
Sam Blackshear ab1ac822f6 Replacing Ctuple with Cclosure
9 years ago
jrm 0b56374b11 Seprate the concept of @PerformanceCritical from the concept of @NoAllocation
9 years ago
Josh Berdine 66d865ff6a Accept command line options via environment vars
9 years ago
Cristiano Calcagno 86304b3d9c Prevent assert false from occurring on Java functions in Procname.
9 years ago
Jules Villard 4384870b44 move utils.Escape to its own file
9 years ago
Sam Blackshear 8913e38dbd getting rid of bottom
9 years ago
Dulma Rodriguez a62ccc7a05 Fixing init list expr when there is no variable or compound literal expression
9 years ago
Dulma Rodriguez 7ffb635719 Restore translating C++ methods only in cxx experimental mode
9 years ago
Sam Blackshear 7d10105060 moving tracecalls around so tests will pass on open-source build
9 years ago
Dulma Rodriguez 10a14a7324 Translate CXXTypeidExpr
9 years ago
Sam Blackshear 63f8a3e709 refactoring facebook-specific and open-source taint lists to fix open-source tests
9 years ago
Dino Distefano 45ae457150 Renamed files to reflect the new structure of the translation.
9 years ago
Nick Firmani 1c819770e2 Add SuppressViewNullability annotation
9 years ago
Dino Distefano ce0ae5c821 Refactoring in preparation of implementing C++ lambda
9 years ago
Cristiano Calcagno 010b57e7cc Add --continue option for reactive analysis to continue the capture.
9 years ago
Dulma Rodriguez 3d4942a748 Restore not translating header in testing mode
9 years ago
Cristiano Calcagno 3c4013d363 In debug mode, write html files for headers too.]
9 years ago
jrm cc4fcd6837 Add support for modeling @Expensive methods using .inferconfig
9 years ago
Jules Villard c637c10d0f Revert "[java] no longer catching Class_structure_exception"
9 years ago
Cristiano Calcagno 909473f3da Clean up code to produce html pages of analysis results in debug mode.
9 years ago
Cristiano Calcagno e71ae11cae Activate timeout logging in the progress bar when developer mode is on.
9 years ago
Andrzej Kotulski eb76a441f9 Initial implementation of shared_ptr model
9 years ago
Cristiano Calcagno b2969820a4 Avoid loading the cfg explicitly to find a proc desc.
9 years ago
jrm 81a59515e4 Simplify the code to collect the list of @SuppressWarnings annotations
9 years ago
Sam Blackshear 8d62fd12ca pretty-printable versions of common data structures
9 years ago
Dulma Rodriguez a4b87a0951 Translate destructor calls
9 years ago
Dulma Rodriguez 91a2eaa5f1 Translate CXXPseudoDestructorExpr
9 years ago
Cristiano Calcagno a06d854364 Make the API of Exe_env return options instead of throwing exceptions.
9 years ago
Dulma Rodriguez c20ace4a1a Add flag cxx experimental to the clang frontend
9 years ago
jrm 793911c847 Add the possibility to analyze procedure descriptions on-demand without serialization
9 years ago
Sam Blackshear 7fb8f8b651 adding type-specific taint error messages
9 years ago
Sam Blackshear 15f0c7e384 adding "kind" for taint attribute
9 years ago
Cristiano Calcagno 7c464c5bac Cleanup toplevel InferAnalyze and include procedures in the progress bar.
9 years ago
Cristiano Calcagno 71f81f102c Restore printing of html for procedures
9 years ago
Sam Blackshear 730a2afaaf more consistency with abbreviated functions names in abstract domain signature
9 years ago
Dulma Rodriguez edbd7854b2 Translate SizeOfPackExpr
9 years ago
Sam Blackshear ddfd35107c unit tests for abstract interpreter
9 years ago
Sam Blackshear 2f44f3faa8 adding generic abstract interpreter
9 years ago
Sam Blackshear b62bdc46b6 adding scheduler abstraction and reverse postorder scheduler
9 years ago
Cristiano Calcagno 494dabf638 Simplify code in SymExec: cleanup and look up cfg.
9 years ago
jrm e123635122 Add support for @SuppressWarnings for Gradle and Ant projects.
9 years ago
Dulma Rodriguez ff3455452a Add trace to frontend checks
9 years ago
Dulma Rodriguez c9e5d27e0d Translate GCCAsmStmt
9 years ago
Sam Blackshear 85747084b5 adding dependency on ounit
9 years ago
Dulma Rodriguez 6c567f1104 Translate GenericSelectionExpr
9 years ago
Dulma Rodriguez ef3e516f6f Translate ImplicitValueInitExpr
9 years ago
Sam Blackshear 62965e8051 adding runner for OCaml unit tests
9 years ago
Sam Blackshear 177574c29e type signatures for abstract domains and transfer functions
9 years ago
Dulma Rodriguez d499d5fc8e Translate C++ exceptions
9 years ago
Sam Blackshear 65de2d9946 refactoring procCfg API to make it easier to mock
9 years ago
Sam Blackshear 2d89426170 fixing tenv_lookup
9 years ago
Sam Blackshear 337d2cc537 fixing tenv_add to add only struct_typ's
9 years ago
Sam Blackshear 749a649138 translating an expression returns its type
9 years ago
jrm 082ca6a90a Initial support for lazy dynamic dispatch
9 years ago
Sam Blackshear 82f2b7b6de make tenv a typename -> struct_typ map
9 years ago
Sam Blackshear 878bf938eb kill Tenum
9 years ago
Dino Distefano b7d6f2a3bd Fixed problem with null pointer dereference in c library models.
9 years ago
Cristiano Calcagno 89a2f2a7b4 Keep only on-demand infrastructure and delete the rest or the infrastructure.
9 years ago
jrm 761902afad for the @PerformanceCritical checker, skip allocations reports on subtypes of java.lang.Throwable instead of only java.lang.Exceptions
9 years ago
Cristiano Calcagno e0d5847eb8 Deprecate incremental
9 years ago
Dino Distefano c868f51b2d Introducing checker for observer of notification centers
9 years ago
Cristiano Calcagno 021cf213a6 Bypass the interprocedural algorithm in Fork with ondemand, and replace it with a simple iteration.
9 years ago
jrm 8ce56968d6 no longer report NULL_TEST_AFTER_DEREFERENCE in tracing mode
9 years ago
Dulma Rodriguez 379d185d74 Sort the fields in the tenv at the end of translation as some translations need the original order
9 years ago
jrm 697778cc3b Add the annotation @IgnoreAllocations to stop tracking allocations whenever useless
9 years ago
Samuel Blackshear ed580c59e9 implementing procedure cfg wrapper
9 years ago
Cristiano Calcagno f3ba6c3906 Revamped Timeout module to save and restore seconds and symops.
9 years ago
Dino Distefano be8f25c90b Improved/simplified framework for frontend checkers.
9 years ago
Dulma Rodriguez 4264e94565 Fix problems with translation of InitListExpr
9 years ago
Josh Berdine 2c489371dd Revert "[ondemand][backend] Turn on on-demand infrastructure by default"
9 years ago
Peter O'Hearn bec08365de Part 1 of double unlock, locks as resources
9 years ago
jrm 1f5529c67e The @NoAllocation checker should not report on created exceptions
9 years ago
Cristiano Calcagno 16402cddc0 Save global state for abstraction for on-demand.
9 years ago
Cristiano Calcagno 90489d7f54 Always analyze procedures when analyze_models is set.
9 years ago
Andrzej Kotulski decb263b1d Fix translation when accessing reference type fields
9 years ago
Cristiano Calcagno ccd760b239 Fix pre-analysis crash in master.
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
Sam Blackshear cd002e5c46 fixing angelic mode for struct values passed by reference
9 years ago
Sam Blackshear 9f346ea1fc allowing abstraction of Tvar's
9 years ago
Andrzej Kotulski a83f544775 Make Sil.expand_type non-recursive
9 years ago
Andrzej Kotulski e4a0e9bbf7 Translate CXXDefaultInitExpr
9 years ago
Cristiano Calcagno 2b1558af6d Turn on on-demand infrastructure by default
9 years ago
Cristiano Calcagno 57b4497663 Start reactive exploration from changed procedures only.
9 years ago
kstreee a7e004472d Resolve a bug that Infer does not analyze procedures when the analyzer is run on '/'.
9 years ago
Cristiano Calcagno 42ecddcf37 Add command line arguments for reactive mode.
9 years ago
Cristiano Calcagno c570d97ad8 Cleanup code for registering builtins.
9 years ago
Cristiano Calcagno bf2909dd34 Cleanup global state in module Fork.
9 years ago
Josh Berdine de31246399 Builtin.builtin_plain_functions is no longer used
9 years ago
Josh Berdine b54fbc2776 Add test_build target warnings not fatal otherwise
9 years ago
Josh Berdine 3a7f4b9d3f Add byte target
9 years ago
Josh Berdine 4e8008baf2 Simplify setting ocamlbuild options
9 years ago
Dulma Rodriguez 2fb2b3d9e1 Add the virtual flag of C++ methods in method calls
9 years ago
Josh Berdine c585383fba Let ocamlfind find include and lib files
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 9163b319a6 Fix whitespace issues from last diff
9 years ago
Josh Berdine a73d7be9a8 Remove unused support for ocaml < 4.02
9 years ago
Andrzej Kotulski 941a1c02fb Increase size of biniou buffer, add logging in case of failure
9 years ago
Josh Berdine 77b22ded03 Warn on unused identifiers
9 years ago
Josh Berdine 02056079cf Warn of unused values
9 years ago
Josh Berdine a87ef7e7ff Remove old front-end code
9 years ago
jrm c6d8cdc8ee Add support for @NoAllocation in the performance critical checker
9 years ago
jrm 14d4f862eb @Performance critical checker: compute the expensive call stack lazily when reporting errors
9 years ago
Sam Blackshear 091f31dd17 translating monitor exit/enter
9 years ago
Dulma Rodriguez 7721743f46 Model ObjC method isKindOfClass
9 years ago
Dulma Rodriguez efd3aeccc6 Using the attributes table to find out the method to call in virtual calls
9 years ago
Andrzej Kotulski f703d780da Translate headers located inside analyzed project
9 years ago
Josh Berdine a6d7bbb38b Warn of unescaped end-of-line in a string constant
9 years ago
jrm 4af130bf8d remove subtyping rule for the @PerformanceCritical annotation
9 years ago
Josh Berdine 55cb61dbda Warn of unused open statements
9 years ago
Josh Berdine b155168083 Open Utils implicitly
9 years ago
Josh Berdine 8a9f221119 Use Utils in jTransExn and jTransStaticField
9 years ago
Josh Berdine 7f231b8aa0 Move pi and sigma types from Dom to Prop
9 years ago
Josh Berdine 2fa5c5b4e9 Warn of unused types
9 years ago
Josh Berdine 89338c86e9 Warn of unused constructors
9 years ago
Josh Berdine 2e4f4a0c5f Warn of label omitted in function application
9 years ago
Josh Berdine 2f47142b94 Warn of unused loop index variables
9 years ago
Josh Berdine bd8284443c Warn of unused extension (exception) constructors
9 years ago
Josh Berdine 7e7d524e29 Enable -short-paths for better error messages
9 years ago
Josh Berdine 4f4b00fffa Enable -strict-sequence
9 years ago
Josh Berdine 675cfeb56c Enable -strict-formats
9 years ago
Josh Berdine 9bdd1a9d0f Enable -principal to check ambiguous code
9 years ago
Sam Blackshear 5833835289 dynamic dispatch for virtual calls in Java
9 years ago
Josh Berdine fb96eaabcd Make ocamlbuild obey make --silent
9 years ago
Josh Berdine 264038f3ee Make clean target obey --silent
9 years ago
Dino Distefano e0fe2af712 Added a two new attributes: observer/unsubscribed_observer
10 years ago
Andrzej Kotulski 3320043217 Fix further problems with forward declarations in C/C++
10 years ago
Andrzej Kotulski 32a5cae175 Fix infinite loop in type expansion
10 years ago
Andrzej Kotulski 3db68bcb4c Create .start file when infer starts
10 years ago
Dulma Rodriguez 5db8fa4539 Remove tvars from the tenv
10 years ago
Sam Blackshear 556b9c121d improving error message from fragment retains View checker
10 years ago
Dulma Rodriguez bf90a64fb5 Fix the typing implication in the bi-abduction for non Java types
10 years ago
Cristiano Calcagno 2a926d8294 Remove uses of assert false to get original ml location.
10 years ago
Andrzej Kotulski 8c832142b4 Don't add process type redeclaration unless it has definition
10 years ago
Sam Blackshear 7af27e07d5 deleting unused type_prop.ml
10 years ago
Sam Blackshear 5e9a21573b preventing Bad_footprint when passing struct value by reference
10 years ago
jrm 36cc1b0d2e Remove dead code. Feature now implemented in .inferconfig
10 years ago
jrm 904151888c fix treatment of linked list in Java
10 years ago
Dulma Rodriguez ac7959f2df Adding subtyping to ObjC
10 years ago
Cristiano Calcagno 047eec5a6f Refactor callbacks for Eradicate and Checkers.
10 years ago
Dino Distefano c65947439f Implementing translation of CXXForRangeStmt
10 years ago
Sam Blackshear d0cd8fca47 removed unused param footprint_part
10 years ago
Cristiano Calcagno 88e1d137ba Refactor State module and make OnDemand restore it after calls.
10 years ago
Sam Blackshear 0fbd333cab Checker that complains when Fragments don't nullify their Views
10 years ago
Cristiano Calcagno d31b041fba Replace CRC module with Digest.
10 years ago
Cristiano Calcagno 6be7266f1f Restore intraprocedural mode for Eradicate and Checkers
10 years ago
Cristiano Calcagno 34b62fc51c Inline Java synthetic methods systematically before writing the cfg to disk.
10 years ago
Cristiano Calcagno 987471d938 Remove unused code for cyclomatic complexity.
10 years ago
Sam Blackshear 526e155046 move resolve_method inside method_invocation
10 years ago
Cristiano Calcagno 41de08924b Indentation of command-line agruments.
10 years ago
Andrzej Kotulski 49d7bdb6bd Translate CXXScalarValueInitExpr
10 years ago
Andrzej Kotulski 359ad9dd4b Translate constructor initializer
10 years ago
Andrzej Kotulski 1d6aea0fb9 Add typ to trans_state.var_exp
10 years ago
Andrzej Kotulski 7cabc86f77 Pass return parameter type in context
10 years ago
Peter O'Hearn 028ac24d46 Simple model for locks
10 years ago
Jules Villard cbb8810e2c make dotty field optional in json
10 years ago
Jules Villard e11395d199 print location of errors in infer source code in debug mode
10 years ago
Andrzej Kotulski 8545a0310e Treat xvalues as they were lvalues
10 years ago
Andrzej Kotulski 36fb1f202c Deal with empty parameter names
10 years ago
Jeremy Dubreil 70dbe8db74 Simplify the type comparison of Java classes
10 years ago
Sam Blackshear 7938fbb344 Fixing 'file name too long' errors
10 years ago
Sam Blackshear f3c7125dc1 build ocaml with debug tag to enable stack traces
10 years ago
Andrzej Kotulski da3a106541 Always translate CXXRecordDecl as Sil.Class
10 years ago