4821 Commits (aa6f5b2ed52f114e4a8dadd8da6c296503c4edff)

Author SHA1 Message Date
Mehdi Bouaziz 4a0ed2195a [Cost] Representative map: use the union-find map
7 years ago
Mehdi Bouaziz dc49cb6124 Cost: Polynomial.min_default_left
7 years ago
Martino Luca e379132412 [TD] Add test for the case where use_signature=false
7 years ago
Martino Luca c3ec3f1958 [TD] Add test for void_method_with_no_arguments
7 years ago
Mehdi Bouaziz 9ae3b42aef Cost: move union-find to its own module
7 years ago
Mehdi Bouaziz 21ced6af62 PartialOrder
7 years ago
Dulma Churchill 7f839ae962 [biabduction] Do not crash when Exe_env.get_tenv fails for some procedure
7 years ago
Mehdi Bouaziz 507de1e96c Inferbo models: separate ret
7 years ago
Daiva Naudziuniene 9738f9821e [frontend] Translating ToVoid cast
7 years ago
Dino Distefano ac872f4bb5 Building MinTrees with equivalence relation
7 years ago
Ezgi Çiçek bbd6820ca1 Get rid of data dep analysis and localize it to single step
7 years ago
Dulma Churchill c1cd2f44cf [IR] Put the procnames for c functions and blocks in designated modules
7 years ago
Daiva Naudziuniene 18b3a465d2 [uninit] Report on unitialized expressions in conditions
7 years ago
Daiva Naudziuniene acc8712401 [HIL] Do not raise error for the case where array index is passed by ref
7 years ago
Dulma Churchill 79a8f8716c [clang] Adding parameters as part of the procname for C++/ObjC methods and ObjC blocks
7 years ago
Nikos Gorogiannis 4820e3db1e [starvation] add NonBlocking annotation
7 years ago
Jeremy Dubreil 0da5435d9d [infer][backend] remove unecessary function Summary.pdesc_resolve_attributes
7 years ago
Jeremy Dubreil a5129e57db [Nullable checker][Objective C] add test for nullable properties in NSArray
7 years ago
Jules Villard 710dae8ee4 [doc] add `make doc` target for building html API doc
7 years ago
Mehdi Bouaziz aee02e27ef Cost: control-flow equality classes
7 years ago
Mehdi Bouaziz fd93d907e8 ARList
7 years ago
Dulma Churchill 7409e33ed2 [clang] Add parameters info to the procname of c functions
7 years ago
Ezgi Çiçek cb8e734bbb Get all the loop instructions
7 years ago
Dulma Churchill cbdb00a710 [clang] Compute the parameters of a method to be passed to the procname
7 years ago
Dulma Churchill 30a3615fa3 [IR] Adding module for type of parameters to be added to procnames.
7 years ago
Nikos Gorogiannis a5f9bcbbde [reporting] fix position of optional arg
7 years ago
Nikos Gorogiannis cacc975394 [starvation] implement SuppressLint
7 years ago
Mehdi Bouaziz 6861a2af15 Absint: add debugging for join and widen
7 years ago
Daiva Naudziuniene be754c1558 [bi-abduction] Do not treat for union fields as uninitialized
7 years ago
Daiva Naudziuniene 610ed0c885 [uninit] Filter out fields if they come from unions
7 years ago
Mehdi Bouaziz 6fccc62b34 Buckets.check_access: got rid of refs
7 years ago
Nikos Gorogiannis 2a83d64481 [starvation] silence reports on IO
7 years ago
Nikos Gorogiannis 971cd84455 [starvation] report using split events
7 years ago
Mehdi Bouaziz 69ead917c3 Instrs: Arrays and RevArrays only
7 years ago
Mehdi Bouaziz bfdc4b16a9 Typo
7 years ago
Mehdi Bouaziz 41a6480139 Instrs.single -> singleton
7 years ago
Mehdi Bouaziz 3c7f38eb09 [infer][tests] update the expected test output for the ndk-build tests
7 years ago
Jeremy Dubreil a2584c6ed2 [infer][tests] update the expected test output
7 years ago
Mehdi Bouaziz 1b63cb42b7 [cost] Compute range using post state
7 years ago
Mehdi Bouaziz fc5c093d1e ProcCfg: do not include module Node
7 years ago
Jules Villard 30c470eb48 [tests] record error bucket in expected output
7 years ago
Mehdi Bouaziz d65cee3017 Paths.Path.iter_all_nodes_no_calls -> fold
7 years ago
Mehdi Bouaziz a5b8093c42 List.drop again
7 years ago
Jules Villard 2cb4715f53 [py] change toplevel.log to infer.py.log
7 years ago
Jules Villard 4fabf03583 [integrations] support forcing integration in python too
7 years ago
Dulma Churchill 9b32ce59c7 [clang] Use the procname_from_decl method when computing objc method names to add to the tenv
7 years ago
Dulma Churchill 01c62589af [clang] Remove dependency from is_cpp from get_parameters function
7 years ago
Jules Villard 8b882ac1df Change license to MIT
7 years ago
Nikos Gorogiannis 057efb2893 [starvation] split events not under lock into separate state component
7 years ago
Daiva Naudziuniene e0e7c3cda4 Remove dead code
7 years ago
Dulma Churchill 663a923ee1 [clang] Remove dependency of mk_c_function from is_cpp
7 years ago
Daiva Naudziuniene d7d3e16d6f [uninit] Enable reporting on uninitialized pointers
7 years ago
Mehdi Bouaziz 4927e31c2f Abstract type for list of instructions in node
7 years ago
Mehdi Bouaziz 256b74b289 proc_inline_synthetic_methods: got rid of refs
7 years ago
Mehdi Bouaziz fbc13cf952 Fix IList.map_changed
7 years ago
Nikos Gorogiannis dd53d0af77 [starvation] equalise summary and abstract state types
7 years ago
Mehdi Bouaziz 3a41f50830 get_vararg_type_names: refactor to prepare for new instrs
7 years ago
Mehdi Bouaziz 42b3958a07 ProcCfg: fold on nodes only
7 years ago
Dulma Churchill dee25640f8 [clang] Remove lang from the CMethodSignature that was unused
7 years ago
Dulma Churchill 6ad971c875 [clang] Refactor building method signatures
7 years ago
Nikos Gorogiannis 6769248f9b [starvation] improve module naming and move to records for states
7 years ago
Nikos Gorogiannis c70b978aa8 [starvation] deduplication
7 years ago
Mehdi Bouaziz 3400e80122 propagate_nodes_divergence: postpone calling succs/preds
7 years ago
Mehdi Bouaziz c841bf262a Preanal: append_instrs once per node
7 years ago
Mehdi Bouaziz c84bf5959b mk_find_duplicate_nodes: better code
7 years ago
Mehdi Bouaziz c9b79039f9 cTrans: simplify assign_captured_var
7 years ago
Mehdi Bouaziz 342af52dce AbstractInterpreter: less garbage
7 years ago
Mehdi Bouaziz 0f8111d0d0 OneInstrPerNode: fix preds
7 years ago
Mehdi Bouaziz eaf4490670 Preanal: reduce garbage
7 years ago
Mehdi Bouaziz a4098f2499 Procdesc.fold_nodes: do not rev
7 years ago
Jeremy Dubreil c35278a8f8 [infer] the fragment retains view checker should not warn on field annotated with @AutoCleanup
7 years ago
Jeremy Dubreil e7714d52f3 [infer][java] remove the code to cache the summaries extracted from the jar files
7 years ago
Brandon Kieft eab7fd1242 Add predicates to check the receiver class type
7 years ago
Jeremy Dubreil 0588e26ee6 [infer][buck] catch the correct exception when calling os.unlink on some non-existing file
7 years ago
Mehdi Bouaziz 1d62441918 Fix List.drop
7 years ago
Dulma Churchill 7a68dde647 [clang] Refactor computing procnames for blocks
7 years ago
Mehdi Bouaziz bfcc88a5e2 Inferbo: use instr_is_auxiliary
7 years ago
Martino Luca f46034cfb3 [Test determinator] Better logging through debug flags
7 years ago
Martino Luca d803dc9048 [Test determinator] Minor refactoring
7 years ago
Dino Distefano 405928ad59 [Test determinator] Improving the search of affected methods and dealing with signature
7 years ago
Jules Villard fecabb3bf3 [siof] do not report on standard streams
7 years ago
Jeremy Dubreil a4531b6fa0 [infer][java] make sure the analysis does not default to absolute path on Buck projects
7 years ago
Martino Luca 9e0ed1c489 Fix unit test for JavaProfilerSamples module
7 years ago
Martino Luca 782f298674 [Test determinator] Minor fixes
7 years ago
Daiva Naudziuniene 93c2d7a4f4 [uninit] Have both pointer and its dereference as uninitialized
7 years ago
Daiva Naudziuniene c47071f186 [uninit] Initialize indirect function call arguments of pointer type
7 years ago
Martino Luca c7c68346c3 [Test determinator] Add tests
7 years ago
Nikos Gorogiannis e36ca3d07f [starvation] explain why we think a method runs on the ui thread
7 years ago
Dulma Churchill 4a710a64b1 [clang] Move functions about cTypes to the CType module
7 years ago
Jeremy Dubreil cc5708bb4e [infer] convert absolute paths to relative with respect to the common prefix betwen the path and the project root
7 years ago
Dino Distefano 4b296003fa Let's traverse the constraints list only once
7 years ago
Mehdi Bouaziz a0e3314b7b Eradicate: add a test for condition-redundant check
7 years ago
Nikos Gorogiannis 5e8b118151 [starvation] fix reported location
7 years ago
Daiva Naudziuniene 736badbb2f [uninit] Fix false positive that includes array element passed by reference
7 years ago
Daiva Naudziuniene 8a6aa92fb1 [HIL] Fix type of array element
7 years ago
Mehdi Bouaziz 1cd1dc580d Errdesc.find_in_node_or_preds: got rid of ref
7 years ago
Mehdi Bouaziz 0ba993fb68 Procdesc.specialize_type_proc: fold -> filter_map
7 years ago
Mehdi Bouaziz 6b88176189 fold_slope_range, java_get_vararg_values: got rid of refs
7 years ago
Mehdi Bouaziz 6c58614f40 cArithmetic_trans: simplification
7 years ago
Jules Villard 575fd04a6e [build] move testDeterminator.mli too
7 years ago
Ezgi Çiçek 1227cd1ff8 Fix `min` in polynomial temporarily
7 years ago
Dino Distefano 9b18d87427 Moved TestDeterminator module
7 years ago
Dino Distefano d922b37ab8 Making Test Determinator parametric to Java and Clang
7 years ago
Sam Blackshear 9ca945aa2f [ownership] warn when returning references to borrowed values
7 years ago
Daiva Naudziuniene 8ccf4897dd [uninit] Use access expressions
7 years ago
Martino Luca 858c5aab01 [Test determinator] New format for the profiler samples passed in input to TD
7 years ago
Dulma Churchill 81436c791f [retain cycles] Eliminate false positives when expression is null
7 years ago
Dulma Churchill 3b0f821fde [retain cycles] Remove false positives about modelled types
7 years ago
Sungkeun Cho cac08598a0 [inferbo] preciser widening of bound
7 years ago
Sam Blackshear ee4584e2e2 [quandary] off-by-default
7 years ago
Jules Villard 8715c4f892 [clang] make switch statement translation more robust
7 years ago
Dulma Churchill 20de2f66ad [objc frontend] Log Skipped declaration inside a class directly instead of throwing an exception
7 years ago
Jules Villard dd22e187ef [java] delete unused `models` field in `ZipLib.zip_library`
7 years ago
Jules Villard 92c129dc4e [cfg] rename `Cfg.is_proc_cfg_connected` to `Procdesc.is_connected`
7 years ago
Nikos Gorogiannis 818d359675 [racerd] reorg domain module
7 years ago
Sam Blackshear 370f5c80e6 [quandary] only treat overrides of service methods as endpoints
7 years ago
Ezgi Çiçek 1263bfa899 Add tests for cost analysis
7 years ago
Nikos Gorogiannis dde2000e75 [racerd] disambiguate duplicate reports due to method overloading
7 years ago
Ezgi Çiçek 6f8bccb8fd Add tests for invariant problem in cost analysis
7 years ago
Nikos Gorogiannis 9cddbd7af8 [racerd] make locals in Java owned, plus stop reporting on temps/logical vars
7 years ago
Nikos Gorogiannis 0563eacbb0 [racerd] remove code and references to being sound
7 years ago
Dulma Churchill 4687573a48 [clang] Removes a crash when unexpected declarations are found in toplevel class declarations
7 years ago
Daiva Naudziuniene 9e1678ec65 [uninit] Check the type of whole lhs rather than the base of lhs
7 years ago
Dulma Churchill accfc00d82 [objc frontend] Do not crash on internal forward classes
7 years ago
Dulma Churchill 87d1f0f241 [clang] Make an assert false into incorrect_assumption as it is happening in prod
7 years ago
Mehdi Bouaziz 1898ef3a7a [Summary] Move payloads to a separate module
7 years ago
Mehdi Bouaziz 15b77c6a55 Move get_phase from Tabulation to BiabductionSummary
7 years ago
Jeremy Dubreil 6a91ad4097 [infer][eradicate] model `android.net.Uri.parse(...)` as not accepting null parameter
7 years ago
Jeremy Dubreil fe0debedb6 [infer][buck] run Infer in single core on Buck projects
7 years ago
Sam Blackshear 5ed2016899 [clang] basic support for exceptional control-flow
7 years ago
Jules Villard 316da14857 [clang] minorish improvements
7 years ago
Sam Blackshear 85b8087f66 [quandary] de-prioritize command line flag sources
7 years ago
Daiva Naudziuniene 4e821129a4 [cfg] Log if the cfg is broken for a join node or not
7 years ago
Sam Blackshear d70d23c5f3 [quandary] treat Fragments like other Context types
7 years ago
Dulma Churchill 27a7f2e798 [linters] Do not report mutable local variable in weakSelf and strongSelf
7 years ago
Mehdi Bouaziz 8615091615 [Summary] Pp simplifications
7 years ago
Mehdi Bouaziz 7f8511c2df [Summary] move Stats and Status to modules
7 years ago
Mehdi Bouaziz aaf346d115 [cost] Polynomial domain
7 years ago
Dulma Churchill 2ee4956c03 [objc] Add methods of ObjC classes and ObjC protocols to the tenv
7 years ago
Nikos Gorogiannis 7e5381b7a9 [starvation] model legacy synchronized containers
7 years ago
Nikos Gorogiannis 5d4007e176 [racerd] silence noise about wobbly paths, but leave a textual clue for statistical purposes
7 years ago
Martino Luca 1916e4fa0f Adding a new ATD-based parser for JSON data containing Java method declarations
7 years ago
Nikos Gorogiannis e3f0754335 [starvation] add static timeout recognition and 5 second android limit
7 years ago
Nikos Gorogiannis f22bb53aa8 [starvation] Treat Service (but not IntentService) subclasses as on UI thread
7 years ago
Nikos Gorogiannis 78ad6e6d00 [concurrency] extend notion of ui thread
7 years ago
Nikos Gorogiannis b02a6e9e48 [starvation] catch AsyncTask.get calls on main thread
7 years ago
Mehdi Bouaziz f3cf0ec0f6 [Inferbo/cost][java] Model for __get_array_length
7 years ago
Mehdi Bouaziz 62fa99ad3f Simplified example showing problem with arrays
7 years ago
Dulma Churchill 7bbf349a76 [logs] Add the callee clang_method_kind and the callee source file to the skip logs
7 years ago
Jose Blanco 6ca1b69b6f [infer][PR] fixed typos
7 years ago
Oliver Castillo fb4e7ee4a4 [infer][PR] Fix spelling errors
7 years ago
Jules Villard 3aa6fdf1ce [rename] specs -> summary, Summary -> SummaryPayload
7 years ago
Nikos Gorogiannis ecfa29b083 [starvation] dedup deadlock warnings
7 years ago
Jules Villard d207f29287 [specs] move biabduction-specific stuff to BiabductionSummary.ml
7 years ago
Jules Villard 766a16cd90 [clang] enforce that `instruction` always returns one SIL expression
7 years ago
Jeremy Dubreil ed0c550905 [infer][genrule] add an option to make the genrule integration compatible with the Buck cache
7 years ago
Jeremy Dubreil 8162cf826e [infer][genrule] set the project root for the integration test
7 years ago
Brandon Kieft cb66e4212b Add predicates for instance and class methods
7 years ago
Jeremy Dubreil 8ce79a0613 [infer][backend] no longer rely on make to drive the Infer internal parallelism
7 years ago
Dulma Churchill afe511b53d [biabduction] Support finding skip reasons from attributes for clang too
7 years ago
Daiva Naudziuniene 63f1a341b5 [cfg] Filter out join*->destructor->exit nodes as being not broken
7 years ago
Jules Villard dfe2ad5229 [camel] call `Format.pp_print_*` directly where appropriate
7 years ago
Jules Villard 1fd11ee3cc [log] add colors to console output
7 years ago
Jeremy Dubreil cbfdacd21c [infer][eradicate] add the name of the class for the method expecting non-null parameters
7 years ago
Jules Villard 9a9d199021 [make] fix toplevel
7 years ago
Mehdi Bouaziz d7024298f9 [cost] Implem-agnostic abstract domain name
7 years ago
Mehdi Bouaziz 131ae4a801 [itv] Prettier print
7 years ago
Nikos Gorogiannis a7bd92de2f [starvation] enable starvation checker
7 years ago
Daiva Naudziuniene 28b696881c [minor] Use List.is_empty instead of List.length equal to 0
7 years ago
Daiva Naudziuniene 5e6c859922 [cfg] Filter out more benign broken cfgs
7 years ago
Dulma Churchill c24ff02bb4 [biabduction] Add to the skip reason when the method comes from a protocol
7 years ago
Jeremy Dubreil bc6afc5d32 [infer][config] remove the per_procedure_parallelism option which was always true
7 years ago
Ezgi Çiçek fcb83a949f implement missing CXXInheritedCtorInitExpr
7 years ago
Nikos Gorogiannis c104ea11dc [racerd] switch to external issue logs
7 years ago
Jules Villard 7cf0a5e2cc [make] ignore copy-copy races in clang compilation db tests
7 years ago
Nikos Gorogiannis 58f37cb9d8 [starvation] do not report deadlocks when both traces on UI thread
7 years ago
Nikos Gorogiannis 538bcd9135 [starvation] store issues to issue-logs like linters do
7 years ago
Dulma Churchill 7533092037 [clang] Make the frontend with compilation database fail with compilation errors
7 years ago
Dulma Churchill 4a2174a322 Revert "[clang] Make the frontend with compilation database fail with compilation errors"
7 years ago
Brandon Kieft 275f4c3a8c Add predicates to check for protocols
7 years ago
Brandon Kieft 439839a9fa Add is_in_(interface/implementation) predicates
7 years ago
Brandon Kieft 7d4bd403df Add is_objc_method_exposed predicate
7 years ago
Dulma Churchill 96e5a976c4 [clang] Make the frontend with compilation database fail with compilation errors
7 years ago
Brandon Kieft 01ee635902 Add is_objc_method_overriding predicate
7 years ago
Nikos Gorogiannis 14ec16da12 [starvation] catch calls to AcccountManager.setUserData
7 years ago
Nikos Gorogiannis bf501e5a7d [starvation] treat Future.get as potentially blocking
7 years ago
Nikos Gorogiannis 9a2c494454 [infer] refactor LintIssues for general use.
7 years ago
Nikos Gorogiannis 96c6ff718b [racerd] add support for folly's synchronized() {}
7 years ago
Nikos Gorogiannis bef38bbf1a [racerd] recognise std::lock calls
7 years ago
Sam Blackshear c99b634655 [quandary] print caller of unexpected operator= expression
7 years ago
Sam Blackshear 7108b348ff [racerd] significantly simplify deep ownership logic
7 years ago
Dino Distefano f2fa8cf0e0 Adding more examples where we get Top as cost
7 years ago
Mehdi Bouaziz c1aac1e089 Cost: Non-negative Bound abstract domain
7 years ago
Mehdi Bouaziz 5fe28785bc Cost: fix min
7 years ago
Mehdi Bouaziz 3ef6cb1c75 Kill generic typevar modelling
7 years ago
Jeremy Dubreil 3a3c871684 [infer][objc] the nullable checker should not report issues involving objectForKeyedSubscript:
7 years ago
Brandon Kieft d7cf002461 Add new ObjC predicates, mostly related to categories
7 years ago
Mehdi Bouaziz eea5b4c97e Cost: separate conditions for reporting
7 years ago
Dulma Churchill 780006097a [clang frontend] Do not crash when finding unexpected declarations when collecting local variables
7 years ago
Sam Blackshear 78521419a9 [racerd] make deep ownership work with OwnedIf
7 years ago
Jules Villard 7595f10346 [clang] return a nondet expression instead of -1
7 years ago
Jules Villard 634e9a3897 [clang] crash on unrecognised method declaration
7 years ago
Jules Villard 902de9d6e3 [sil] make return value and type mandatory
7 years ago
Mehdi Bouaziz 1deaf7bfd6 Cost: instantiate symbolic cost after call
7 years ago
Sam Blackshear bb2ff197b3 [absint] fix handling of exceptions
7 years ago
Daiva Naudziuniene cd511580e0 [frontend] Fix the leaf nodes in the translation of destructors
7 years ago
Daiva Naudziuniene dc567eaa7a [frontend] Preserve leaf nodes in declaration statement translation
7 years ago
Mehdi Bouaziz e8ceedeb82 [Cost] Forces Inferbo
7 years ago
Daiva Naudziuniene f57e62f205 [cfg] Allow between-join-exit nodes in cfg
7 years ago
Mehdi Bouaziz 68129abab8 Cost/inferbo: move range to numerical abstract domain
7 years ago
Dino Distefano dbc8f29835 Added array test where we get TOP
7 years ago
Mehdi Bouaziz 9c14e9d384 [Cost] Fix multiplication by 1
7 years ago
Dulma Churchill 077d9a534b [objc frontend] Do not assume that the fast enumeration in ObjC always includes a declaration of the loop variable
7 years ago
Jules Villard 1a0ba42a3b [clang] unbreak build, factorise unimplemented constructs
7 years ago
Nikos Gorogiannis de6ee858a8 [clang] translate unimplemented features to skip
7 years ago
Jules Villard 0bbdf63957 [clang] do not attempt to translate pointer to member constructs
7 years ago
Dino Distefano d4337abcb4 Added predicate for C++ copy constructors
7 years ago
Dulma Churchill 038c0b92d4 [objc frontend] Raise SelfClassException only inside ObjCMethodCallExpr nodes
7 years ago
Sam Blackshear d718275402 [quandary] fix test expected output
7 years ago
Sam Blackshear 6b8900746b [quandary] only treat overrides of service methods as endpoints
7 years ago
Sam Blackshear fe610330bf [clang] remove is_generic_model boolean from procnames
7 years ago
Jules Villard 6c806d39c8 [clang] minor cosmetic changes
7 years ago
Jules Villard 4b4517e8ec [clang] call a skip function in case of unimplemented feature
7 years ago
Dino Distefano bac1c85546 Hide test determinator option from infer help
7 years ago
Nikos Gorogiannis dab8e2f17d [starvation] Catch indirect blocks to the UI thread
7 years ago
Jules Villard d92e82b379 [clang] fix translation of `UserDefinedLiteral`
7 years ago
Sam Blackshear d882626d25 [clang] include method information in type environment
7 years ago
Sam Blackshear 8a57575188 [clang] combine CProcname and CType_decl
7 years ago
Sam Blackshear ff23aca725 [clang] get_struct_decls utility function
7 years ago
Sam Blackshear 9b2ac3de6e [clang] make it easier to call CProcname.from_decl
7 years ago
Jules Villard ce0ffaf877 [ocaml] detect and kill dead modules
7 years ago
Nikos Gorogiannis e0a61c0a4a [starvation] Move to a cluster checker phase for reporting
7 years ago
Sam Blackshear 30d7239aff [quandary] SQL sinks for java
7 years ago
Sam Blackshear 863e08909e [gradle] fix compilation error caused by mishandling of empty classpath
7 years ago
Tony Hu 9405162ba6 [infer] Remove username of exiting intern from TODO
7 years ago
Sam Blackshear ffba5de70c [quandary] distinguish between SQL reads and writes
7 years ago
Dino Distefano c80a2b0940 Test Determinator for MobileLab
7 years ago
Dulma Churchill 69392d4192 [biabduction] Log reasons for skipping also in non Java context
7 years ago
Mehdi Bouaziz 9ed60bc936 [cost] Removed dead abstract domains
7 years ago
Mehdi Bouaziz a3487e14ee [Inferbo] Do not add Unknown to heap if unknown call does not return
7 years ago
Mehdi Bouaziz 14d6b2f019 [Cost] Use inferbo abstract state as extra rather than calling inferbo transfer functions
7 years ago
Mehdi Bouaziz ace0ea3d8b [inferbo] Do not reexecute for checking
7 years ago
Sam Blackshear ebc364a801 [racerd] precondition -> snapshot
7 years ago
Sam Blackshear 771e1b7c14 [racerd] remove redundant access field from reported_access
7 years ago
Mehdi Bouaziz ad15f558e4 [cost] Simplifications
7 years ago
Sam Blackshear 501577defc [racerd] use set of access snapshots instead of map
7 years ago
Frédéric Bour 8069559bd8 [sqlite] infer explore --source-files
7 years ago
Mehdi Bouaziz 7f1b4e0a2b InstrNode: abstract instruction index
7 years ago
Mehdi Bouaziz 094eb9dcc7 [Cost] Use OneInstrPerNode CFG
7 years ago
Mehdi Bouaziz 00d79ec839 Simplify abstract interpreter
7 years ago
Mehdi Bouaziz 722258d41b Real InstrNode
7 years ago
Mehdi Bouaziz f4b6746e0b [inferbo][PO] Fully compare traces when deduplicating
7 years ago
Mehdi Bouaziz 4afde73765 [inferbo][PO] Module for condition with trace
7 years ago
Mehdi Bouaziz a3da745210 [inferbo][PO] Debug deduplication
7 years ago
Dino Distefano 9043f26b89 Added documentation to cPredicate.mli
7 years ago
Jules Villard 73a47d594c [debug] print procedures in alphabetical order in cfgs
7 years ago
Jules Villard dc2cd65a2c [explore] print only non-default values in the attributes
7 years ago
Jules Villard 1d98d3cd58 [models] capture all clang models then analyze together
7 years ago
Nikos Gorogiannis 63aafd3381 [starvation] catch calls to View.getVisibleDisplayFrame
7 years ago
Dino Distefano 6b37e61ec1 Switching uninit analysis on by default
7 years ago
Dulma Churchill 28200b87d7 [objc blocks] Specialize store instructions with current closure in methods specialized with blocks as arguments
7 years ago
Daiva Naudziuniene 496e5e8c0a [use after free] Report only high confidence level use_after_free
7 years ago
Dino Distefano 6b6f6be6d9 Don't check prune node condition in the control dependecy analysis for java code
7 years ago
Dino Distefano 70b5e5fd0c Make the cost analysis run on apps
7 years ago
Nikos Gorogiannis e5265ea85b [starvation] surface caller of blocking calls in reports
7 years ago
Sam Blackshear cfd9802d89 [racerd] `Precondition` -> `OwnershipPrecondition`
7 years ago
Sam Blackshear 4fc0ecd86b [clang] don't include procname in broken cfg error message
7 years ago
Ezgi Çiçek 8f0701a01c Refine dependency analysis to remove vars at prune exit nodes
7 years ago
Sam Blackshear cbc793be16 [quandary] simplify source/sink matching
7 years ago
Jules Villard 033928f716 [make] let jbuilder generate .merlin files
7 years ago
Jules Villard 507a4c9bec [racerd] remove dead export
7 years ago
Jules Villard 507ba9493c [minor] small readability improvements
7 years ago
Nikos Gorogiannis a4a1a9c55e [starvation] Catch java IO blocking calls on UI thread
7 years ago
Nikos Gorogiannis 7a9009e467 [starvation] Catch CountDownLatch.await calls on main thread
7 years ago
Sam Blackshear f7ee0c2a2d [racerd] use `ThreadsDomain.astate` instead of bool in `AccessData`
7 years ago
Sam Blackshear fb4f9a286a [infer] `AccessData` -> `AccessSnapshot`
7 years ago
Sam Blackshear 1d792f0b48 [quandary] fix formatting of endpoint traces, again
7 years ago
Martino Luca 49b4a26a93 New module FileDiff to compute relevant lines on a modified file
7 years ago
Nikos Gorogiannis b6c8766b11 [starvation] report binder calls on ui thread
7 years ago
Jules Villard 1b779abb81 [models] check in empty .inferconfig
7 years ago
Jules Villard 9a56e7485e [driver] small refactor to share more code
7 years ago
Josh Berdine 16988b0a7a [ocamlformat] Upgrade to ocamlformat 0.5
7 years ago
Ezgi Çiçek 523c2f539b change clang translation to track if_kind (i.e. the type of prune node)
7 years ago
Nikos Gorogiannis 196c0e5544 [starvation] harmonize java formatting in tests
7 years ago
Sam Blackshear 670ae4a673 [quandary] `WebResourceRequest.getUrl` as source
7 years ago
Jeremy Dubreil fd6a1e0e2b [infer] no longer create .lock files and only rely on Unix.rename to avoid write-write races
7 years ago
Sam Blackshear 8084c8fec7 [racerd] treat `@InjectProp` formals as owned
7 years ago
Sam Blackshear ce8f958522 [racerd] don't report INTERFACE_NOT_THREAD_SAFE if the receiver of the interface call is marked `ThreadConfined`
7 years ago
Nikos Gorogiannis 346589f1fb [starvation] track on-main-thread status in summaries
7 years ago
Nikos Gorogiannis 0130c09dfc [starvation] add infrastructure for blocking events other than lock acquisition
7 years ago
Jules Villard 705a2f97b2 [sqlite] use pname BLOB as the sqlite key, include readable pname for debug
7 years ago
Jules Villard 97ac7662f8 [sqlite] options to output procedures db
7 years ago
Nikos Gorogiannis 269a1a9b93 [starvation] treat locks in (and accessed from) inner classes properly
7 years ago
Jeremy Dubreil 2e4d99ef57 [infer] modelling android.text.SpannableString.valueOf
7 years ago
Daiva Naudziuniene 94aae8713e [biabduction] Fix lookup of abduced expression
7 years ago
Ezgi Çiçek 76300d55c7 Tracks variables that affect control flow for a more precise cost analysis
7 years ago
Sam Blackshear cfa2dd5f83 [quandary] pass call flags to sink creation
7 years ago
Ezgi Çiçek af5265f75d "Report infinity as error per function"
7 years ago
Mehdi Bouaziz 4aefa6f76b Debug: session name
7 years ago
Mehdi Bouaziz 5b908d633c Io_infer/Printer: Format simplifications
7 years ago
Martino Luca 27941a11b6 [Java] New JavaProfilerSamples module to create Procnames from sampled Java methods
7 years ago
Mehdi Bouaziz 9c8342e956 Html debug: fix finish_session
7 years ago
Mehdi Bouaziz 950f46a3b6 [Cost] Proper data structure for constraints
7 years ago
Mehdi Bouaziz 66b3357479 Share ProcCfg.OneInstrPerNode(Normal)
7 years ago
Sam Blackshear 3e6bd7f063 [clang] log broken CFGs
7 years ago
Jules Villard f1bcb91542 [make] make sure no command fails
7 years ago
Mehdi Bouaziz 594ddab2a5 Share NodeId Sets and Maps
7 years ago
Jules Villard 7c0bf66794 [clang] do not run clang on unsupported commands
7 years ago
Mehdi Bouaziz 3f5c161391 [Cost] Typos
7 years ago
Mehdi Bouaziz 2f57b094e9 Java split name as an abstract type
7 years ago
Tony Hu e85c3690fa [java] Remove "class not found" error logging
7 years ago
Mehdi Bouaziz 779bde226d [Inferbo] Use the OneInstrPerNode CFG
7 years ago
Mehdi Bouaziz 5925c75e29 [inferbo] Comparisons return abstract boolean
7 years ago
Mehdi Bouaziz 9eeeecc338 [inferbo] Prune zero should normalize too
7 years ago
Mehdi Bouaziz d80f4df42d [inferbo] Use bottom_lifted for prune
7 years ago
Mehdi Bouaziz e2f58dc687 [inferbo] prune_eq_zero
7 years ago
Mehdi Bouaziz 5260558fef [inferbo][easy] Simplify mk_MinMax
7 years ago
Mehdi Bouaziz c258e988fe [inferbo/cost] Print alias in debug output
7 years ago
Mehdi Bouaziz bdffee831a [inferbo][easy] Rename SubstMap to SymbolMap
7 years ago
Mehdi Bouaziz d07bb90246 Callbacks, cleanup 3: Use Typ.Procname.get_language
7 years ago
Mehdi Bouaziz 44cf69791a Callbacks, cleanup 2: some lazyness
7 years ago
Mehdi Bouaziz be8ac23557 Callbacks, cleanup: tuple -> record
7 years ago
Jules Villard dee7414aa9 [inferbo] do not include location information in the bug description
7 years ago
Dulma Churchill aa578ea586 [retain cycles] Treat missing fields also angelically when it still happens in rare cases
7 years ago
Dulma Churchill e507a600a2 [retain cycles] Ignore cycles that include isa
7 years ago
Jeremy Dubreil 4dc3e5f059 [infer] upgrade the version of Guava used for the tests
7 years ago
Jeremy Dubreil 2f1d486aab [eradicate] model com.google.common.base.Strings.isNullOrEmpty(...)
7 years ago
Jeremy Dubreil 431d4f1290 [infer] fix infinite loop with the suggestion to add nullable annotations on C++ fields
7 years ago
Dino Distefano 3b608695af Improving treatment of default constructor
7 years ago
Sam Blackshear 767606b98e [quandary] fix unintended markdown formatting in error messages
7 years ago
Jules Villard 80d83c2eea [istd] `Format.pp_print_string` is a thing, use it
7 years ago
Jules Villard 9b315d4d08 [tests] some missing dependencies in differential tests
7 years ago
Dulma Churchill 74e16bdb58 [retain cycles] Define custom compare function that is more suited to dedup cycles
7 years ago
Mehdi Bouaziz e9a3913fdb [Inferbo] Do not propagate all safety conditions
7 years ago
Dulma Churchill 0ba528c3fa [retain cycles] Add missing fields in the biabduction in more cases.
7 years ago
Sungkeun Cho 4234288c93 [inferbo] Add a pointer arithmetic test
7 years ago
Sungkeun Cho e12a4a1071 [inferbo] Add traces in lift functions
7 years ago
Sungkeun Cho 1f6feef448 [inferbo] Revise eval_locs for array blocks
7 years ago
Sam Blackshear 94c2cd1d3b [ownership] tests for pointer arithmetic
7 years ago
Sam Blackshear 9180ff56c1 [ownership] handle new kinds of access expressions
7 years ago
Sungkeun Cho a353d69a6e [inferbo] Fix test code
7 years ago
Sungkeun Cho 4aafe8a990 [inferbo][bugfix] Revise gathering safety conditions in sub-exp
7 years ago
Sungkeun Cho b42d66d557 [inferbo][bugfix] Pointer arithmetics on pointers to non-array
7 years ago
Sungkeun Cho 0b26a57b8c [inferbo] Revise semantics of plus and minus
7 years ago
Sungkeun Cho 00e1139071 [frontend] Parse binary operator using types of parameters
7 years ago
Jeremy Dubreil f63a9c0836 [infer][backend] the sserialization should not swallow the Sys_error when unmarshalling data from strings
7 years ago
Jules Villard 007f057f3a [reactive] kill the changed bit of procedure attributes
7 years ago
Jeremy Dubreil 5dea7c55e2 [infer][java] report nullable inconsistencies on library calls
7 years ago
Jeremy Dubreil 3784b7eca7 [infer] use the key field as a simple mean to identify bugs independently form the analysis or version of Infer
7 years ago
Daiva Naudziuniene 7c7b239248 [minor] out of place comment
7 years ago
Daiva Naudziuniene 681f2a56ab [HIL] Explicit dereference
7 years ago
Dulma Churchill 436e5340f3 [retain cycles] Move the retain cycle check to sym_exec_wrapper to get the path of the last instruction executed
7 years ago
Jules Villard 5155417800 [debug] add `Logging.debug_dev` for temporary debugging
7 years ago
Jules Villard dad8b73f48 [make] run jbuilder when files in infer/src/ change
7 years ago
Nikos Gorogiannis 462c2e2b2e [starvation] fix handling of static synchronized methods and static locks
7 years ago
Nikos Gorogiannis b11dd03fb9 [starvation] ignore local/temp variables as locks
7 years ago
Sungkeun Cho d15894c78a [inferbo] Add tests for relational analysis
7 years ago
Sam Blackshear 33fe8879a5 [quandary] report flows originating from `UserControlledEndpoint` as `_RISK`
7 years ago
Sam Blackshear f621dda0be [infer][clang] models off-by-default
7 years ago
Mehdi Bouaziz 1a7c5a1493 Fix deadcode
7 years ago
Dulma Churchill 927e2049c3 [backend] Add getter/setter execution to the trace
7 years ago
Mehdi Bouaziz 14e48fb5a0 [RFC] Cost: pair with Inferbo
7 years ago
Varun Arora fda0871030 [reporting] fix reporting of total_frontend and total_backend stats
7 years ago
Ezgi Çiçek 872daf1ba7 Add estimated cost to trace element
7 years ago
Nikos Gorogiannis b335fb9c50 [deadlock] rebrand to starvation
7 years ago
Jules Villard 05ce219962 Revert "[dune] let dune generate .merlin files"
7 years ago
Jules Villard 63e04a55a0 [buck] disable buckd systematically
7 years ago
Jules Villard a21644685f [dune] let dune generate .merlin files
7 years ago
Jules Villard 6f187a954c base and IR build separately, biabduction/ directory
7 years ago
Jules Villard a2d3a0ec73 [events] use the same JsonBuilder everywhere
7 years ago
Mehdi Bouaziz 3ebec206dc [inferbo] prune_pairs: kill ref
7 years ago
Sam Blackshear 44e5d0564b [ownership] fix false positives on aggregate locals in loops
7 years ago
Sam Blackshear d840e5da94 [racerd] simplify reconciliation of caller/callee thread context
7 years ago
Dulma Churchill 36478936c7 [retain cycles] Print the type id in a more user-friendly way
7 years ago
Varun Arora f5731ed1bf [config][reporting] add new command line option job-id and log it to EventLogger
7 years ago
Varun Arora 690bae30d0 [reporting][perf] Stats type string is redundant info, already contained in relevant path
7 years ago
Jules Villard 84d3144c98 [istd] break IStd.ml into sensible components
7 years ago
Dulma Churchill 46c69cb26f [tests] Fix tests
7 years ago
Mehdi Bouaziz e9fe470bf9 Cost: bound map as a functional datastructure
7 years ago
Mehdi Bouaziz ffb4074d56 Cost: cleanup
7 years ago
Mehdi Bouaziz 3aebd72d53 [inferbo] Use Ondemand.get_proc_desc
7 years ago
Mehdi Bouaziz 77f5e6f08b Ondemand: optim
7 years ago
Mehdi Bouaziz 82a264ff9f [Inferbo] Refactoring 8/8: struct for extras
7 years ago
Mehdi Bouaziz a4eac6c2d6 [Inferbo] Refactoring 7/8: remove dependency on CFG
7 years ago
Mehdi Bouaziz 722a66d452 [inferbo] Refactoring 6/8: add labels to eval_array_alloc
7 years ago
Mehdi Bouaziz 1b2adb9422 [inferbo] Refactoring 5/8: simplify Utils.Check.array_access
7 years ago
Mehdi Bouaziz 6838fed3e6 [inferbo] Refactoring 4/8: pass node_hash instead of node
7 years ago
Mehdi Bouaziz 672fd3a9a5 [inferbo] Refactor 3/8: model_by_value without model_env
7 years ago
Mehdi Bouaziz 90b5600c8f [inferbo] Refactoring 2/8: abstract type for counter
7 years ago
Mehdi Bouaziz ca14c2106e [inferbo] Refactoring 1/8: labels for arrayBlk functions
7 years ago
Varun Arora 07b0703513 [reporting][perf] report total frontend and total backend time perf stats
7 years ago
Varun Arora 00744a888a [reporting][perf] PerfStats directly resolves filename - no need to pass as parameter
7 years ago
Varun Arora 24e66ada0b [reporting][perf] combine PerfStats source_file with stats_type
7 years ago
Mehdi Bouaziz c29c636768 [Inferbo] No need to check Bottom states
7 years ago
Mehdi Bouaziz cbbc649636 Simplify Specs.load_summary_to_spec_table
7 years ago
Ezgi Çiçek 1cef32eaf7 Rewrite minimum_propagation algorithm in a functional way
7 years ago
Jeremy Dubreil 2e14f9c9c3 [infer] model android.app.AlarmManager.cancel(PendingIntent) as not accepting a null parameter
7 years ago
Jeremy Dubreil 8cfbdef7e0 [infer][biabduction] no longer track the resources saved into a container
7 years ago
Josh Berdine dcc0f646fe Add demo LLAIR client
7 years ago
Sam Blackshear aabf8aec55 [quandary] use `_risk` warning types for endpoint sources in Java
7 years ago
Jules Villard e48cc3a370 [capture] store compilation db arguments one per line
7 years ago
Dino Distefano e54df20eb7 Migrate to Itv.Bound
7 years ago
Jules Villard 57900b11ae [istd] no need to re-implement List.fold_until
7 years ago
Jules Villard 8df15e2f00 [backend] try not to re-allocate too much when normalizing props
7 years ago
Jules Villard 1f04a5eda0 [IList] move to base/ and use Core
7 years ago
Sam Blackshear 7efb5cb549 [ownership] allow placement new on non-var expressions
7 years ago
Sam Blackshear 57a8c2f594 [quandary] don't taint dummy Thrift `_return` formals
7 years ago
Sam Blackshear 082e3f1f9e [ownership] use Base instead of Var
7 years ago
Jeremy Dubreil 373b43eebf [eradicate] minor simplification of the reporting code
7 years ago
Sam Blackshear 6b3282f619 [ownership] First parameter to constructor is read, not written
7 years ago
Jeremy Dubreil 7851ae0389 [infer] remove the concept of advice which does not seem to be used
7 years ago
Varun Arora c3184acd2e [reporting][perf] report InferPrint time taken
7 years ago
Varun Arora 68ab61976a Revert "[reporting][perf] Add PerfStats support for ad-hoc timers"
7 years ago
Dulma Churchill 9c9519fddb [backend] Pass the execution environment around to use it to load tenv of callees in a more efficient way
7 years ago
Varun Arora d746b10bf3 [reporting][perf] Add PerfStats support for ad-hoc timers
7 years ago
Varun Arora c296c06996 [reporting][perf] Add PerfStats support for ad-hoc timers
7 years ago
Varun Arora fba4014d1c [reporting][perf] Add PerfStats support for reporting time and memory related stats separately
7 years ago
Jules Villard 5014e7d9eb upgrade ocaml version to 4.06.1
7 years ago
Dulma Churchill 96a2f8d689 [objc] Add missing fields to the tenv also when they are added to the footprint
7 years ago
Dulma Churchill 862bbdb5fc [retain cycles] Take weak pointers into account to avoid false positives
7 years ago
Tony Hu a7908c1f11 [java] Change classpath logic to handle paths relative to project root
7 years ago
Sam Blackshear f8dfc2305e [ownership] simple 2-step traces
7 years ago
Sam Blackshear ec73adc66d [ownership] support placement new
7 years ago
Jeremy Dubreil 245e49e2da [infer] Eradicate should understand any form of checkNotNull
7 years ago
Jeremy Dubreil e801617488 [infer][java] Eradicate should not report a Return Not Nullable when a method returns the integer 0
7 years ago
Sam Blackshear 1ea4f01403 [ownership] consolidate acquires_ownership cases
7 years ago
Dulma Churchill aca39195f8 [retain cycles] Use decompiled expressions in the retain cycle message
7 years ago
Dulma Churchill d04a7aed52 [clang] Removed the mangling part of Clang global variables in the error messages
7 years ago
Jeremy Dubreil 9acfcc815e [infer][java] log the failures happening when the frontend fails to load a class from the classpath
7 years ago
Sam Blackshear 6d46b0c7be [cleanup] stop printing `&`'s on `Var.t`'s
7 years ago
Dulma Churchill 40dd0e1c95 [objc] Add only the main part of ObjC method names in reports
7 years ago
Mehdi Bouaziz cbbe455c4a [Inferbo] Reporting: refactoring
7 years ago
Mehdi Bouaziz 2916c97e0a [easy] Java nits
7 years ago
Sam Blackshear 0d5e9d0934 [bug hash] strip temporary var names from qualifier
7 years ago
Sungkeun Cho bd040cf696 [inferbo] Add an issue type for alarms by unknown function call
7 years ago
Sam Blackshear b57aa90d7d [quandary] don't crash if JSON source/sink is invalid procedure name
7 years ago
Mehdi Bouaziz 1db6e0c2c6 [easy] Labels for Procdesc.fold_nodes/instrs
7 years ago
Sam Blackshear 4952f1ea3b [quandary] tests documenting limitations of sanitizers
7 years ago
Varun Arora 9387706a54 add clang_method_kind field to AnalysisIssue
7 years ago
Varun Arora 266ae2ed6e [reporting][perf] designate frontend perf stats as either Capture or Linters in EventLogger
7 years ago
Jeremy Dubreil bb91a08ffd [infer][buck] remove unecessary --deep option when using Buck
7 years ago
Mehdi Bouaziz 2e8cb343d4 [Inferbo] Itv.mli
7 years ago
Nikos Gorogiannis 484480f72f [deadlock] regression tests
7 years ago
Nikos Gorogiannis fe43dc2080 [deadlock] analysis and reporting
7 years ago
Sam Blackshear 12ad6c11c1 [ownership] return bottom on early exit or thrown exception
7 years ago
Sam Blackshear 3a40afcd22 [ownership] directly assigning any field of an aggregate struct counts as initialization
7 years ago
Dulma Churchill 0bc4df4b42 [retain cycles] Report cycles after assignment and method call
7 years ago
Dulma Churchill 716bb1939c [backend] Add missing fields to the tenv in the bi-abduction
7 years ago
Sam Blackshear 6976181b77 [ownership] special-case frontend-generated inner destructors.
7 years ago
Dulma Churchill 2edc1d8581 [retain cycles] Improve the message of cycles with blocks by adding more info about captured variables
7 years ago