426 Commits (f739d73ed53a191404bc118404ea0619cc03fdf7)

Author SHA1 Message Date
Sam Blackshear 6d001ee566 [access paths] optional index expression for arrays
8 years ago
Jia Chen a718ebe8ec [frontend] Additional information for the backend to distinguish between pass-by-val args and pass-by-ref args
8 years ago
Jeremy Dubreil 93ad3773fc [infer][biabduction] no longer catch the Unix errors during the symbolic execution
8 years ago
Sam Blackshear f83284ad7c [access paths] make raw access paths the default, move abstraction into AccessPath.Abs module
8 years ago
Sam Blackshear 36ea71a983 [HIL] add function for getting type of HIL expression
8 years ago
Jules Villard fe01f47e41 [clang] correct sizeof info
8 years ago
Jia Chen f658690846 Whitelist more iterator-related functions and classes
8 years ago
Sam Blackshear e43090bdc2 [java] translate `final` keyword as annotation
8 years ago
Jia Chen 7642d86c68 Oversized shift no longer produce an assertion failure
8 years ago
Jeremy Dubreil 9cf8d0fd3b [infer][java] fail early on broken CFGs
8 years ago
Jeremy Dubreil 7dc3232f5f [infer][biabduction] no longer catch the exceptions by default during the symbolic execution
8 years ago
Jia Chen c9a2dcf7b1 Added constant-folding support for shifting
8 years ago
Jeremy Dubreil f49d292c3b [infer][backend] remove the bi-abduction based code for taint analysis
8 years ago
Jia Chen a8897c2412 Properly model the copy semantics of NSString.stringWithUTF8String and NSString.stringWithString.
8 years ago
Sam Blackshear 73f3eee9cd [checkers] use liveness analysis to create dead store checker
8 years ago
Jia Chen acb0650e96 Preserve the name of abduced by-ref logical variables in re-execution phase
8 years ago
Jia Chen 217363f5d6 Whitelist comparison operators and their equivalent functors in <functional>
8 years ago
Jeremy Dubreil bafd1cf412 [infer][java] Infer should not suggest @Nullable on captured parameters
8 years ago
Josh Berdine 6bbb186ce2 [format] Attach docstrings to be warning 50 clean, other doc fixes
8 years ago
Josh Berdine bab3d81cb0 Convert Reason to OCaml, and auto-format OCaml
8 years ago
Mehdi Bouaziz 7411298def [cleanup] Killed Const.Cptr_to_fld and Binop.PtrFld
8 years ago
Josh Berdine f07de2d9c9 Replace long structured string literals with 'quoted strings'
8 years ago
Andrzej Kotulski b8e679dfeb [generic models] Implement sample generic models, add code to handle them
8 years ago
Dulma Churchill 3aa68e23d9 [linters] Be able to specify human readable bug type in the rules
8 years ago
Jia Chen 7c41d3ee48 [infer][backend] Invalidate by-ref parameters for logical variables as well as program variables when calling undefined functions
8 years ago
Andrzej Kotulski e5556949d3 [backend] Introduce type substitution to expressions and instructions
8 years ago
Andrzej Kotulski 621ace48af [backend] Make Sil.subst type variant to allow more types of substitution
8 years ago
Josh Berdine a5c999db1e [threadsafety] Limited support for more access path forms
8 years ago
Jia Chen 28b691d9fd [infer][backend] Perform deep match in Sil.exp_replace_exp
8 years ago
Jia Chen 77c56de7a9 [infer][backend] Do not create abduced var for addresses of local variables that are marked as Aundef
8 years ago
Josh Berdine 8ce531b3de [threadsafety] Fix divergence due to indexing string literal in loop
8 years ago
Josh Berdine e04dd37df3 update opam deps
8 years ago
Andrzej Kotulski a864b4068f [clang IR] Change Fieldname.t to store typename
8 years ago
Andrzej Kotulski 61aa7aaae5 Move Fieldname module inside Typ
8 years ago
Jia Chen a8ad84b9d3 Prevent addresses of local vars from appearing in function summary
8 years ago
Dulma Churchill 7d680b3b0c [linters] Add an optional doc_url field to linters to specify the url to some documentation online.
8 years ago
Andrzej Kotulski 1c8ce44042 [Fieldname] Kill equal_modulo_parent
8 years ago
Jeremy Dubreil 7dd7b460e0 [infer][java] skip reports on generated methods
8 years ago
Jules Villard 93cc3266e8 [log] log to a single file with different categories and debug levels
8 years ago
Mehdi Bouaziz ec7b096ff6 [inferbo] Add warnings and errors for unreachable code
8 years ago
Jia Chen c0e20e0880 Propagate C++ noexcept annotation from frontend to backend
8 years ago
Andrzej Kotulski 5522365479 [IR] Add Typ.TVar variant to Typ.desc
8 years ago
Mehdi Bouaziz 2d73c71845 [debug] Links to non-visited nodes
8 years ago
Kihong Heo 485814a75a [Inferbo] remove redundant alarm message
8 years ago
Josh Berdine b4b45236fd [threadsafety] Relax javaism of may_alias
8 years ago
Jia Chen 07c6fbef81 Added an initial implementation of a checker that suggest the use of @Nullable
8 years ago
Sam Blackshear 1d9d7a3ee0 [guarded-by] fix error message
8 years ago
Dulma Churchill f5d3870485 [linters] Adding a new error type like
8 years ago
Jules Villard 71f20908a1 [logging] revert to using `assert false` since we catch `Assert_failure` in some places
8 years ago
Mehdi Bouaziz b8c677497a [checkers] Kill Localise.checkers_dead_code
8 years ago
Martino Luca 34a0efd626 Add optional field in serialized output
8 years ago
Jules Villard 741e527826 [console] print progress-like messages on stderr
8 years ago
Sam Blackshear 32ead76a3b [absint] make Set and Map functors take an ordered type
8 years ago
Jules Villard 93ec47a5f4 [IR] add stride to array type
8 years ago
Sam Blackshear b7afa4727d [hil] fix crash when translating C code that indexes string literals like arrays or does pointer arithmetic
8 years ago
Sam Blackshear 30e629c319 [hil] rename Write to Assign
8 years ago
Martino Luca 30bcc6b5ce Simple refactoring of Localise
8 years ago
Sam Blackshear 9157f42b7c [test] diagnose invalid source file issue
8 years ago
Sam Blackshear 6af6ef35ec [quandary] support sources that taint a pointer arg or arg passed by ref rather than the return value
8 years ago
Jules Villard 29f7967f26 [build] remove unused values
8 years ago
Sam Blackshear 6680126af9 [cleanup] replace Location.dummy with Location.none where acceptable
8 years ago
Dulma Churchill 6097c05d88 [clang] Add a preanalysis to compute nullability annotations
8 years ago
Sam Blackshear 80030c8de7 [quandary] delegate handling of assignment to HIL
8 years ago
Andrzej Kotulski c1147710ba [C++] Store class template name without its template arguments
8 years ago
Jeremy Dubreil 250d9cb8b3 [infer] the function to pretty-print the call graph does not need to access the analysis summaries
8 years ago
Andrzej Kotulski 7a0c4d9031 add more quals to SIL
8 years ago
Sam Blackshear aadb26ada0 [hil] add Unbind operation for removing a temporary binding
8 years ago
Andrzej Kotulski 462220ce3e [typ] Print type qualifiers in Typ.pp_full
8 years ago
Jules Villard 1b0ee6fbc3 [clang] add sizeof static value to translation
8 years ago
Martino Luca 233d6a53c0 [Infer] Emit potential exception lines into qualifier's message
8 years ago
Jeremy Dubreil c0c813c657 [infer][java] only report one annotation reachability issue per end of call stack
8 years ago
Andrzej Kotulski 029499cd9d [IR] add type qualifiers to Typ.t
8 years ago
Sam Blackshear 24165942a4 [hil] HIL instructions
8 years ago
Sam Blackshear 0caac1aa93 [hil] HIL expressions
8 years ago
Martino Luca a42302bd38 Add variant type to traces' node_tags
8 years ago
Sam Blackshear b0216035f4 [frontend] don't treat Sawja-generated ternary operator vars as SSA tmps
8 years ago
Jules Villard c8489cb3ac [spacetime] two big allocators in some profiles
8 years ago
Jules Villard dd2c56da06 be more careful about handling invalid source files
8 years ago
Jules Villard b349fb147c [build] upgrade Reason to 1.13.3
8 years ago
Andrzej Kotulski 3cdb0e04f5 [SourceFile] Move append_crc_cutoff to DB module
8 years ago
Andrzej Kotulski 62d1d74d74 [Typ] Change Typ.pp_full to not include class keywords
8 years ago
Andrzej Kotulski 2214034d03 [QualifiedName] Don't compute regex in each of_qual_string call
8 years ago
Andrzej Kotulski 5503487704 [C++] Introduce mechanism to write generic models
8 years ago
Andrzej Kotulski a90525f627 [C++] Create notion of generic procname, it will be used to store specs of generic models
8 years ago
Sam Blackshear 899cfadfbd [access paths] don't compare types of bases
8 years ago
Jeremy Dubreil bf55514b85 [infer][checkers] Add a pretty print of the annotation reachability payload when printing summaries
8 years ago
Jeremy Dubreil a7422cf227 [infer][backend] make the Map and Set of procedure names pretty printable
8 years ago
Andrzej Kotulski f598360786 [C++] Make QualifiedCppName.t reversed list
8 years ago
Andrzej Kotulski 5cfde325fd [C++] Fix matching of qualified cpp names
8 years ago
Andrzej Kotulski 2cc972705a [clang] Make backend use QualifiedCppName.t instead of string
8 years ago
Dulma Churchill e155e8ea46 [IR] Convert err_data into a record for more clarity
8 years ago
Andrzej Kotulski ade5a06cd4 [IR][clang] Use qualified cpp name in fields, improve errdesc.ml
8 years ago
Andrzej Kotulski 71702a13dc [IR] More detailed type for Fieldname.t
8 years ago
Mehdi Bouaziz f65ac4f094 [infer] std::mutex model to detect simple double lock
8 years ago
Jeremy Dubreil 707d514386 [infer][java] do not report `return not nullable` on lambdas
8 years ago
Andrzej Kotulski e6ebad394e [IR] Make qualified names type safe
8 years ago
Andrzej Kotulski 7c64d217f2 [IR] Refactor Ident.fieldname _*into Fieldname module
8 years ago
Andrzej Kotulski 9a07318ab7 [IR] Simplify Typ.Name.t type by inlining Csu.t type
8 years ago
Martino Luca a7b947f971 Add support to format reports natively
8 years ago
Andrzej Kotulski 86534cd97f [IR] Remove Typename.re(i)
8 years ago