822 Commits (8776a31f7de4f65da206d20e09e0f49c5c89dddf)

Author SHA1 Message Date
Dulma Churchill 66b1956e9a [debug] Adding the captured variable to the printing of the closures
7 years ago
Jules Villard 764224139c [backend] change cluster type to source files and read list from cfg db
7 years ago
Jules Villard d3c6543cc8 [sqlite] more info on error
7 years ago
Jules Villard 54c1976945 [sqlite] reset prepared statement eagerly
7 years ago
Jeremy Dubreil 6e1979a3e0 [infer][IR] introduce a fold function over the procedure descriptions in a file to avoid make copies of mutable data-structures
7 years ago
Jeremy Dubreil c6a6087ed1 [infer][IR] factor the test for pointer type
7 years ago
Josh Berdine 63439ecc02 [ocamlformat] Upgrade base and ocamlformat
7 years ago
Mehdi Bouaziz 3fc41af811 [inferbo] Model for folly::split
7 years ago
Sam Blackshear afb04cf459 [thread-safety][experimental] switch access path may-alias condition to syntactic equality
7 years ago
Mehdi Bouaziz 96face188a [dispatcher] Uncouple function argument matching and capturing
7 years ago
Jeremy Dubreil 32deab86bd [infer][nullable checker] avoid reporting the nullable violations that are already reported by the biabduction analysis
7 years ago
Jules Villard 303b79b6ae [sqlite] create `SQLite` serialization/deserialization modules where needed
7 years ago
Jules Villard a91e7dda50 [cfg] move cfgs to sqlite
7 years ago
Jeremy Dubreil 1f6d73269e [infer] simplify the API to report errors
7 years ago
Sam Blackshear 32675a7b02 [quandary] improve curl_easy_setopt sink
7 years ago
Dulma Churchill 5b5b72f983 [retain cycles] Improve the message by adding info about when each of the objects involved was last updated.
7 years ago
Dulma Churchill d7dc9b38f7 [retain cycles] Refactoring of computing cycles using dedicated data structure
7 years ago
Josh Berdine 22ec29fabc [racerd] Report only once per unique pair of final trace locations
7 years ago
Jeremy Dubreil 75de2006dd [infer] make sure adding or removing parameters does not affect the bug hash on Objective C methods
7 years ago
Dulma Churchill ed740600de [cleanup] Remove hidden field and related code that is not used anymore.
7 years ago
Dulma Churchill 1d0b6050a6 [retain cycle] Move the code about retain cycle detection to a dedicated module
7 years ago
Jeremy Dubreil 297195bb3c [infer] move the AccessPath module under the IR subdirectory
7 years ago
Dulma Churchill 71fde88950 [IR] Adding support for variable attributes, adding __block for ObjC variables
7 years ago
Jeremy Dubreil 7b8a5a1a2b [infer] always run all the pre-analysis passes independently form the checkers that are being run
7 years ago
Josh Berdine 63183f94f1 [racerd] Delay issue deduplication to differential reporting
7 years ago
Mehdi Bouaziz 73906d537d [dispatcher] Typename dispatcher
7 years ago
Dulma Churchill 68beca1523 [objc] Refactor modeling of CoreFoundation and CoreGraphics libraries
7 years ago
Jeremy Dubreil c195e67dfe [infer] remove the utility functions to export debug information in LaTeX
7 years ago
Dulma Churchill 45df254a99 [infer][PR] [C/C++] Encode filename into the Procname of global initializers
7 years ago
Mehdi Bouaziz a73162d8e4 [dispatcher] + Capture function argument
7 years ago
Mehdi Bouaziz 7f3467b01d [dispatcher] Exact number of args
7 years ago
Jules Villard 6a8d71ad81 [style] s/_foo/foo_/ when `foo_` is not unused
7 years ago
Sam Blackshear 33450ab58b [cleanup] remove language from ProcAttributes
7 years ago
Mehdi Bouaziz d26e227267 [c++] Procname dispatcher
7 years ago
Jeremy Dubreil 1709db4089 [infer] always store the procedure description in the summary
7 years ago
Jules Villard 5867c598f4 [cfg] unbox the type
7 years ago
Jules Villard 45d5d878cf [cfg] minor renamings
7 years ago
Dulma Churchill b9a56a6c52 [clang] Specialize also c functions with blocks as parameters
7 years ago
Daiva Naudziuniene 6e31e691c0 [HIL] Do not drop right-hand HIL expression in the translation for SIL.
7 years ago
Josh Berdine f62ab09e61 [ocamlformat] Upgrade ocamlformat to v0.2 from opam
7 years ago
Dulma Churchill 794c8677fd [clang] Executing methods with blocks as parameters by instantiating the parameters with current blocks
7 years ago
Josh Berdine 2defebe9e7 [lock-consistency] Skip prefixes of blacklist entries
7 years ago
Dulma Churchill acd68a00d1 [IR] Refactor away a function for converting cfg nodes given a function for converting instructions
7 years ago
Dulma Churchill 718747e39c [clang] Add new procname type for specializing methods with block parameters
7 years ago
Dulma Churchill 5902f6363b [objc] Add a new call flag for calls with objc blocks as parameters
7 years ago
Daiva Naudziuniene bb90c94939 [LockConsistency] Checking for both type ObjC_Cpp and C to include c-style functions.
7 years ago
Mehdi Bouaziz eb33fb7a97 [inferbo] Use a dispatcher for models
7 years ago
Martino Luca 259beab26a [Infer] Refactor sqlite-related code into its own module
7 years ago
Dino Distefano c98570f899 do not report on captured vars in objc blocks
7 years ago
Mehdi Bouaziz 6047264e4a [bug hash] Attempt for a better hash
7 years ago
Dulma Churchill 3799dfa4bb [dead store objc] Do not report dead store in a captured variable of an objc block
7 years ago
Sam Blackshear fe89c5688c [build] add missing `Typ.void_star` type
7 years ago
Sam Blackshear 9bafbe0e1e [hil] don't move reads/writes outside of a critical section
7 years ago
Sam Blackshear 5e9e96a342 [hil] don't crash on deref of magic address
7 years ago
Sam Blackshear b67a82636c [cleanup] delete unused lock builtins
7 years ago
Jeremy Dubreil 55c585e1e0 [infer][biabduction] remove the bi-abduction based check for uninitialized values
7 years ago
Josh Berdine c1e742536d [frontend][c++] Translate pointer-to-member expressions
7 years ago
Dulma Churchill 01219a0298 [cleanup] Remove the retain count implementation from ObjC that is unused.
7 years ago
Josh Berdine f89e687efa [ocamlformat] Use ocamlformat from github
7 years ago
Dulma Churchill a969b5d188 [cleanup] Remove unused code for finding correct fields in Objective-C
7 years ago
Jeremy Dubreil 171145603e [infer][checkers] specify the dynamic dispatch handling policy on a per-checker basis.
7 years ago
Jeremy Dubreil 1a3942a903 [infer][biabduction] clear the error log when creating a specialized clone of a method
7 years ago
Josh Berdine 2cb2963641 [thread-safety][c++] Optimize access list map quotienting
7 years ago
Mehdi Bouaziz a1451c5a3a pp_instr_list should end with ;
7 years ago
Mehdi Bouaziz 6c39c2ccd3 Fix pp_instr_list nontailrecursiveness
7 years ago
Josh Berdine e9cd0872ed [thread-safety][c++] Do not quotient by may_alias when analyzing non-Java code
7 years ago
Mehdi Bouaziz eff7bb5bdf [inferbo] Replace buckets with issue types
7 years ago
Mehdi Bouaziz 4873e78440 Buckets comments and cosmetics
7 years ago
Dulma Churchill 85e4707d00 [backend] When adding a new field to the tenv, sort the list of fields
7 years ago
Jules Villard 94e7a7b141 [siof] one access per sink, better report deduplication
7 years ago
Jules Villard 8012d61b0f [sql] do not generate the source file for attribute store if they are no-op
7 years ago
Jules Villard ee1b688e6d [sql] let sqlite handle the attributes update logic
7 years ago
Jules Villard b00451d23e [sql] Cache key blobs
7 years ago
Jules Villard 2adf654950 [sql] add proc attributes DB
7 years ago
Josh Berdine 959665f5bd [backend] Fix and cleanup uses of sorted lists in substitution operations
7 years ago
Dulma Churchill 870c636e41 [objc] Adding missing fields to env when executing generated getters and setters.
7 years ago
Jeremy Dubreil 37bdf46967 [infer][objc] example of HIL translation using Objective C closure
7 years ago
Jeremy Dubreil 243fd57eb7 [infer] Add an option to specify the name of the nullable annotation
7 years ago
Jules Villard e02f6ab39f [exceptions] make more efforts to preserve backtraces
7 years ago
Daiva Naudziuniene ac33bf6e66 [destructors] Injecting destructor calls of virtual bases inside destructor bodies
7 years ago
Sam Blackshear 7aa199f707 [clang] fix translation of placement new
7 years ago
Jules Villard c6812df1eb fix infinitely-expanding types in the backend
7 years ago
Sam Blackshear ca3e454481 [reporting] aggregate issues from all procedures before reporting
7 years ago
Jules Villard c07cd81392 [log] better exception reraising
7 years ago
Sam Blackshear 14aef012f6 [quandary] allow specifying globals as sources
7 years ago
Jules Villard 003777fa44 simpler logic for determining if an attribute is "fresher" than another
7 years ago
Jeremy Dubreil 8cee4fefd5 [infer][biabduction] remove unused skip flag
7 years ago
Jules Villard 1c375a17ac [log] die more appropriately
7 years ago
Dulma Churchill 5ead13a225 Fixing crash that happened when reporting a lint issue in a templated method.
7 years ago
Daiva Naudziuniene 02c2e2b5bf Added a function to test if procdesc is a destructor.
7 years ago
Daiva Naudziuniene 29aea2d61d Do not show internal SIL variable name in the error message of temporary address escape
7 years ago
Jules Villard 69299ba675 [filtering] improve issue type filtering CLI
7 years ago
Dulma Churchill 79105952d6 [linters] Avoid a perdiod in mid sentence in the error messages
7 years ago
Jules Villard 8de2b88783 [make] s/ocamlbuild/jbuilder/g
7 years ago
Sam Blackshear ccdf15a1ca [quandary] vector and array access as sink
7 years ago
Sam Blackshear d850492ffe [cleanup] kill condition_is_assignment check
7 years ago
Sam Blackshear 6d001ee566 [access paths] optional index expression for arrays
7 years ago
Jia Chen a718ebe8ec [frontend] Additional information for the backend to distinguish between pass-by-val args and pass-by-ref args
7 years ago
Jeremy Dubreil 93ad3773fc [infer][biabduction] no longer catch the Unix errors during the symbolic execution
7 years ago
Sam Blackshear f83284ad7c [access paths] make raw access paths the default, move abstraction into AccessPath.Abs module
7 years ago
Sam Blackshear 36ea71a983 [HIL] add function for getting type of HIL expression
7 years ago
Jules Villard fe01f47e41 [clang] correct sizeof info
7 years ago
Jia Chen f658690846 Whitelist more iterator-related functions and classes
7 years ago
Sam Blackshear e43090bdc2 [java] translate `final` keyword as annotation
7 years ago
Jia Chen 7642d86c68 Oversized shift no longer produce an assertion failure
7 years ago
Jeremy Dubreil 9cf8d0fd3b [infer][java] fail early on broken CFGs
7 years ago
Jeremy Dubreil 7dc3232f5f [infer][biabduction] no longer catch the exceptions by default during the symbolic execution
7 years ago
Jia Chen c9a2dcf7b1 Added constant-folding support for shifting
7 years ago
Jeremy Dubreil f49d292c3b [infer][backend] remove the bi-abduction based code for taint analysis
7 years ago
Jia Chen a8897c2412 Properly model the copy semantics of NSString.stringWithUTF8String and NSString.stringWithString.
7 years ago
Sam Blackshear 73f3eee9cd [checkers] use liveness analysis to create dead store checker
7 years ago
Jia Chen acb0650e96 Preserve the name of abduced by-ref logical variables in re-execution phase
7 years ago
Jia Chen 217363f5d6 Whitelist comparison operators and their equivalent functors in <functional>
7 years ago
Jeremy Dubreil bafd1cf412 [infer][java] Infer should not suggest @Nullable on captured parameters
7 years ago
Josh Berdine 6bbb186ce2 [format] Attach docstrings to be warning 50 clean, other doc fixes
7 years ago
Josh Berdine bab3d81cb0 Convert Reason to OCaml, and auto-format OCaml
7 years ago
Mehdi Bouaziz 7411298def [cleanup] Killed Const.Cptr_to_fld and Binop.PtrFld
7 years ago
Josh Berdine f07de2d9c9 Replace long structured string literals with 'quoted strings'
7 years ago
Andrzej Kotulski b8e679dfeb [generic models] Implement sample generic models, add code to handle them
7 years ago
Dulma Churchill 3aa68e23d9 [linters] Be able to specify human readable bug type in the rules
7 years ago
Jia Chen 7c41d3ee48 [infer][backend] Invalidate by-ref parameters for logical variables as well as program variables when calling undefined functions
7 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
Andrzej Kotulski 42947ea9d9 [IR] Make template info part of Typename.t, rename Typename to Typ.Name
8 years ago
Cristiano Calcagno 434cfbfb15 [eradicate] Add support for new annotation @PropagatesNullable
8 years ago
Andrzej Kotulski 9d64ea23ff [procname] Change type Procname.c to store record instead of tuple
8 years ago
Jeremy Dubreil 30ae60461e [infer][backend] Fail when no callback is registered to run the analysis on-demand
8 years ago
Dulma Churchill fca8322c1f [linters] Save the linters definition file in the report.json
8 years ago
Andrzej Kotulski 8d5be14e9c [backend] Escape URLs to fix html output
8 years ago
Martino Luca 5448a95ce7 [Infer][Localise] Group all issue types in one place, and provide their human-readable representation
8 years ago
Andrzej Kotulski 6a02568982 [clang] Change procname file naming scheme
8 years ago
Cristiano Calcagno ec6a3cf6bb [backend] Add support for command-line option --per-procedure-parallelism
8 years ago
Andrzej Kotulski 925d73efce [clang] Add template instantiation info into Procname.t
8 years ago
Andrzej Kotulski e363958d34 [codemod] Move `Procname` into `Typ.Procname`
8 years ago
Andrzej Kotulski 104acee99d [Sil] Create Typename.Obj/Cpp modules with constructors
8 years ago
Andrzej Kotulski 1a9b81c0f4 [clang] Store Typename.t in Procname.ObjC_Cpp.class
8 years ago
Andrzej Kotulski ef79b20e17 [clang] Inline namespaces disappear, simplify infer's code
8 years ago
Jeremy Dubreil 08980b57e5 [infer][ondemand] make the Procname API more robust by using Typename.t for the class name part of a method name
8 years ago
Martino Luca f8a65e698c Add differential and filtering functionalities to Infer, to compare two analyses
8 years ago
Andrzej Kotulski bc852ec0d1 [Typ] Add instantiation types to StructTyp.t
8 years ago
Dulma Churchill 15a0662149 [clang] Adding annotations for ObjC instance variables
8 years ago
Dulma Churchill f549d58625 [ios] Capture the signature of getters and setters from headers.
8 years ago
Ben Hudson 090ec908b8 [infer][PR] small typo fix
8 years ago
Cristiano Calcagno 9147e071f3 Serialization: lock files before writing
8 years ago
Josh Berdine 95725e4dd0 Refactor StructTyp to Typ.Struct
8 years ago
Cristiano Calcagno 6d6d6f6efa [backend] Cleanup Serialization module
8 years ago
Cristiano Calcagno 9a06a859e2 Deprecate IList part 3.
8 years ago
Cristiano Calcagno b1b5460529 Deprecate further IList functions
8 years ago
Andrzej Kotulski c7abd82d44 [clang] Translate structs on demand
8 years ago
Cristiano Calcagno 41c5be9bad Deprecate more IList functions
8 years ago
Dulma Churchill 02ff6589ae [debug] Adding a method for prnting captured method signatures and add the list to the logs
8 years ago
Cristiano Calcagno 731dead406 More IList deprecation: fold functions
8 years ago
Jules Villard f1698f3816 [clang] reimplement fuzzy matching of list of qualifiers
8 years ago
Jules Villard a469e97987 [siof] add --siof-safe-methods whitelisting option
8 years ago
Dulma Churchill 6188f1c7a5 [annotations] Print annotations in the dotty file
8 years ago
Andrzej Kotulski d19e4eaf86 [debug html] Escape type names in html output
8 years ago
Cristiano Calcagno 60916922c6 Deprecate more IList functions and use Core List instead
8 years ago
Jeremy Dubreil 13cdff1532 [infer][java] Dynamic dispatch: fix wrong level of indirection on pointers when specialzing methods
8 years ago
Sam Blackshear a4efc7bba7 [cleanup] Simplify PrettyPrintable.Make functors
8 years ago
Cristiano Calcagno 5c12d98d37 Deprecate IList module in favour of Core List
8 years ago
Jeremy Dubreil c2b967d27b [infer] Dynamic dispatch: use the OCaml type system to implement the invariant that the method specialization should only happen on object types
8 years ago
Jeremy Dubreil c047819ab3 [infer] rename Mangled.Set and add Mangled.Map
8 years ago
Kihong Heo cef2f0e055 Inferbo
8 years ago
Cristiano Calcagno b1421bc27f [BetterEngineering] Remove remaining uses of polymorphic equality
8 years ago
Josh Berdine 65eb3a176d Remove Reason comments in copyright header
8 years ago
Cristiano Calcagno f91b3128d3 [BetterEngineering] Replace uses of polymorphic equality
8 years ago
Sam Blackshear e565010cf3 [thread-safety] don't warn on writes to volatile fields
8 years ago
Cristiano Calcagno 1eaaf84a90 [checkers] Add support for html output in checkers, starting with Eradicate
8 years ago
Cristiano Calcagno 20db61697d [backend] Cleanup of StructTyp module.
8 years ago
Sam Blackshear 61bfd1e579 [cleanup] kill useless filter_buckets option
8 years ago
Josh Berdine 4ec3af4a7f Call java frontend directly instead of using fork
8 years ago
Josh Berdine 5289ccfb23 Simplify Subtype.list_to_string
8 years ago
Jeremy Dubreil 4bca15afff [infer][backend] Add the distinction between models and regular procedure as part of the attributes
8 years ago
Jeremy Dubreil d20c8a0222 [infer][backend] Add functions to separate the cases when the subtyping relation can be proven from the case where the no subtyping relation can be proven.
8 years ago
Jeremy Dubreil f963363ee9 [infer][java] For the lazy dynamic dispatch algorithm, only specialize the methods on object parameters
8 years ago
Josh Berdine 1a5ac9e62b Use natural order on hpred, optionally ignoring instrumentation
8 years ago
Andrzej Kotulski acdc081100 [C++] Make C++ whitelist matching more strict
8 years ago
Peter O'Hearn 4057ffadcf [threadsafety] Change THREAD_SAFETY_ERROR to THREAD_SAFETY_VIOLATION
8 years ago
Martino Luca b5124c1506 [CTL] Remove linters' names from Localise module
8 years ago
Andrzej Kotulski 29c42e5fe8 [reporting] Skip traces for functions outside of project root
8 years ago
Martino Luca d044809b32 [CTL] Filter linters through a visibility flag
8 years ago
Sam Blackshear 6d7b8099f7 [java] treat all var names containing $ as temporaries
8 years ago
Andrzej Kotulski c9d254c084 Initial version of reactive capture
8 years ago
Josh Berdine 7834c95bc8 Silence deprecation warnings
8 years ago
Josh Berdine 2e66dcfac4 Open Core.Std by default, still use Caml Hashtbl, Map, Set
8 years ago
Josh Berdine e438314776 Divide Utils into Utils, Pp, and IStd
8 years ago
Josh Berdine 78ec954ae2 Core.Std.String.Map
8 years ago
Josh Berdine 76f8450203 Move proc_flags from Utils to ProcAttributes
8 years ago
Josh Berdine 7e6278baeb Core.Std.Printexc
8 years ago
Josh Berdine e4618541dc Core.Std.Int64
8 years ago
Josh Berdine c2abce7e3a Core.Std.Array
8 years ago
Josh Berdine de2e6c9d88 Core.Std.Option
8 years ago
Josh Berdine 4ea3410b47 Core.Std.Sys
8 years ago
Josh Berdine 9d1b495f57 Core.Std.Unix
8 years ago
Josh Berdine 782e9d69f6 Core.Std.Bool
8 years ago
Josh Berdine e415b73786 Core.Std.String
8 years ago
Josh Berdine a2930b7007 Core.Std.Int
8 years ago
Andrzej Kotulski 56f8757337 [SourceFile] Move DB.SourceFile into separate file
8 years ago
Jules Villard e5863f5420 [siof] handle constexpr constructors
8 years ago
Andrzej Kotulski 69b39dacb0 [DB] Create module for SourceFile
8 years ago
Jeremy Dubreil 2edafcee92 [infer][backend] Save the pretty-print of the type environment when running the analysis in debug mode
8 years ago
Jeremy Dubreil e029612421 [infer][backend] the pp_base parameter was not used anywhere
8 years ago
Jules Villard 9cc9cc101c [IR] add Static_local_var pvar kind and use it in clang
8 years ago
Andrzej Kotulski b8908282f8 [DB] Remove many callsites of DB.source_file_to_string
8 years ago
Cristiano Calcagno 827d7c3d9c [backend][perf] Address top performance bottleneck from profiling the backend.
8 years ago
Josh Berdine 198bc00df7 Remove Utils compare and equal functions
8 years ago
Josh Berdine 177124ce76 ppx_compare IntLit
8 years ago
Josh Berdine 0b605c694c ppx_compate Cfg
8 years ago
Josh Berdine b94b5f1c58 ppx_compare Procdesc
8 years ago
Josh Berdine 75527525e5 ppx_compare Errlog
8 years ago
Josh Berdine 4e849fa5d5 ppx_compare Localise
8 years ago
Josh Berdine aa5998a9d1 ppx_compare Sil
8 years ago
Josh Berdine 6298d043e6 ppx_compare PredSymb
8 years ago
Josh Berdine 71ed8c9e1d ppx_compare Exp
8 years ago
Josh Berdine e36a768d0c Use natural order of Cast expressions
8 years ago
Josh Berdine 1a0df1029a ppx_compare CallSite
8 years ago
Josh Berdine 8097de5bfd ppx_compare Mleak_buckets
8 years ago
Josh Berdine 25c3cb41bd ppx_compare CallFlags
8 years ago
Josh Berdine 7a5e7c28b5 ppx_compare Const
8 years ago
Josh Berdine 952855288d ppx_compare StructTyp
8 years ago
Josh Berdine 122d2b031f ppx_compare Unop
8 years ago
Josh Berdine cbec3453a3 ppx_compare Typ
8 years ago
Josh Berdine 72b1cd0816 ppx_compare Subtype
8 years ago
Josh Berdine b11e483500 ppx_compare Pvar
8 years ago
Josh Berdine 8822b66a21 ppx_compare Procname
8 years ago
Josh Berdine 0cf71c74ef Sort nodes when printing cfg to dot file
8 years ago
Josh Berdine 6b3d7c4d25 ppx_compare Location
8 years ago
Josh Berdine a1e223d36d ppx_compare Ident
8 years ago
Josh Berdine b7991172b5 ppx_compare Binop
8 years ago
Josh Berdine 1ca67fbfa6 ppx_compare DB
8 years ago
Josh Berdine 17708ade33 ppx_compare Typename
8 years ago
Josh Berdine 5bd1cfab26 ppx_compare Mangled
8 years ago
Josh Berdine 5107815c18 ppx_compare Csu
8 years ago
Josh Berdine 6459ec4ff4 ppx_compare Annot
8 years ago
Sam Blackshear 8301250213 [backend] utility function for checking if a procdesc has an empty body
8 years ago
Andrzej Kotulski ca9ce58150 [reactive capture] reliably load proc attributes only for defined procedures
8 years ago
Jeremy Dubreil afd29e71de [infer][backend] Simplify the code doing the case analysis for execturing the cast instruction
8 years ago
Ryan Rhee 28b741e62c [componentkit] Compute Cyclomatic Complexity
8 years ago
Andrzej Kotulski 7a0a89e567 [DB.source_file] Explicitly specify what path is relative to, keep cpp model paths relative
8 years ago
Ryan Rhee ccb51912e1 [componentkit] Compute line count for main file
8 years ago
Cristiano Calcagno 31e6f19ab2 [debug] Don't keep a copy of source files in the results directory
8 years ago
Sam Blackshear 8d427cfda6 [reporting] add space to context leak error message
8 years ago
Sam Blackshear 708c0bf1f8 [backend] eliminate phantom spaces in printing of types
8 years ago
Sam Blackshear b320714edd [quandary] optimizing Quandary compare functions
8 years ago
Jules Villard 17179d4275 [siof] take POD into account
8 years ago
Jules Villard 15d80e04df [tests] record summary of bug traces
8 years ago
Peter O'Hearn 171d1d6d43 [threadsafety] run thread safety checker on its own
8 years ago
Jeremy Dubreil 21a568aba8 [infer][java] Fix spurious class cast excpetion reports when casting arrays of primitive types
8 years ago
Jules Villard 0085417e0d [siof] better error reports using `Errlog.loc_trace`s
8 years ago
Jules Villard caf9537305 [refactoring] add make_trace_element to Errlog
8 years ago
Cristiano Calcagno c5159bae1c [IR] Move Procdesc module to a separate file.
8 years ago
Andrzej Kotulski 459ec32081 kill Location.nLOC
8 years ago
Cristiano Calcagno 1b07f78e32 [backend] Fix back-end issue where summaries are modified before saving to disk, but not in the table in memory.
8 years ago
Cristiano Calcagno e933ee958a [IR] Rearrange the cfg module to make nodes, procd descs, and cfgs independent types.
8 years ago
Josh Berdine 7fc5b4d55d [siof] Make siof reporting closer to other checkers
8 years ago
Cristiano Calcagno d1f8894a9a [debug][html] Distinguish debug html files for same node in different procedures
8 years ago
Cristiano Calcagno 73c5dfdfa4 [IR] Remove use of Cfg.Node.get_proc_desc
8 years ago
Josh Berdine 4422893bbd [RFC] Remove CSV and JSON munging python code
8 years ago
Yunxing Dai 35d24c6504 Remove a test call to Core
8 years ago
Yunxing Dai db08df930a Add tuareg and core as dependencies
8 years ago
Andrzej Kotulski 46592ffdd9 [backend] Split construction of builtin pnames and builtin registration
8 years ago
Cristiano Calcagno 3fb8801b6c [IR] Change cfg representation so the node number is per-procedure and not per-cfg
8 years ago
Ryan Rhee 5580be8dcc [componentkit] Initializer With Side-Effect Analyzer
8 years ago
Jules Villard 84af7c56f8 [SIOF] detect which variables need initialization
8 years ago
Cristiano Calcagno ecda199e9d [IR] Clean up unused parts of Cfg
8 years ago
Sam Blackshear 355ab92130 [backend] move expression pretty-printing into exp module
8 years ago
Cristiano Calcagno 47c623ff51 [Merge] Use multilink files to speed up merge with buck projects.
8 years ago
Ryan Rhee c2a8dae26f [componentkit] Multiple factory methods
8 years ago
Ryan Rhee e73350598a [componentkit] Unconventional superclass rule
8 years ago
Sam Blackshear 6fc1a7e20f [quandary] reporting on array passed to sink when contents of array are tainted
8 years ago
Cristiano Calcagno 3c52ee67a2 [IR] Save defined and declared procedure attributes in different files.
8 years ago
Peter O'Hearn b1e9267e08 [threadsafety] Don't warn autogenerated methods (containing '$' in proc name)
8 years ago
Jules Villard 5fe40bae12 [siof] check origin of globals and complain if potential siof
8 years ago
Jules Villard 62bfde8b5a [clang] translate global var initializers
8 years ago
Josh Berdine dd8b8e6d2e [reason] reformat with new version of reason
8 years ago
Andrzej Kotulski 1713378438 [IR] Make some fields of ProcAttributes.t immutable
8 years ago
Josh Berdine de56a302f3 [refactor] Remove unused prop reporting, and refactor
8 years ago
Sam Blackshear 95a82a6a04 [backend] don't run preanalysis twice
8 years ago
Andrzej Kotulski 6251aad101 [IR] kill Cfg.set_procname_priority
8 years ago
Andrzej Kotulski 18f6190432 move code that depends on backend/ out from IR/Cfg.re
8 years ago
Josh Berdine 3ddc23d7e5 [IR] Do not use JBasics.java_lang_object in IR/backend
8 years ago
Josh Berdine c094a38d56 [IR] Simplify to single return id, with type
8 years ago
Josh Berdine ae632e281a [IR] Refactor Typ.struct_typ into separate module
8 years ago
Josh Berdine 44e2c32524 [IR] Refactor annotation types into separate module
8 years ago
Josh Berdine 74c8198826 [IR] Remove redundant struct_typ.name field
8 years ago
Josh Berdine af51599e0f [backend] Remove AttributesTable.get_tenv
8 years ago
Jeremy Dubreil 168c613ac9 [infer][java] Separate the builtins from the other models for a better modularity
8 years ago
Dulma Churchill 561f4fdfad [linters] Adding a new type of procname that is used for lint bugs that are not in any method
8 years ago
Cristiano Calcagno 4cee6907ec [backend] Remove the global reference DB.current_source and clean up the flow of information about the current source file.
8 years ago
Cristiano Calcagno bd0215a826 [IR] Add notion of file captured to procedure attributes.
8 years ago
Sam Blackshear 4172650313 [java] treat CatchVar's emitted by Sawja as temporary variables
8 years ago
Cristiano Calcagno b0980bc35e [tests] Convert c/c++ frontend tests to new format.
8 years ago
Cristiano Calcagno ec67521c6f [backend] Fix issue where the attribute of a procedure definition could be overwritten with the attribute of a declaration
8 years ago
Josh Berdine 8589dc4868 Remove Tstruct in favor of Tvar
8 years ago
Josh Berdine 4706f25bf7 Normalize struct field types to be shallow
8 years ago
Josh Berdine 548338bb4e Move mk_struct to Tenv
8 years ago
Josh Berdine 30b3881e52 Make Typ.struct_typ private and add Typ.mk_struct
8 years ago
Josh Berdine ad31aeb2a2 Expand Tvar to Tstruct as needed
8 years ago
Sam Blackshear 3368548e3e replace stackop instruction with skip instruction
8 years ago
Sam Blackshear e918624076 abducted -> abduced
8 years ago
Cristiano Calcagno 0b7ea202db Convert infer c++ tests to new format
8 years ago
Josh Berdine 8a85919001 Pass tenv to everywhere that matches on Tstruct
8 years ago
Josh Berdine 2bebd94553 Remove redundant Typ.struct_typ.csu field
8 years ago
Josh Berdine f0940f25d7 Replace optional mangled struct_name with typename
8 years ago
Cristiano Calcagno 20c33f15c9 Fix flakiness in the analysis when a procedure is defined in more than one file.
8 years ago
Cristiano Calcagno 346d3e6d01 Address capture flakiness when a symbol is multiply defined.
8 years ago
Andrzej Kotulski 7461d40024 Clean up special handling of smart pointers in backend
8 years ago
Josh Berdine 8cacd31f85 Remove unused typedef and enum Typename's
8 years ago
Jules Villard 26a6594b90 detect unsigned values inside structured expressions
8 years ago
Cristiano Calcagno 91d9cd83b5 Cleanup instruction names: use Load/Store instead of Letderef/Set.
8 years ago
Jules Villard 145cb744f6 do not havoc actuals of skip functions with const parameters
8 years ago
Cristiano Calcagno b48ec1ac93 Clean up API to access components of propositions.
8 years ago
Josh Berdine 3896b10265 Move Prop.Attribute to toplevel
8 years ago
Josh Berdine c147ab4197 Refactor Sil.attribute and associates to PredSymb
8 years ago
Josh Berdine 25a52c7bbc Refactor operations on Exp.t in Sil to Exp
8 years ago
Josh Berdine 8a90190309 Remove dead Sil.binop_invert
8 years ago
Josh Berdine f9ca08a9a8 Refactor Exp.t-keyed collections from Sil to Exp
8 years ago
Josh Berdine d60965824e Refactor exp_equal and exp_compare to Exp
8 years ago
Josh Berdine 701eb20f83 Refactor Sil.exp to Exp.t
8 years ago
Josh Berdine 6ffe204252 Make Aobjc_null attribute a binary predicate
8 years ago
Josh Berdine 4185bda8ba Generalize predicates from unary to nary
8 years ago
Josh Berdine a8ce65b221 Encode polarity of predicates into atom tag
8 years ago
Josh Berdine 71a15b2388 Represent attributes with atoms, not disequalities
8 years ago
Sam Blackshear 8ff9f2afab making get_reachable_hpreds understand inductive predicates
8 years ago
Daiva Naudziuniene dfb7c15303 Fixing Resource leak false positives assuming developers use raii.
8 years ago
Jules Villard 9378913223 add constructor info to c++ methods
8 years ago
Sam Blackshear d946a7bc33 fix ugly printing of NONE idents
8 years ago