1609 Commits (3ddc23d7e54c628f778cbdfc338149c0e7044326)

Author SHA1 Message Date
Jules Villard c2ca6a23d5 pass -l to infer.py
8 years ago
Dulma Churchill 9ae19d01d0 Make the is_global_var not fire for the static local variables
8 years ago
Cristiano Calcagno ed8d112e87 Convert Inferprint and Inferanalyze to Reason
8 years ago
Jules Villard 26a6594b90 detect unsigned values inside structured expressions
8 years ago
Martino Luca 7de52e7649 Check early whether the given decl has to be checked with linters or not
8 years ago
Jules Villard e1f19192c0 move --fail-on-issue functionality to OCaml
8 years ago
Cristiano Calcagno 91d9cd83b5 Cleanup instruction names: use Load/Store instead of Letderef/Set.
8 years ago
Cristiano Calcagno c0969da619 Remove unused module CodeQuery.
8 years ago
Sam Blackshear 262a121cf6 handle casts
8 years ago
Sam Blackshear 514107ec88 track sinks
8 years ago
Sam Blackshear f0028669ee propagate tainted sources
8 years ago
Andrzej Kotulski 761579469e Revert "[C++] Move models of smart pointers to custom namespace"
8 years ago
Jules Villard 3f60f54fbf align --help and support -h
8 years ago
Dulma Churchill 07bf714d91 Put current method in context
8 years ago
Jules Villard 2da8940a80 test that running infer deletes the previous infer-out folder
8 years ago
Jules Villard 4e2cc84bcb compile *.java files only
8 years ago
Cristiano Calcagno 6221956149 Apply type resolution to qualify fields and variants in Prop.
8 years ago
Sam Blackshear 3b12208e1b intraprocedural taint analysis that records sources
8 years ago
Jules Villard dda4921786 exit with correct error code when infer.py fails
8 years ago
Sam Blackshear 90c8f55c32 adding missing functionality to analyzerTester
8 years ago
Sam Blackshear e853b01051 taint domain
8 years ago
Sam Blackshear 20584be8f3 mapping of ids to raw access path
8 years ago
Jules Villard 0add05de87 do not print infer.py usage message on wrong arguments
8 years ago
Jules Villard 145cb744f6 do not havoc actuals of skip functions with const parameters
8 years ago
Jules Villard 7603395ee9 qual_type fields are namespaced now
8 years ago
Dulma Churchill b7ec110ea3 Adding new mode linters
8 years ago
Dulma Churchill 3d39fba622 Refactor InferPrint and store the lint issues in a serialized data structure that InferPrint picks up and prints.
8 years ago
Andrzej Kotulski 121c968e77 Move models of smart pointers to custom namespace
8 years ago
Jules Villard 49adf59332 do not crash when setting locale fails
8 years ago
Martino Luca 40b176fd01 Translate global const vars locally to a procedure
8 years ago
Martino Luca 6840efdd1c fix imports in MutableLocalVariableTest
8 years ago
Sam Blackshear c2043af70d functor for creating trace domain
8 years ago
Sam Blackshear 462bf68f46 killing is_bottom
8 years ago
Sam Blackshear f99b30c4cd abstracting passthroughs more aggressively
8 years ago
Lázaro Clapp Jiménez Labora 175efddc2b Make stacktrace and stacktree line number an int option.
8 years ago
Lázaro Clapp Jiménez Labora 616e8fddd4 Make stacktrace parsing work when line number info is not available.
8 years ago
Ryan Rhee e81e43456b Test mutable local variables in CK files
8 years ago
Ryan Rhee 957bdde05e Test that component kit headers skips imported headers
8 years ago
Ryan Rhee a134669f73 Make issues warnings again
8 years ago
Raghavendra Prabhu d9699264e0 Fixes/updates to build on linux.
8 years ago
Ryan Rhee d594a525ac Test that CK rules don't fire in non-component files
8 years ago
Ryan Rhee da771ac5aa Mutable local vars
8 years ago
Ryan Rhee 8a40482fac Detect when in CK
8 years ago
Ryan Rhee 88897addfa Add in_main_file to context
8 years ago
Sam Blackshear 8f5542ed2f functor for creating traces from source and sink specs
8 years ago
Sam Blackshear 36e2175293 trace building blocks: sources and sinks
8 years ago
Andrzej Kotulski 185f6493bc Update fcp with new naming fixes
8 years ago
Martino Luca 3dae9dc4f6 Use Guava's Optional in tests
8 years ago
Ryan Rhee 5a8eb19041 Comment formatting for cFrontend_utils.mli
8 years ago
Ryan Rhee 70d5b604bf Split get_super into get_super_impl and get_super_if
8 years ago
Jules Villard cdce8f9794 better help
8 years ago
Ryan Rhee 894e92d4f3 Fix comment formatting for linter context
8 years ago
Ryan Rhee 3d719a24d9 Matcher w/ explicit error name
8 years ago
Ryan Rhee 6e6a7a8e5a Add is_ck_translation_unit to context
8 years ago
Cristiano Calcagno 66385dd5f4 Refactor module Prop by moving normalization functions into module Normalize.
8 years ago
Ryan Rhee e2ff6e58a5 `buck test componentkit` boilerplate
8 years ago
Cristiano Calcagno b48ec1ac93 Clean up API to access components of propositions.
8 years ago
Cristiano Calcagno 89270c558c Add module Core in Prop to make transitions between exposed and normalized explicit.
8 years ago
Sam Blackshear 034d2e3c81 adding accessTree.fold
8 years ago
Jules Villard 3b3f587652 update fcp to have qualifiers in ValueDecl types
8 years ago
Ryan Rhee 4a6202c772 Move get_super to utils
8 years ago
Josh Berdine a9a38f20ec Simplify normalization in Attribute.remove
8 years ago
Josh Berdine 3896b10265 Move Prop.Attribute to toplevel
8 years ago
Josh Berdine 60496f2ae4 Minor cleanup of Prop.Attributes interface
8 years ago
Josh Berdine 4053d24bed Refactor Prop ops on attributes into sub-module
8 years ago
Martino Luca b7d70ff178 Add support for extra cases of BAD_POINTER_COMPARISON warning
8 years ago
Josh Berdine 6555a84409 Make warning 23 (Useless record with clause) fatal
8 years ago
Josh Berdine c147ab4197 Refactor Sil.attribute and associates to PredSymb
8 years ago
Josh Berdine 25a52c7bbc Refactor operations on Exp.t in Sil to Exp
8 years ago
Josh Berdine 8a90190309 Remove dead Sil.binop_invert
8 years ago
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.
9 years ago
Lázaro Clapp Jiménez Labora cbd1b9c7ba Refactor common code on multiple methods of InferRestults
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
Dulma Churchill 102f61e2a7 Move a few missing tests to the new location
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
Jules Villard 354e4c0391 fail when clang -### <args> returns nothing
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
Jules Villard ba75de4b79 skip gcc-specific flag -fno-canonical-system-headers
9 years ago
Martino Luca f0fffd3c59 Add `dotty` field constant
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
Dulma Churchill 8b0b485921 Refactoring of tests, separating the tests for linters
9 years ago
Dulma Churchill 41d93dd889 Model numberWithUnsignedInteger, skipping it was creating a false positive NPE
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 b9384aab2e Make the toplevel aware of the new error kind advice
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
Andrzej Kotulski f313cf2a82 Add hack to not use __make_integer_seq in fatal/type/sequence library
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 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