686 Commits (44a6ec4f10f0ead56ed1af83bd0857ae3e137d61)

Author SHA1 Message Date
Dulma Rodriguez 4b82e208ff Update facebook clang plugin after adding more info about ObjC properties
9 years ago
Sam Blackshear 8e8772f1aa make tainting work properly for skip functions
9 years ago
Dino Distefano dd5b3dfd83 Making the checker not report on init methods
9 years ago
Dino Distefano e76939b53b Drawing retain cycles
9 years ago
Dulma Rodriguez 37fdeb84bc Moving the property frontend checkers to a dummy procdesc
9 years ago
Andrzej Kotulski a1c1b10862 Use priority node for branches inside coditional operator
9 years ago
Andrzej Kotulski 9db84e3a86 Always translate record types
9 years ago
Jules Villard c95a142d76 remove GNU-specific install flags
9 years ago
Jules Villard 5019471640 migrate infer/src/Makefile
9 years ago
Jules Villard 7f1b494001 migrate infer/models/Makefile
9 years ago
Jules Villard 408ec141ad migrate infer/Makefile
9 years ago
Jules Villard dbfa1f7c69 migrate infer/annotations/Makefile
9 years ago
Andrzej Kotulski 96b659bb6e fix cpp frontend tests
9 years ago
Andrzej Kotulski 0bf7e46579 Translate C++ function templates
9 years ago
Sam Blackshear 4dc9dac9e9 getting started on a Nullable annotation checker for obj-c
9 years ago
Andrzej Kotulski d4e76fa9ec Refactor UnaryOperator_trans to use compute_results_to_parent
9 years ago
Andrzej Kotulski 71482fb472 Refactor CompoundBinaryOperator to use same code as BinaryOperator
9 years ago
Dino Distefano 99c491e8c7 Introducing the DIRECT_ATOMIC_PROPERTY_ACCESS
9 years ago
Dulma Rodriguez 12d21c73dd Adding builtins for getters and calling them by skip
9 years ago
Andrzej Kotulski 1349492e57 Update facebook-clang-plugins version
9 years ago
jrm 1aa354cf1f Skip the Buck build command when the list of target is empty
9 years ago
jrm a49b0965ef Model `android.view.View.findViewById` as an expensive method
9 years ago
martinoluca e62920ebae Add support for passing blacklist regex for files to not analyze with Buck
9 years ago
Jules Villard f7ecf30739 refactor pruning code in symExec.ml
9 years ago
Andrzej Kotulski 5a4f5fa444 Refactor BinaryOperator_trans to use compute_results_to_parent
9 years ago
Andrzej Kotulski 60b4f6e766 Refactor PriorityNode.compute_results_to_parent to call collect_res_trans directly
9 years ago
Andrzej Kotulski 35bb8a9a26 Change order in which ids get generated for objcMessageExpr_trans
9 years ago
Jules Villard 1abebf9046 minor cleanups in prop.ml
9 years ago
Andrzej Kotulski 3f9a08f99c Defer cfg node creation for returnStmt and init_expr_trans
9 years ago
Andrzej Kotulski 0d1af3cc46 Don't set succ_nodes for substatements in returnStmt and init_expr_trans
9 years ago
Andrzej Kotulski 9353c7bbfd Use qualified names for global variables
9 years ago
Andrzej Kotulski a06ce9ca0e Don't report null dereference on 'this' in C++ methods
9 years ago
Andrzej Kotulski 22b84162d6 Don't use trans_state.parent_line_number to determine location
9 years ago
Andrzej Kotulski 1eecdacea6 Ignore type change in UncheckedDerivedToBase cast
9 years ago
jrm b598c747b5 Always consider Java types as subtypes of themselves
9 years ago
jrm d712635feb Automatically infer the @PerformanceCritical annotations from the overriden methods
9 years ago
Sam Blackshear dcdebbd811 creating a framework for adding src/sink models based on method names/signatures alone
9 years ago
Sam Blackshear a6543cd665 simplifying use of process_splitting by moving normalization inside
9 years ago
Jules Villard 37d2e84192 dedup merged json reports
9 years ago
Cristiano Calcagno 8cd68cd890 Separate payloads from different analyses in specs.
9 years ago
Andrzej Kotulski ddbf4d9c47 Support template classes
9 years ago
Andrzej Kotulski 7389dfe976 Don't crash when method decl is not found
9 years ago
Dulma Rodriguez 0441919a42 Using clang's method resolution if possible
9 years ago
Sam Blackshear 867e7804af implementing abstract methods to avoid false negatives due to dynamic dispatch issues
9 years ago
Sam Blackshear 29ea879930 eliminating precondition not met in taint analysis
9 years ago
Sam Blackshear 353f23695a eliminate need to use attr_check_changed when adding or replacing attributes
9 years ago
Andrzej Kotulski 47f973660e Turn off compiler all warnings to avoid compilation failures
9 years ago
Andrzej Kotulski 81337ce2cb Support MaterializeTemporaryExpr
9 years ago
Jules Villard 22bd029e46 refactor print_and_save_errors
9 years ago
Jules Villard 529d103977 refactor reading json
9 years ago
Jules Villard fc2879ca8f refactor dumping of json
9 years ago
Andrzej Kotulski 04e4546a91 Major update of facebook-clang-plugins
9 years ago
Sam Blackshear 8eb668f668 deleting string models/tests
9 years ago
jrm 646c9dbb61 Report error message with call stacks for @PerformanceCritical checker
9 years ago
Sam Blackshear 848bf24f66 Print warnings when running InferPrint on a .specs file
9 years ago
Sam Blackshear 14c616e34f clean up some duplicate code in Errdesc
9 years ago
martinoluca 64189548b0 Add paths to specs through file list
9 years ago
Dulma Rodriguez 369de5880e Add variable to locals in dispatch functions as usual
9 years ago
jrm afac6dbfdc Fixing a couple of broken things in the script to compare Infer reports
9 years ago
Sam Blackshear c7c8d58334 fixing taint analysis so it doesn't prevent postcondition inference
9 years ago
Andrzej Kotulski 16cb8e3f30 Translate CXXOperatorCallExpr
9 years ago
Andrzej Kotulski c45f7793ea Assign proper location information to children of OpaqueValueExpr
9 years ago
Andrzej Kotulski dbe4c0c307 Assign proper location information to block
9 years ago
Sam Blackshear 8e9ed5eb6b adding model for verifying sockets before reading from them
9 years ago
Dino Distefano 761e4acc08 Adding models of CADisplayLink for catching retain cycles.
9 years ago
Andrzej Kotulski cb42fdcc31 Use fully qualified names for functions
9 years ago
Andrzej Kotulski 9748502a1a Handle C++ static methods
9 years ago
jrm 2e01d3402f adding some tests to outline the behaviour of the @Expensive checker with inheritance
9 years ago
jrm 8fb90ccf54 get the @PerformanceCritical and @Expensive annotatations of overridden methods from the summaries
9 years ago
Andrzej Kotulski c2aaf867cd Cleanup handling of namespaces from ocaml code
9 years ago
Andrzej Kotulski 71e424d6ba Use qual_name to extract class name from method decl
9 years ago
Dulma Rodriguez 87a3d693e1 Adding static variables to blocks class to get retain cycles
9 years ago
jrm 930eaba2d5 model Inflater and Deflater as resources
9 years ago
jrm 12e37c97fc sort the list of bugs in order to preserve the position of the entries in the JSON file
9 years ago
Sam Blackshear 631f2a9882 fixing spacing issue in context leak error message
9 years ago
Sam Blackshear 3d646f012e use buck query for faster target lookup
9 years ago
martinoluca 0ad19a3b93 Fix wrong module name in toplevel buck module
9 years ago
Dino Distefano 316ad95659 Fixing Bad pointer comparison checker in fast iteration
9 years ago
Dino Distefano 03b4c11c06 Improved error message for taint analysis
9 years ago
Josh Berdine 53a32848d5 Model and test FileChannel.tryLock throws
9 years ago
Andrzej Kotulski 55f9fb9d5e Add base class fields to C++ classes
9 years ago
Jules Villard 10db97be1e cleanup print_errors()
9 years ago
Josh Berdine bf408a1d03 Add models of FileChannel.tryLock methods.
9 years ago
Josh Berdine b77e24fa01 Model File.listFiles using undefined instead of allocation
9 years ago
Jules Villard 2367b1c9ff cleanup two c tests that were causing clang warnings
9 years ago
Andrzej Kotulski c4b237e9f6 Fix type of CXXThisExpr_trans
9 years ago
Dulma Rodriguez f20af0e9aa Add memory bucket for internal memory leak errors
9 years ago
Andrzej Kotulski 3262640214 Move translation of init_expr to general function
9 years ago
Jules Villard 81e143b3be move csv and json constants to issues.py
9 years ago
Jules Villard 9efc1b6be7 move mkdir_if_not_exists to utils.py
9 years ago
Jules Villard 1848f6deba move paths constants to config.py
9 years ago
Dulma Rodriguez 7d5e129ac0 Translate categories on demand
9 years ago
jrm 5691f24090 Use the summaries to store the @CallsExpensive attributes
9 years ago
Sam Blackshear 4fa4c9f0d6 Deleting models that specify a non-null return value
9 years ago
Sam Blackshear db7dd5aebe fixing angelic in case where unknown function is called indirectly
9 years ago
Josh Berdine f2ba1b1c76 Add model for java.io.File.listFiles
9 years ago
Jules Villard d545da14c1 fix stuff that was accidentally broken
9 years ago
Jules Villard 0490e739b0 move LOCALE to config.py
9 years ago
Jules Villard 2ec2858b66 move indenter to a new module source.py
9 years ago
Jules Villard 88b615d8ab move code about infer issues formats to issues.py
9 years ago
Jules Villard a416afeb44 move error types strings to a new issues.py
9 years ago
Jules Villard 9139ab5dfb move analyzer constants to config.py
9 years ago
Jules Villard ded09066ed create config.py and move BUG_FOUND_ERROR_CODE there
9 years ago
Andrzej Kotulski 1180aabe39 Fix result of returnStmt_trans
9 years ago
Dulma Rodriguez de1a627335 Translate enums as ints and not add them to the tenv
9 years ago
Jules Villard 80af77a528 revert back to printing python lists
9 years ago
Jules Villard 674c199605 remove vim hints
9 years ago
jrm b1b9cbe771 distinguish between the user added annotation @Expensive and the inferred annotation @CallsExpensive
9 years ago
Jules Villard 07ebdc0918 fix missing import
9 years ago
Jules Villard f72a1a4210 read errors from json instead of csv
9 years ago
Jules Villard ae81d8d215 handle unicode in source code
9 years ago
jrm 0cd533f892 Enforcing subtyping rules for @Expensive and @PerformanceCritical
9 years ago
jrm 6b6b4d1949 Detecting if methods annotated with @PerformanceCritical transitively call methods annotated with @Expensive
9 years ago
jrm 8636aa1f70 open the jar file of the model only once
9 years ago
Jules Villard e03b36338b rename infer.py to analyze.py
9 years ago
Jules Villard 5f57d199f3 print more info about ant/gradle/make/mvn capture
9 years ago
Jules Villard 571bb306cf [sync] repair broken github sync
9 years ago
Jules Villard 469d1e4902 fix printing number of analysed procs/files
9 years ago
Jules Villard 02b9bec78e remove extra newlines in infer output
9 years ago
Jules Villard d03dcb6961 generate json natively
9 years ago
Andrzej Kotulski db35afef1e Handle variable declaration inside condition expression correctly
9 years ago
Dulma Rodriguez 0db83eb5dd Adding the no progress bar option to the tests
9 years ago
jrm f5ddb983fe Initial version of the @Expensive checker
9 years ago
Jules Villard f88164dae9 define INFER_INFER_DIRECTORY more concisely
9 years ago
Jules Villard d0d0a5efa0 print copy-pastable compilation command in case of failure
9 years ago
Jules Villard 6bf9f47c14 add colored output
9 years ago
Andrzej Kotulski 3b4dda102b Change return type of CTrans.loop_instruction
9 years ago
Dino Distefano 0f5aa343e7 Fixed line number in the reporting of strong delegate warning
9 years ago
Jules Villard d50a401cd0 replace string constants for json fields with variables
9 years ago
Jules Villard 872ce8ea87 move python code to infer package
9 years ago
Dulma Rodriguez c602ce7a83 Adding progress bar to the analysis
9 years ago
Cristiano Calcagno 9177ba8d20 Add model for FileChannel.lock() returning not null
9 years ago
jrm a8388644b8 Add a flag to create the procedure descriptions of callees
9 years ago
Cristiano Calcagno 4300d1bf62 Add support for specifying the list of files to be analyzed in on-demand mode.
9 years ago
Dino Distefano 00e97afdf8 First version of taint analysis.
9 years ago
Andrzej Kotulski a9bdf2b291 Translate c++ constructor calls in var initialization
9 years ago
Dino Distefano ae49cacee8 Framework to emit warning from frontend
9 years ago
jrm 740f673451 build integration tests: temporarily removing the hash value for the base reports
9 years ago
Andrzej Kotulski 088293b6c2 Add pointer type to argument of method call
9 years ago
Jules Villard 47cc250bdd add way to save build integration test results
9 years ago
jrm 859b816e95 No longer report context leak on private methods
9 years ago
martinoluca 513eee3059 Adding initial support for Buck for Cxx with flavored targets
9 years ago
Jules Villard d151977b39 print stats in debug mode only
9 years ago
Cristiano Calcagno 078d3f1c1e Remove special treatment of harness code
9 years ago
Jules Villard 159d335da5 print source context together with each report
9 years ago
Jules Villard 43cb5ae7e0 refactor to expose indenter class
9 years ago
Dulma Rodriguez 80057ea523 Translate classes on demand
9 years ago
Jules Villard 8c1979410a print location of the html report
9 years ago
Jules Villard c68464bd29 add html backend
9 years ago
jrm d8e74e456c report leaks on all context, not only activities
9 years ago
Jules Villard 197b13434a use absolute path for BUILDDIR
9 years ago
jrm 4260c720c0 Disable the creation of the harness by default
9 years ago
jrm cbc19f484a Temporarily disabling the reporting on print args in Infer
9 years ago
jrm 6f3873aa99 Adding inferconfig support to skip the translation of generated source code
9 years ago
Sam Blackshear abc0e8315e better error messages for Activity leaks
9 years ago
Cristiano Calcagno 56ccb6b198 Fix assert false in Paths.
9 years ago
Cristiano Calcagno 6a922ff597 Print origin information for procedured modelled internally.
9 years ago
Andrzej Kotulski a7a332ea51 add different handling for C++ increment/decrement operators
9 years ago
Dulma Rodriguez 982616148e Adding endtoend test that shows that dispatch once works well
9 years ago
Dulma Rodriguez 56f3fb4f4b Translating structs and C++ classes only on demand
9 years ago
Dulma Rodriguez 1371ca96e9 Added endtoend test that shows that we can release objects inside a block
9 years ago
Andrzej Kotulski 9c578406a1 update clang plugin version
9 years ago
Andrzej Kotulski be07cdda2a Factor out some parts of CXXMemberCallExpr
9 years ago
Andrzej Kotulski 9e39f3bf72 Refactor of declRefExpr_trans & MemberExpr_trans
9 years ago
jrm 43958b461a Use the type environment as a cache of translated types
9 years ago
jrm 3076b434c1 Collect all the class fields in a single loop instead of collecting the static and non-static fields separately
9 years ago
jrm dc470816d1 Fix the option -a compile
9 years ago
Jules Villard 52f983253a remove -rec flag from atdgen
9 years ago
Dulma Rodriguez f1716988ec Adding endtoend test that shows the correct use of self inside a block
9 years ago
Andrzej Kotulski 1c80ba8bb7 simplify code handling default paramters
9 years ago
Dulma Rodriguez 042bcaf3e6 Adding endtoend test for blocks that shows proper handling of global variables and captured variables.
9 years ago
Dulma Rodriguez bee713e557 Fixing mangling of captured variables
9 years ago
Cristiano Calcagno 03bca6734c fix a number of issues related to the treatment of global state in ondemand analysis
9 years ago
Andrzej Kotulski 453924f303 Add basic translation of constructors
9 years ago
Andrzej Kotulski 87dfcdeb99 Replace '/' in anonymous type names
9 years ago
Jules Villard 1f973cfc12 refactor makefile to allow more ocaml and c libs to be added more easily
9 years ago
Sam Blackshear 04f92614e8 Moving printf args checker into Infer
9 years ago
Dulma Rodriguez 286d27be10 Remove the file information form the mangling of variable names
9 years ago
Jules Villard 7d0a7568f3 put Util.list_* functions into an IList module
9 years ago
Cristiano Calcagno f17f54939b checkers can now analyze a restricted subset of the procedures defined in a file
9 years ago
Andrzej Kotulski a5e1743382 Fix failing C++ frontend test
9 years ago
Andrzej Kotulski 5a07f767bb Handle assignment operations correctly
9 years ago
Andrzej Kotulski b86af1e5d1 Fix type information about reference types in CFGs
9 years ago
Cristiano Calcagno 596401856d report activity leaks without stopping the analysis
9 years ago
Jules Villard 2af1687cd4 add builtin for dictionary literals
9 years ago
Andrzej Kotulski bfe10e3829 Fix handling of C++ references
9 years ago
Dulma Rodriguez ba00f08f00 Remove variable resolution and use pointers to declarations instead
9 years ago
jrm c01df1fe90 no longer collect all possible subtypes in the type environment
9 years ago
Cristiano Calcagno 6ec888ec23 add option to create one cluster per procedure in on-demand mode
9 years ago
Dulma Rodriguez 6278b779df Adding memory leak bucket for cpp
9 years ago
jrm 3095b68127 Add a test case with @SuppressWarnings on a Buck project
9 years ago
jrm 2d074e82dc Add integration test for Buck
9 years ago
Andrzej Kotulski d360ba7776 update fcp
9 years ago
Dulma Rodriguez e49d9d6f4d Adding an outer context to the context in case of blocks
9 years ago
Jules Villard 5a7399f8cb fix always regenerating jsonbug with atdgen
9 years ago
Cristiano Calcagno 22aad3e33a Add basic support for on-demand for the core Infer analysis.
9 years ago
Dino Distefano e6625c9e37 Adding models for NSTimer and NSRunLoop
9 years ago
Andrzej Kotulski aa1951cad4 Create generic way of generating extra instructions
9 years ago
Andrzej Kotulski f63582893f Add basic e2e tests for C++
9 years ago
Andrzej Kotulski 7ac5a5c308 Refactor C frontend tests
9 years ago