1589 Commits (af51599e0f828a2b8c663faee78c880523e99daf)

Author SHA1 Message Date
Josh Berdine f9ca08a9a8 Refactor Exp.t-keyed collections from Sil to Exp
8 years ago
Josh Berdine d60965824e Refactor exp_equal and exp_compare to Exp
8 years ago
Josh Berdine 701eb20f83 Refactor Sil.exp to Exp.t
8 years ago
Josh Berdine 6ffe204252 Make Aobjc_null attribute a binary predicate
8 years ago
Josh Berdine 4185bda8ba Generalize predicates from unary to nary
8 years ago
Josh Berdine b6544eace7 Remove redundant normalization
8 years ago
Josh Berdine c2f62f3a97 Remove tuple type redundant with atom
8 years ago
Josh Berdine a8ce65b221 Encode polarity of predicates into atom tag
8 years ago
Josh Berdine b09b28f10f Add negated attributes, with 2-valued semantics
8 years ago
Josh Berdine 71a15b2388 Represent attributes with atoms, not disequalities
8 years ago
Martino Luca e3132152cb Check for the presence of removeObserver into class hierarchy
8 years ago
Lázaro Clapp Jiménez Labora d23c99a4ea Add blame_range to crashcontext analysis.
8 years ago
Sam Blackshear 8ff9f2afab making get_reachable_hpreds understand inductive predicates
8 years ago
Vaibhav Tulsyan dba179845b Minor typo fix
8 years ago
Josh Berdine 06cbdfa651 Cosmetic changes to improve Reason conversion
8 years ago
Josh Berdine fe780cb6ff Move comments to improve attachment
8 years ago
Josh Berdine 32146523ca Enable warning: Unexpected documentation comment
8 years ago
Ryan Rhee d2a4028881 Call decl checkers on DeclStmt statements
8 years ago
Lázaro Clapp Jiménez Labora 7c3110b76f Extract stacktrace.ml regexp constructors to module level.
8 years ago
Lázaro Clapp Jiménez Labora 751d027f8d Remove 'open Jsonbug_t' scope clutter.
8 years ago
Lázaro Clapp Jiménez Labora 85add041d4 CI Tests for crashcontext handling of native methods
8 years ago
Lázaro Clapp Jiménez Labora 5296688c1f Match classname for stackframes in crashcontext checker.
8 years ago
Lázaro Clapp Jiménez Labora 0a8b95a856 Crashcontext ocaml method summary merging
8 years ago
Lázaro Clapp Jiménez Labora d5848d8c94 Add parsing of native methods on the stacktrace.
8 years ago
Lázaro Clapp Jiménez Labora 58d008a026 Add Stacktree ATD type for serializing/decerializing crashcontext results.
8 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.
8 years ago
Josh Berdine 3064caacdb Remove stale Autounit module
8 years ago
Martino Luca bed9b31c62 Add general context to linters framework to implement smarter checks
8 years ago
Jules Villard aee1eeba3d restore --pmd-xml functionality
8 years ago
Martino Luca f64be4596b Implement containsOnlyLines matcher for tests
8 years ago
Zac Sweers aed5e6bee8 Support butter knife 8's BindView annotation
8 years ago
Sam Blackshear 0a747b8eb2 fixing some of the issues with passing classpath in a file
8 years ago
Sam Blackshear 3233666b11 extract callsite to its own module
8 years ago
Sam Blackshear ed9495a893 delete unused class-to-source mapper processor
8 years ago
Dulma Churchill 8d279748fa Adding a key to the lint issues
8 years ago
Martino Luca da2717ff2a Migrate BAD_POINTER_COMPARISON check from backend to linters infra
8 years ago
Martino Luca adb0ef8a78 Alphabetize CIssue
8 years ago
Dulma Churchill ff597a6c03 Model init method in NSData and understand the field bytes
8 years ago
Sam Blackshear 4490d9b033 fix recognition of inner class this guarded-by strings
8 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
8 years ago
Daiva Naudziuniene ac9cabe677 Fixing Memory leak false positives in C++/ObjC
8 years ago
Lázaro Clapp Jiménez Labora 9a79e74380 Crashbot results stitching and end-to-end testing.
8 years ago
Sam Blackshear 33b417c280 generalizing `add_trace` to `add_node`
8 years ago
Sam Blackshear 706acdfd9e generalizing get_trace to get_node
8 years ago
Sam Blackshear b500a5c4b5 don't warn in cases where GuardedBy string is clearly unrecognizable
8 years ago
Sam Blackshear e9aecd0afe widen for access trees
8 years ago
Jules Villard 01ffc387bb resolve symlinks recursively until the real infer executable is found
8 years ago
Lázaro Clapp Jiménez Labora 76764c148a Output the callee sumaries of -a crashcontext to per-method files.
8 years ago
Lázaro Clapp Jiménez Labora cbd1b9c7ba Refactor common code on multiple methods of InferRestults
8 years ago
Sam Blackshear 6a1a0d68da create access paths from expressions
8 years ago
Jules Villard 10f10a90c6 diverge on `throw`
8 years ago
Jules Villard fb7aed07c6 typo and whitespace cleanup in cFrontend_config
8 years ago
Lázaro Clapp Jiménez Labora 6469a6c37b Implement '-a crashcontext' and '-st trace' options to invoke BoundedCallTree.ml from the command line.
8 years ago
Dulma Churchill 7fd1149f85 Add NPE check for weak variables captured in blocks
8 years ago
Andrzej Kotulski 0aa5101a05 Replace space with _ in type names
8 years ago
Andrzej Kotulski 5ed50f5a97 Keep more precise information in constructor's var_exp_typ
8 years ago
Dulma Churchill 102f61e2a7 Move a few missing tests to the new location
8 years ago
Andrzej Kotulski ed3470c30e unify handling of many special cases in callExpr_trans
8 years ago
Dulma Churchill fb607ef388 Use the block captured variables as mangled
8 years ago
Jules Villard 4078a2b276 pass down --reactive and --continue to python
8 years ago
Jules Villard 354e4c0391 fail when clang -### <args> returns nothing
8 years ago
Daiva Naudziuniene dfb7c15303 Fixing Resource leak false positives assuming developers use raii.
8 years ago
Jules Villard 9378913223 add constructor info to c++ methods
8 years ago
Sam Blackshear e95ebca786 factoring out some utility methods for testing access-based stuff
8 years ago
Lázaro Clapp Jiménez Labora 9f7cb87bb0 Add stacktrace extras to BoundedCallTree checker.
8 years ago
Sam Blackshear 0ca19da3cf allowing custom procname in analyzerTester
8 years ago
Sam Blackshear a33e047377 allow access path base to be an ident as well
8 years ago
Lázaro Clapp Jiménez Labora d4a9a6cde1 Add initial stack trace parsing code for semantic blame
8 years ago
Sam Blackshear d6149c7741 switching to by-ref semantics
8 years ago
Jules Villard ba75de4b79 skip gcc-specific flag -fno-canonical-system-headers
8 years ago
Martino Luca f0fffd3c59 Add `dotty` field constant
8 years ago
Martino Luca 062ec6c872 Translate VAArgExpr
8 years ago
Martino Luca 4ba864780e Translate OffsetOfExpr
8 years ago
Andrzej Kotulski f40033fc5f Update fcp
8 years ago
Dulma Churchill 62da495510 Start transitioning logging of frontend bugs into a map of errlogs rather than in procdescs
8 years ago
Andrzej Kotulski b8044c6b65 Use mangled names instead of function type for mangling
8 years ago
Sam Blackshear d946a7bc33 fix ugly printing of NONE idents
8 years ago
Sam Blackshear 27fa745cee using more general version of join_all_traces
8 years ago
Sam Blackshear 16b31acfc9 add_trace function for access tree + tests
8 years ago
Andrzej Kotulski e61b6fe719 Use pointers to decls instead of class names when creating a type
8 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
8 years ago
Sam Blackshear e94fc21410 deleting stacktrace
8 years ago
Dulma Churchill 8b0b485921 Refactoring of tests, separating the tests for linters
8 years ago
Dulma Churchill 41d93dd889 Model numberWithUnsignedInteger, skipping it was creating a false positive NPE
8 years ago
Andrzej Kotulski 118295e03c Fix C++ models of c library
8 years ago
Dulma Churchill 1617d470f1 Creating a specific type for frontend issues
8 years ago
Josh Berdine e8fd648fe8 Fix mod_dep for reason conversion, add mod_dep.pdf
8 years ago
Dulma Churchill b9384aab2e Make the toplevel aware of the new error kind advice
8 years ago
Dulma Churchill 694ded4795 Make the description of issues specify the error kind
8 years ago
Sam Blackshear 09e45710d3 join for access trees and tests
8 years ago
Josh Berdine e739b0e6ea Refactor Sil.dexp into separate DecompExp module
8 years ago
Josh Berdine ccd32690d7 Refactor Sil.call_flags into separate CallFlags module
8 years ago
Josh Berdine eefe05b240 Refactor Sil.Subtype into separate Subtype module
8 years ago
Josh Berdine aba67b4a2a Refactor Sil.binop into separate Binop module
8 years ago
Josh Berdine 2154c2c483 Refactor Sil.unop into separate Unop module
8 years ago
Josh Berdine 9487cab145 Refactor Sil.const into separate Const module
8 years ago
Josh Berdine 54403206fd Eliminate unnecessary recursion for strexp type
8 years ago
Josh Berdine e62bfb44a3 Eliminate unnecessary recursion for dexp type
8 years ago
Josh Berdine fba137e9ef Eliminate unnecessary recursion for const type
8 years ago
Josh Berdine a1b680c473 Move attributes from const to exp
8 years ago
Josh Berdine a379729e1f Use Prop.atom_negate in Rearrange
8 years ago
Josh Berdine 5f309ebb23 Tighten type of Aobjc_null to reduce recursion
8 years ago
Josh Berdine 32d09545e2 Closure values are not constants
8 years ago
Josh Berdine c5ce74f3d3 Exception values are not constants
8 years ago
Sam Blackshear b2c422827a adding <=, tests to access tree domain
8 years ago
Sam Blackshear 05505b55fd beginnings of access tree domain, tests
8 years ago
Sam Blackshear 15534be574 eliminate tmp vars in resource leak error message
8 years ago
Andrzej Kotulski f313cf2a82 Add hack to not use __make_integer_seq in fatal/type/sequence library
8 years ago
Dulma Churchill 0253608fab Separate the flow of the frontend checks form the translation
8 years ago
Dulma Churchill 5566ca1fd9 Add a new error kind Advice
8 years ago
Sam Blackshear 7b58c71475 centralize creation and detection of clang tmp vars, fix errdesc/bucketing
8 years ago
Dulma Churchill bcb1422a9a Implement direct atomic var check with the new ivar to property map
8 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 9cda4ca6bf Add models of shared_ptr comparison operators
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
Jules Villard 959730de2f modify API to be able to hook extra infer options easily
9 years ago
Carlos Sierra 92801ba1c9 Invoke javac through argument file to avoid too long argument list
9 years ago
Martino Luca 120892d7dd Pass Infer configs to cross-cell buck targets
9 years ago
Sam Blackshear aa76d51e14 adding @OkToExtend annotation
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
Martino Luca 6c48377318 Emit friendly message when stats aggregation fails running
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
Lázaro Clapp Jiménez Labora 95a12d9706 model String.equals(...) as '=='
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
Andrzej Kotulski 3603fc3176 Modify cast_with_enforce.cpp test to not include <string>
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
Jules Villard 447ef0e4ce fix sync mishaps
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
Daiva Naudziuniene 6054b4c6d4 Improved ndk-build integration.
9 years ago
Josh Berdine 4e67ff6771 Fix bug in AttributesTable stats
9 years ago
Jules Villard 5ba5fcd4bb add -l option to limit parallelism, and pass -j and -l to the buck frontend
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
Andrzej Kotulski 8d3e7e774e Move location of clang installation
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
Andrzej Kotulski a825831625 Model vector::resize(n) as nonempty vector
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
Andrzej Kotulski 76f7912420 Make sizeof(std::shared_ptr) = 16
9 years ago
Peter O'Hearn 508d6a3ae7 optional model
9 years ago
Daiva Naudziuniene d707c717f0 ndk-build integration test
9 years ago
Josh Berdine 229ca26c8b Optimize normalization, substitution, renaming of array types
9 years ago
Daiva Naudziuniene b594d74d34 Adding LANG global to fix ndk-build integration.
9 years ago
Dulma Churchill 5adab3cb61 Fix StmtExpr
9 years ago
Daiva Naudziuniene 51f7d3ebb2 Integrating ndk-build with infer
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
Jules Villard 596823bd32 support `clang -c file1.c file2.c`
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
Andrzej Kotulski b81b3f4791 Always run C compiler with -fsyntax-only
9 years ago
Jeremy Dubreil 0a2c47cdd5 Unify the way objects of a given type are created in the models
9 years ago
Jeremy Dubreil a756b7bff2 models for Preconditions.checkArgument
9 years ago
Jeremy Dubreil 17da853fa8 Do not angelically remove the file attribute on the reciever for virtual calls
9 years ago
Jeremy Dubreil 707a9ae51b Fix resource leaks in the testing framework
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
Jeremy Dubreil 3a2a6c7c44 Do not run the unsafe guarded access in prod
9 years ago
Jules Villard 1dc636a971 more concise API for creating build integration tests
9 years ago
Martino Luca c39f3b0768 Aggregate stats info emitted during analysis
9 years ago
Jeremy Dubreil 6d37b5ee6d Always collect the statistics and create a report file for Buck projects, even when the target contains no Java source code
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
Josh Berdine c959af34cb Remove specs before rebuilding models
9 years ago
Sam Blackshear fa077c75d0 kill uses of Config.curr_language in subtyping part of prover.ml
9 years ago
Peter O'Hearn e7d36ed58a model of holdsLock
9 years ago
Jules Villard 533831a206 move all config variables to Makefile.config.in
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
Jules Villard e873a2c502 build the bdump dict again
9 years ago
Andrzej Kotulski 617ffab0ac Add @generated comment to icfg.dot files
9 years ago
Jules Villard 6bb3b30c36 do not crash when pygments crashes
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