949 Commits (006bd06adba428ce91364af27d4a43ea514b1aa6)

Author SHA1 Message Date
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
10 years ago
Jules Villard c637c10d0f Revert "[java] no longer catching Class_structure_exception"
10 years ago
Cristiano Calcagno 909473f3da Clean up code to produce html pages of analysis results in debug mode.
10 years ago
Cristiano Calcagno e71ae11cae Activate timeout logging in the progress bar when developer mode is on.
10 years ago
Andrzej Kotulski eb76a441f9 Initial implementation of shared_ptr model
10 years ago
Cristiano Calcagno b2969820a4 Avoid loading the cfg explicitly to find a proc desc.
10 years ago
jrm 81a59515e4 Simplify the code to collect the list of @SuppressWarnings annotations
10 years ago
Sam Blackshear 8d62fd12ca pretty-printable versions of common data structures
10 years ago
Dulma Rodriguez a4b87a0951 Translate destructor calls
10 years ago
Dulma Rodriguez 91a2eaa5f1 Translate CXXPseudoDestructorExpr
10 years ago
Cristiano Calcagno a06d854364 Make the API of Exe_env return options instead of throwing exceptions.
10 years ago
Dulma Rodriguez c20ace4a1a Add flag cxx experimental to the clang frontend
10 years ago
jrm 793911c847 Add the possibility to analyze procedure descriptions on-demand without serialization
10 years ago
Sam Blackshear 7fb8f8b651 adding type-specific taint error messages
10 years ago
Sam Blackshear 15f0c7e384 adding "kind" for taint attribute
10 years ago
Cristiano Calcagno 7c464c5bac Cleanup toplevel InferAnalyze and include procedures in the progress bar.
10 years ago
Cristiano Calcagno 71f81f102c Restore printing of html for procedures
10 years ago
Sam Blackshear 730a2afaaf more consistency with abbreviated functions names in abstract domain signature
10 years ago
Dulma Rodriguez edbd7854b2 Translate SizeOfPackExpr
10 years ago
Sam Blackshear ddfd35107c unit tests for abstract interpreter
10 years ago
Sam Blackshear 2f44f3faa8 adding generic abstract interpreter
10 years ago
Sam Blackshear b62bdc46b6 adding scheduler abstraction and reverse postorder scheduler
10 years ago
Cristiano Calcagno 494dabf638 Simplify code in SymExec: cleanup and look up cfg.
10 years ago
jrm e123635122 Add support for @SuppressWarnings for Gradle and Ant projects.
10 years ago
Dulma Rodriguez ff3455452a Add trace to frontend checks
10 years ago
Dulma Rodriguez c9e5d27e0d Translate GCCAsmStmt
10 years ago
Sam Blackshear 85747084b5 adding dependency on ounit
10 years ago
Dulma Rodriguez 6c567f1104 Translate GenericSelectionExpr
10 years ago
Dulma Rodriguez ef3e516f6f Translate ImplicitValueInitExpr
10 years ago
Sam Blackshear 62965e8051 adding runner for OCaml unit tests
10 years ago
Sam Blackshear 177574c29e type signatures for abstract domains and transfer functions
10 years ago
Dulma Rodriguez d499d5fc8e Translate C++ exceptions
10 years ago
Sam Blackshear 65de2d9946 refactoring procCfg API to make it easier to mock
10 years ago
Sam Blackshear 2d89426170 fixing tenv_lookup
10 years ago
Sam Blackshear 337d2cc537 fixing tenv_add to add only struct_typ's
10 years ago
Sam Blackshear 749a649138 translating an expression returns its type
10 years ago
jrm 082ca6a90a Initial support for lazy dynamic dispatch
10 years ago
Sam Blackshear 82f2b7b6de make tenv a typename -> struct_typ map
10 years ago
Sam Blackshear 878bf938eb kill Tenum
10 years ago
Dino Distefano b7d6f2a3bd Fixed problem with null pointer dereference in c library models.
10 years ago
Cristiano Calcagno 89a2f2a7b4 Keep only on-demand infrastructure and delete the rest or the infrastructure.
10 years ago
jrm 761902afad for the @PerformanceCritical checker, skip allocations reports on subtypes of java.lang.Throwable instead of only java.lang.Exceptions
10 years ago
Cristiano Calcagno e0d5847eb8 Deprecate incremental
10 years ago
Dino Distefano c868f51b2d Introducing checker for observer of notification centers
10 years ago
Cristiano Calcagno 021cf213a6 Bypass the interprocedural algorithm in Fork with ondemand, and replace it with a simple iteration.
10 years ago
jrm 8ce56968d6 no longer report NULL_TEST_AFTER_DEREFERENCE in tracing mode
10 years ago
Dulma Rodriguez 379d185d74 Sort the fields in the tenv at the end of translation as some translations need the original order
10 years ago
jrm 697778cc3b Add the annotation @IgnoreAllocations to stop tracking allocations whenever useless
10 years ago
Samuel Blackshear ed580c59e9 implementing procedure cfg wrapper
10 years ago
Cristiano Calcagno f3ba6c3906 Revamped Timeout module to save and restore seconds and symops.
10 years ago
Dino Distefano be8f25c90b Improved/simplified framework for frontend checkers.
10 years ago
Dulma Rodriguez 4264e94565 Fix problems with translation of InitListExpr
10 years ago
Josh Berdine 2c489371dd Revert "[ondemand][backend] Turn on on-demand infrastructure by default"
10 years ago
Peter O'Hearn bec08365de Part 1 of double unlock, locks as resources
10 years ago
jrm 1f5529c67e The @NoAllocation checker should not report on created exceptions
10 years ago
Cristiano Calcagno 16402cddc0 Save global state for abstraction for on-demand.
10 years ago
Cristiano Calcagno 90489d7f54 Always analyze procedures when analyze_models is set.
10 years ago
Andrzej Kotulski decb263b1d Fix translation when accessing reference type fields
10 years ago
Cristiano Calcagno ccd760b239 Fix pre-analysis crash in master.
10 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.
10 years ago
Sam Blackshear cd002e5c46 fixing angelic mode for struct values passed by reference
10 years ago
Sam Blackshear 9f346ea1fc allowing abstraction of Tvar's
10 years ago
Andrzej Kotulski a83f544775 Make Sil.expand_type non-recursive
10 years ago
Andrzej Kotulski e4a0e9bbf7 Translate CXXDefaultInitExpr
10 years ago
Cristiano Calcagno 2b1558af6d Turn on on-demand infrastructure by default
10 years ago
Cristiano Calcagno 57b4497663 Start reactive exploration from changed procedures only.
10 years ago
kstreee a7e004472d Resolve a bug that Infer does not analyze procedures when the analyzer is run on '/'.
10 years ago
Cristiano Calcagno 42ecddcf37 Add command line arguments for reactive mode.
10 years ago
Cristiano Calcagno c570d97ad8 Cleanup code for registering builtins.
10 years ago
Cristiano Calcagno bf2909dd34 Cleanup global state in module Fork.
10 years ago
Josh Berdine de31246399 Builtin.builtin_plain_functions is no longer used
10 years ago
Josh Berdine b54fbc2776 Add test_build target warnings not fatal otherwise
10 years ago
Josh Berdine 3a7f4b9d3f Add byte target
10 years ago
Josh Berdine 4e8008baf2 Simplify setting ocamlbuild options
10 years ago
Dulma Rodriguez 2fb2b3d9e1 Add the virtual flag of C++ methods in method calls
10 years ago
Josh Berdine c585383fba Let ocamlfind find include and lib files
10 years ago
Andrzej Kotulski 4584f7f6fc [clang-format] Reformat all c/cpp/objc sources with clang-format
10 years ago
Andrzej Kotulski 50fc847c10 Compile C models again in C++
10 years ago
Andrzej Kotulski 9163b319a6 Fix whitespace issues from last diff
10 years ago
Josh Berdine a73d7be9a8 Remove unused support for ocaml < 4.02
10 years ago
Andrzej Kotulski 941a1c02fb Increase size of biniou buffer, add logging in case of failure
10 years ago
Josh Berdine 77b22ded03 Warn on unused identifiers
10 years ago
Josh Berdine 02056079cf Warn of unused values
10 years ago
Josh Berdine a87ef7e7ff Remove old front-end code
10 years ago
jrm c6d8cdc8ee Add support for @NoAllocation in the performance critical checker
10 years ago
jrm 14d4f862eb @Performance critical checker: compute the expensive call stack lazily when reporting errors
10 years ago
Sam Blackshear 091f31dd17 translating monitor exit/enter
10 years ago
Dulma Rodriguez 7721743f46 Model ObjC method isKindOfClass
10 years ago
Dulma Rodriguez efd3aeccc6 Using the attributes table to find out the method to call in virtual calls
10 years ago
Andrzej Kotulski f703d780da Translate headers located inside analyzed project
10 years ago
Josh Berdine a6d7bbb38b Warn of unescaped end-of-line in a string constant
10 years ago
jrm 4af130bf8d remove subtyping rule for the @PerformanceCritical annotation
10 years ago
Josh Berdine 55cb61dbda Warn of unused open statements
10 years ago
Josh Berdine b155168083 Open Utils implicitly
10 years ago
Josh Berdine 8a9f221119 Use Utils in jTransExn and jTransStaticField
10 years ago
Josh Berdine 7f231b8aa0 Move pi and sigma types from Dom to Prop
10 years ago
Josh Berdine 2fa5c5b4e9 Warn of unused types
10 years ago
Josh Berdine 89338c86e9 Warn of unused constructors
10 years ago
Josh Berdine 2e4f4a0c5f Warn of label omitted in function application
10 years ago
Josh Berdine 2f47142b94 Warn of unused loop index variables
10 years ago
Josh Berdine bd8284443c Warn of unused extension (exception) constructors
10 years ago
Josh Berdine 7e7d524e29 Enable -short-paths for better error messages
10 years ago
Josh Berdine 4f4b00fffa Enable -strict-sequence
10 years ago
Josh Berdine 675cfeb56c Enable -strict-formats
10 years ago
Josh Berdine 9bdd1a9d0f Enable -principal to check ambiguous code
10 years ago
Sam Blackshear 5833835289 dynamic dispatch for virtual calls in Java
10 years ago
Josh Berdine fb96eaabcd Make ocamlbuild obey make --silent
10 years ago
Josh Berdine 264038f3ee Make clean target obey --silent
10 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
Cristiano Calcagno 58611b15d0 Cleanup of CMethod_signature.
10 years ago
Dino Distefano 5b91ec9f7f A fix for empty retain cycle
10 years ago
Sam Blackshear ef3912cbde Adding on-the-fly translation of types during pre-analysis
10 years ago
Cristiano Calcagno 5683fd8413 Fix collision of spec file names on case insensitive file systems.
10 years ago
Cristiano Calcagno 1b4efcfc7a Enable the analysis of models in on-demand mode.
10 years ago
Andrzej Kotulski 75f4947cb1 Ignore type change in DerivedToBase cast
10 years ago
Andrzej Kotulski b08acedf29 Use clang for default argument resolution
10 years ago
Cristiano Calcagno 10286931ee Cleanup handling of global state, and add footprint mode to the values.
10 years ago
Cristiano Calcagno 7a7260635f Refactor the worklist data structures of the intraprocedural algorithm as non-global state.
10 years ago
Dulma Rodriguez f4bbd44212 Translate dynamic cast for C++
10 years ago
Tony Cosentini 75cca6b3d3 Add android.app.Service to whitelisted Android initializer classes.
10 years ago