654 Commits (f04c9795638924b9a4e251abe3fb77108f72a496)

Author SHA1 Message Date
Dulma Rodriguez 1e5b8aeee7 Adding builtin setters and using them by skip
9 years ago
Andrzej Kotulski 173ee91844 Support template methods
9 years ago
Andrzej Kotulski b544be7bef Use PriorityNode.compute_results_to_parent in init_expr_trans
9 years ago
Andrzej Kotulski cd77e41fbb Simplify PriorityNode.compute_results_to_parent
9 years ago
Andrzej Kotulski 84549f691d Support decl_stmt in switch stmt
9 years ago
Andrzej Kotulski a8d5f4241d Put condition node to res_trans_cond
9 years ago
Jules Villard a57ec90405 add empty _tags file to pacify ocaml
9 years ago
jrm 61e457b1f6 Run the @PerformanceCritical checker by default with the other checkers
9 years ago
martinoluca 0dfe0b8f75 Let InferPrint count timeouts
9 years ago
Dulma Rodriguez c02b3ca034 Add correct ivar name to the getters and save the ivar to the tenv if not available
9 years ago
Andrzej Kotulski 6d7521809b Update fcp to get automatic location visitor
9 years ago
Andrzej Kotulski eeb7c33230 Update fcp
9 years ago
Andrzej Kotulski 92690551a6 Handle lvalues inside conditional operator right + fix init_expr_trans to fix materializeTempExpr not connecting nodes
9 years ago
Dulma Rodriguez 9c9504ba51 Using the link from method decl to property to determine whether the method is accessor
9 years ago
jrm 3b919179bc Add the type of the resource being leaked to the error message
9 years ago
jrm 5a218a6d02 treat guava preconditions checks as assume instead of exeption throwing assertions
9 years ago
Jules Villard a774f5e733 compile with -safe-string
9 years ago
Jules Villard 8dabf716e0 remove compilation warnings for OCaml version >= 4.02.0
9 years ago
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