239 Commits (d2f8028e77511e99b7315454da61ec95350259dc)

Author SHA1 Message Date
Radu Grigore a6edb94450 Biabduction prover now logs inconsistency reason.
6 years ago
Ezgi Çiçek be85296759 [frontend] Move Preanalysis to frontend so that it is run always
6 years ago
Josh Berdine cfc1c8be36 [copyright] Remove years
6 years ago
Radu Grigore 047c64c528 [topl] Instrument SIL.
6 years ago
Radu Grigore 3cf774a142 Fixed typos in comments.
6 years ago
Jules Villard 9717be7e2f [biabd] various very minor changes
6 years ago
Jules Villard 3b3139a29e [biabd] kill Config.undo_join
6 years ago
Jeremy Dubreil 95ddfd04ca Revert "[topl] Synthesize trivial procedures."
6 years ago
Radu Grigore 86aae0b8ed [topl] Synthesize trivial procedures.
6 years ago
Jules Villard 95132bc3f0 [report] restore missing "could be null and is dereferenced" message for nullable dereference
6 years ago
Radu Grigore 344889775b [infer][PR] Don't join postconditions. Fixes #678.
6 years ago
Jules Villard 686231ec6e [SIL] change `variable_initialization()` builtin to a new auxiliary instruction
6 years ago
Jules Villard ebe5028ca1 [SIL] add `Skip` metadata instruction
6 years ago
Jules Villard b665e1c575 [SIL][HIL] distinguish auxiliary instructions as `Metadata`
6 years ago
Josh Berdine 4acad5ca90 [ocamlformat] upgrade ocamlformat to 0.9
6 years ago
Radu Grigore 8bf65086e3 [topl] Parser for temporal properties
6 years ago
Radu Grigore e226cf8ec4 Fresh footprint variables in added frame.
6 years ago
Radu Grigore 86861498a5 Slightly more precise pi_partial_meet
6 years ago
Jules Villard be61022bff [SIL][1/3] delete never produced cf_targets CallFlag
6 years ago
Sungkeun Cho bae98c607f [infer] Translate VAArgExpr to the builtin function
6 years ago
Jeremy Dubreil bef0a5638f [infer][biabduction] make sure the abort() is treated like exit()
6 years ago
Mehdi Bouaziz 620099113d Fix some comments
6 years ago
Martin Trojer 9cce84ac6c dont report biabduction NPE's on tmp variables
6 years ago
Mehdi Bouaziz 5df11674dc Io_infer.with_color
6 years ago
Mehdi Bouaziz e53d3b990b Logging: higher-order color wrapper
6 years ago
Mehdi Bouaziz 908e1ab3ed Logging: Simplify d_instrs
6 years ago
Jules Villard 55586b581b [preanalysis] do not delay killing variables taken by reference
6 years ago
Nikos Gorogiannis 91f115fcaa [biabduction] Don't raise on timeout without location
6 years ago
Dino Distefano c4701f8a04 Fix ERROR RUNNING BACKEND
6 years ago
Jules Villard 9aa5582caa [clang] leave markers of variable initialization for pulse
6 years ago
Josh Berdine 6a4d8b72f0 [doc] Fix some invalid/suspicious docstrings
6 years ago
Mehdi Bouaziz 17ff54f17a Logging: increase/decrease indent
6 years ago
Mehdi Bouaziz 18c45947da Logging.d_printf
6 years ago
Mehdi Bouaziz 320a859a8a Remove some uninteresting dead code
6 years ago
Mehdi Bouaziz 1606b95f1b Logging: merge d_str_color with d_str
6 years ago
Mehdi Bouaziz b6323db37b Some pp functions
6 years ago
Jules Villard 5c30ea1051 [debug] print full types in instructions on error
6 years ago
Nikos Gorogiannis 105b772cff [racerd] iOS first steps
6 years ago
Martin Trojer 0d4b88ae29 [objc] fixing false positive for weak pointers inside c++ structs
6 years ago
Mehdi Bouaziz b71af05f00 Stats: merge visited_fp and visited_re
6 years ago
Josh Berdine e1d4aad487 [ocamlformat] upgrade ocamlformat to 0.8
6 years ago
Sungkeun Cho d94ba863c6 [infer] Add type in binary operator
6 years ago
Mehdi Bouaziz 15839539a7 Annot.Method: record rather than pair
6 years ago
Jules Villard 2a51bdabaf [cfgs] move specialize_* functions to another module to avoid circular dependencies
6 years ago
Jules Villard 6837629654 [perf] emit Trace Event json
6 years ago
Nikos Gorogiannis bca942c694 [python] kill python frontend
6 years ago
Jules Villard 4ddbc714ba [SIL] remove dead `Typ substitution
6 years ago
Mehdi Bouaziz bc737851b1 Move biabduction config/state to its own module
6 years ago
Mehdi Bouaziz 4c0e217410 Remove dead Config.pp_simple
6 years ago
Mehdi Bouaziz 348d0a0326 Remove Config.forcing_delayed_prints
6 years ago
Mehdi Bouaziz d331a7ad19 Start/Exit_node don't need the procname
6 years ago
Mehdi Bouaziz 56612796e6 Node.pname_opt doesn't have to be an option
6 years ago
Mehdi Bouaziz 539addf1de Biabduction state: option for last_node
6 years ago
Mehdi Bouaziz 98f29bceb4 Reporting cleanup 15: simplify log_issue_deprecated_using_state
6 years ago
Mehdi Bouaziz 39a146a56a Reporting cleanup 14: log error using state
6 years ago
Josh Berdine 40ab73037e [ocamlformat] upgrade to ocamlformat 0.7
6 years ago
Mehdi Bouaziz b4b54025bf Remove C++ mutex DOUBLE_LOCK checker
6 years ago
Mehdi Bouaziz 9dad4c3648 Reporting cleanup 12: node_id_key -> node
6 years ago
Mehdi Bouaziz 3986a823f8 Reporting cleanup 11: node_id
6 years ago
Jules Villard d9e12850b9 [biabd] do not try to bypass `Ondemand` to get proc desc of models
6 years ago
Mehdi Bouaziz ac5633bf58 Reporting cleanup 7: session
6 years ago
Mehdi Bouaziz fbe1e853f4 Reporting cleanup 6: mandatory loc for reporting errors
6 years ago
Mehdi Bouaziz 7024543dc9 Reporting cleanup 5: log_warning/error node_id_key
6 years ago
Mehdi Bouaziz 2ee4b5da18 Reporting cleanup 4: clang_method_kind
6 years ago
Mehdi Bouaziz 919d05b5ef Reporting cleanup 3: NodeKey
6 years ago
Mehdi Bouaziz f08ba1c016 Reporting cleanup 1: log_issue_deprecated
6 years ago
Mehdi Bouaziz 96d1f00687 Minor simplifications
6 years ago
Mehdi Bouaziz ad986dffde Get rid of Declare_locals
6 years ago
Jules Villard e5a5d64760 [caml] do not use `let _ =`
6 years ago
Mehdi Bouaziz 66d37a496a Tabulation.log_call_trace: do nothing if footprint is false
6 years ago
Jules Villard 69142ccad4 [biabd] do not get summary of pname to then get pname from summary
6 years ago
Jules Villard cc53c99ad4 [biabd] get rid of `Summary.get` in retain cycle detection
6 years ago
Jules Villard d3a36947bd [specs] do not expose specs cache
6 years ago
Jules Villard 987ef9ef67 [biabd] ondemand analysis for `pthread_create` builtin
6 years ago
Daiva Naudziuniene ba4f33089e [stack variable address escape] Do not report on temporary variables
6 years ago
Martino Luca 9e048c11f8 [Perf] Emit cost polynomial and their degree as part of the report
6 years ago
Martin Trojer 4b69087ad5 Adding OBJCPP models to avoid SKIPs of models from .mm
6 years ago
Nikos Gorogiannis c2416defed Fix IntLit.to_int interface and uses.
6 years ago
Dulma Churchill eab20602a0 [biabduction] Do not log unamatched parameter errors to standard out
6 years ago
Jules Villard 36f8d8f869 [lint] linter to force every file to `open! IStd`
6 years ago
Jules Villard 9cb36ab840 [minor] remove suspicious `with _ ->`
6 years ago
Martin Trojer 63b3f5b99b Deal with anonymous objc blocks where non closure args could wrongly be considered duplicates.
6 years ago
Martin Trojer 510ce07698 Wrap all retaincycle dotty nodenames in quotes
6 years ago
Jules Villard 6611bee736 [prop] memory usage improvement
6 years ago
Dulma Churchill e667c32324 [biabduction] Log the status of using dynamic dispatch
6 years ago
Jeremy Dubreil 7d2b96b42f [infer][backend] removed the use of Summary.get_unsafe in the backend 2/2
7 years ago
Jeremy Dubreil 8f5504fe28 [infer][backend] removed the use of Summary.get_unsafe in the backend 1/2
7 years ago
Dulma Churchill 90f8c73273 [biabduction] Enable dynamic disptach on Objective-C blocks
7 years ago
Dulma Churchill 60cbc2c98e [biabduction] Enable dynamic dispatch for ObjC methods
7 years ago
Jules Villard 4a1379ebc5 [taskbar] it is born
7 years ago
Mehdi Bouaziz 4eef0d90c8 Logging/Printer: better code
7 years ago
Mehdi Bouaziz 0563578b43 Propgraph: relax types
7 years ago
Mehdi Bouaziz 2b77c67df5 Prop.expose: relax type
7 years ago
Dulma Churchill 776e728b63 [biabduction] Rewrite the function resolve_java_pname in SymExec for all procnames
7 years ago
Dulma Churchill 7f839ae962 [biabduction] Do not crash when Exe_env.get_tenv fails for some procedure
7 years ago
Dulma Churchill 79a8f8716c [clang] Adding parameters as part of the procname for C++/ObjC methods and ObjC blocks
7 years ago
Jeremy Dubreil 0da5435d9d [infer][backend] remove unecessary function Summary.pdesc_resolve_attributes
7 years ago
Daiva Naudziuniene be754c1558 [bi-abduction] Do not treat for union fields as uninitialized
7 years ago
Mehdi Bouaziz 6fccc62b34 Buckets.check_access: got rid of refs
7 years ago
Mehdi Bouaziz 69ead917c3 Instrs: Arrays and RevArrays only
7 years ago
Mehdi Bouaziz 41a6480139 Instrs.single -> singleton
7 years ago
Mehdi Bouaziz fc5c093d1e ProcCfg: do not include module Node
7 years ago
Mehdi Bouaziz d65cee3017 Paths.Path.iter_all_nodes_no_calls -> fold
7 years ago
Jules Villard 8b882ac1df Change license to MIT
7 years ago
Mehdi Bouaziz 4927e31c2f Abstract type for list of instructions in node
7 years ago
Mehdi Bouaziz 42b3958a07 ProcCfg: fold on nodes only
7 years ago
Mehdi Bouaziz 3400e80122 propagate_nodes_divergence: postpone calling succs/preds
7 years ago
Mehdi Bouaziz c84bf5959b mk_find_duplicate_nodes: better code
7 years ago
Mehdi Bouaziz 1d62441918 Fix List.drop
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
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
Mehdi Bouaziz 8615091615 [Summary] Pp simplifications
7 years ago
Mehdi Bouaziz 7f8511c2df [Summary] move Stats and Status to modules
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
Jules Villard 3aa6fdf1ce [rename] specs -> summary, Summary -> SummaryPayload
7 years ago
Jules Villard d207f29287 [specs] move biabduction-specific stuff to BiabductionSummary.ml
7 years ago
Dulma Churchill afe511b53d [biabduction] Support finding skip reasons from attributes for clang too
7 years ago
Jules Villard dfe2ad5229 [camel] call `Format.pp_print_*` directly where appropriate
7 years ago
Daiva Naudziuniene 28b696881c [minor] Use List.is_empty instead of List.length equal to 0
7 years ago
Dulma Churchill c24ff02bb4 [biabduction] Add to the skip reason when the method comes from a protocol
7 years ago
Dulma Churchill 4a2174a322 Revert "[clang] Make the frontend with compilation database fail with compilation errors"
7 years ago
Dulma Churchill 96e5a976c4 [clang] Make the frontend with compilation database fail with compilation errors
7 years ago
Jules Villard 902de9d6e3 [sil] make return value and type mandatory
7 years ago
Jules Villard 4b4517e8ec [clang] call a skip function in case of unimplemented feature
7 years ago
Jules Villard ce0ffaf877 [ocaml] detect and kill dead modules
7 years ago
Dulma Churchill 69392d4192 [biabduction] Log reasons for skipping also in non Java context
7 years ago
Josh Berdine 16988b0a7a [ocamlformat] Upgrade to ocamlformat 0.5
7 years ago
Daiva Naudziuniene 94aae8713e [biabduction] Fix lookup of abduced expression
7 years ago
Mehdi Bouaziz 4aefa6f76b Debug: session name
7 years ago
Mehdi Bouaziz 2f57b094e9 Java split name as an abstract type
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
Dulma Churchill 74e16bdb58 [retain cycles] Define custom compare function that is more suited to dedup cycles
7 years ago
Dulma Churchill 0ba528c3fa [retain cycles] Add missing fields in the biabduction in more cases.
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
Dulma Churchill 927e2049c3 [backend] Add getter/setter execution to the trace
7 years ago
Jules Villard 6f187a954c base and IR build separately, biabduction/ directory
7 years ago