945 Commits (92801ba1c90c04a44893b85cb1ce40a669720d4d)

Author SHA1 Message Date
Jeremy Dubreil 6dfd1a317e Some cleanup and renaming
9 years ago
Sam Blackshear f60b17d8b9 correctly handling Sil.Letderef(Var, Var) Sil.Set(Var, _) in copy propagation
9 years ago
Josh Berdine 7ed2425320 Incorporate _tags file into Makefile
9 years ago
Josh Berdine 12e42fefd9 Fix perf stats filename for relative path clusters
9 years ago
Sam Blackshear b20ef20644 Allowing custom procCfg node types
9 years ago
Sam Blackshear 6f6da12b2c don't nullify params/locals at beginning of procedure
9 years ago
Sam Blackshear ebcfae388a handling Set(Var, _,) as read of var in liveness analysis
9 years ago
Jules Villard d4521fd70d handle utf8 PWD
9 years ago
Dulma Churchill f88e5be395 Move the npes regarding smart pointers from B5 to B1.
9 years ago
Sam Blackshear 442cf66fdc don't fail when nullifying a var not in the prop
9 years ago
Sam Blackshear 49d32859cb adding optional postprocessing step to transfer functions
9 years ago
Sam Blackshear 90a5a5912f allowing extra data to be packaged along with procCfg
9 years ago
Sam Blackshear f3fe199a25 Forcing node ids of procCfg's to be Cfg.Node.id
9 years ago
Jeremy Dubreil b3baf72df8 Lazy dinamic dispatch: add missing case where the right hand side is a idenfier
9 years ago
Sam Blackshear e96b94204c widen at pre instead of at post
9 years ago
Jeremy Dubreil 71b6581823 No longer save the list of SKIP_FUNCTION warnings in the report
9 years ago
Dulma Churchill 54a3bdd455 Load the attribute file to get the getter/setter info from the procdesc
9 years ago
Jeremy Dubreil 8072d2c1e5 report errors when all the postconditions are error states
9 years ago
Sam Blackshear 46fc0bb1dc remove recursive call in try/with
9 years ago
Jeremy Dubreil 0737b9231d make Tabulation.prop_get_exn_name return an option type
9 years ago
Sam Blackshear ffc4e2d213 checking supertypes for annotations
9 years ago
Sam Blackshear b228584855 refactoring get_strict_supertyps to use iteration for more flexibility
9 years ago
Luis Cruz 51f4dc7a9a added Tenv.get_overriden_method
9 years ago
Andrzej Kotulski 2989105318 Decrease number of allocations in Prop.typ_normalize
9 years ago
Sam Blackshear 77791b7e8e warn on deref of nullable skip function
9 years ago
Sam Blackshear 843bcc1576 support tainting of annotated fields
9 years ago
Dino Distefano 83c1bbc832 Implementing a checker to warn initialization of global variables with mehod calls.
9 years ago
Peter O'Hearn 50081c7ccb alloc/dealloc model for locks
9 years ago
Dino Distefano a15095c854 Introducing a mechanism of white/black listing of checks/error reporting based on .inferconfig
9 years ago
Dulma Rodriguez 7671fe755f Skip translation and checks from headers in specified folders
9 years ago
Andrzej Kotulski 05c218d84f Declare local variable for conditional in procdesc
9 years ago
Sam Blackshear a10d7099c7 warning on deref of nullable retvals
9 years ago
Dulma Rodriguez be91fb5429 Fix toll free bridging
9 years ago
Sam Blackshear 3e8b681135 big refactoring to improve API for subtyping related operations
9 years ago
jrm 9b6de7aeb0 Do not report @NoAllocation and @PerformanceCritical violations in "unlikely" branches
9 years ago
Josh Berdine 5710a3e887 Do not special case default InferPrint results_dir
9 years ago
Sam Blackshear 6113497020 delete callbackChecker and deps
9 years ago
Andrzej Kotulski 66d3d492f8 Fix translation of BinaryConditionalOperator
9 years ago
Dulma Rodriguez 8a1288860b Make alloc save a given procanem in the path
9 years ago
jrm 82670de0c8 improve errors traces for the @NoAllocation and the @PerformanceCritical checker
9 years ago
Cristiano Calcagno 45621ab171 Fix two issues in the prover.
9 years ago
Sam Blackshear e1e62be243 supporting new @PrivacySource/PrivacySink annotations
9 years ago
Sam Blackshear 596d8338ee dealing with exceptional control-flow in abstract interpreter
9 years ago
Dino Distefano b7ab1760a6 Translation of lambda [part one]
9 years ago
Sam Blackshear 6aca1cdfef exceptional procCfg
9 years ago
Jules Villard 70c8494625 opacify the type of node ids
9 years ago
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
9 years ago
Jules Villard c637c10d0f Revert "[java] no longer catching Class_structure_exception"
9 years ago
Cristiano Calcagno 909473f3da Clean up code to produce html pages of analysis results in debug mode.
9 years ago
Cristiano Calcagno e71ae11cae Activate timeout logging in the progress bar when developer mode is on.
9 years ago
Andrzej Kotulski eb76a441f9 Initial implementation of shared_ptr model
9 years ago
Cristiano Calcagno b2969820a4 Avoid loading the cfg explicitly to find a proc desc.
9 years ago
jrm 81a59515e4 Simplify the code to collect the list of @SuppressWarnings annotations
9 years ago
Sam Blackshear 8d62fd12ca pretty-printable versions of common data structures
9 years ago
Dulma Rodriguez a4b87a0951 Translate destructor calls
9 years ago
Dulma Rodriguez 91a2eaa5f1 Translate CXXPseudoDestructorExpr
9 years ago
Cristiano Calcagno a06d854364 Make the API of Exe_env return options instead of throwing exceptions.
9 years ago
Dulma Rodriguez c20ace4a1a Add flag cxx experimental to the clang frontend
9 years ago
jrm 793911c847 Add the possibility to analyze procedure descriptions on-demand without serialization
9 years ago
Sam Blackshear 7fb8f8b651 adding type-specific taint error messages
9 years ago
Sam Blackshear 15f0c7e384 adding "kind" for taint attribute
9 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