1088 Commits (abc36fe97f4b27c75ce880a90e89e8f3810bff2f)

Author SHA1 Message Date
Jeremy Dubreil 7851ae0389 [infer] remove the concept of advice which does not seem to be used
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
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 2916c97e0a [easy] Java nits
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
Varun Arora 9387706a54 add clang_method_kind field to AnalysisIssue
7 years ago
Dulma Churchill 0bc4df4b42 [retain cycles] Report cycles after assignment and method call
7 years ago
Sam Blackshear 6976181b77 [ownership] special-case frontend-generated inner destructors.
7 years ago
Sam Blackshear 89a6d7e20d [racerd] don't report races in third-party code
7 years ago
Nikos Gorogiannis 3bcfbd6a64 [deadlock] abstract domain
7 years ago
Mehdi Bouaziz 279e7d67f0 More inline records
7 years ago
Varun Arora 77e643ee1e combine ocaml_pos and ml_loc
7 years ago
Daiva Naudziuniene 4157ba820a [HIL] Implicit dereference in access expression
7 years ago
Sam Blackshear a0149872ad [ownership] report invocation of lambdas capturing a var whose lifetime is over
7 years ago
Dulma Churchill d763cfdd6f [clang] Keep QualifiedCppName free of clang frontend modules dependencies
7 years ago
Dulma Churchill ae8067ea1a [clang] Set up the objc accessor flags correctly in case property is defined in protocol
7 years ago
Dulma Churchill eef8774aa2 [clang] Restore the debug tenv file for the clang frontend
7 years ago
Mehdi Bouaziz 569efd4c4a [ProcnameDispatcher] Matcher for Procnames
7 years ago
Mehdi Bouaziz 6b22ee3932 [ProcnameDispatcher] Rename Procname to Call
7 years ago
Mehdi Bouaziz 07a21da13a [ProcnameDispatcher] Move stuff around
7 years ago
Jules Villard d773dedb4b [IR] kill `Exp.get_vars`
7 years ago
Jules Villard 43d6c17f29 [IR] do not take captured vars into account for program vars, only the captured expression
7 years ago
Jules Villard a926f82c39 [IR] address long-lived FIXME in computing free variables
7 years ago
Jules Villard bc7a71d413 [IR] add API for Sil and Exp.FreeVar
7 years ago
Sam Blackshear e687ef40b3 [dead stores] report on dead stores to values captured by value in a lambda
7 years ago
Dulma Churchill c689d5a91e [annotations] Pretty print also the annotations parameters
7 years ago
Jules Villard e6750e1610 [IR] `Sequence`-like interface to walk over program variables in expressions
7 years ago
Varun Arora 7cc0946a5a [backend] change three exceptions to developer-only visibility
7 years ago
Varun Arora 32b2a707e8 [reporting] Exceptions of visibility Exn_developer are now logged using EventLogger when not running in developer mode
7 years ago
Jules Villard 4c002f0c98 [sqlite] migrate tenv to sqlite
7 years ago
Sam Blackshear dedabf71e2 [liveness] don't report on dead stores of variables captured by reference in a lambda
7 years ago
Josh Berdine 3534838b73 [ocamlformat] Upgrade to ocamlformat 0.4
7 years ago
Sungkeun Cho 373e6b39cc [infer] Use inline record for Typ.Tarray
7 years ago
Sungkeun Cho 077d2ae2f5 [infer] Disable sorting fields
7 years ago
Sam Blackshear 84e159f74d [hil] make get_access_paths understand closures/capture
7 years ago
Jules Villard d3f3386c9e [wibble] rename `Ident{Set,Map,Hash}` -> `{Set,Map,Hash}`
7 years ago
Sam Blackshear d76d20a9ca [ownership] prototype of ownership analysis for tracking reads/moves
7 years ago
Daiva Naudziuniene 5ebc6562ee [HIL] AccessExpression on the left hand side of assignment
7 years ago
Daiva Naudziuniene 896e849bfc [HIL] Access expression
7 years ago
Sam Blackshear 1a75ec9cf8 [cleanup] Move ObjC/C++-specific Procname functions to dedicated module
7 years ago
Sam Blackshear b4d046a290 [cleanup] delete tags that are added but never read
7 years ago
Sam Blackshear a4078b43ee [cleanup] Remove Tags from JSON
7 years ago
Varun Arora 97c36448b6 [reporting] add additional fields to AnalysisStats event
7 years ago
Varun Arora ad10435b58 [IR] combine is_objc_instance_method and is_cpp_instance_method fields in ProcAttributes into method_kind
7 years ago
Dulma Churchill 91fbe68cc9 [retain cycles] Do not report when the captured variable is weak
7 years ago
Mehdi Bouaziz d61c4927c1 [ProcnameDispatcher] Optimization and do not crash with Java
7 years ago
Jules Villard 70c2a50b4e [db] record symbolic capture timestamps for source files
7 years ago
Varun Arora cbe6ea4456 [reporting] Added logging of procedures analysis stats to backend
7 years ago
Dulma Churchill 8a9fcdc43f [retain cycles] Find cycles about blocks
7 years ago
Sam Blackshear 80b3d080ce [cleanup] sunset Context leaks
7 years ago
Jules Villard 4a71067c68 [tests] kill some new dead code
7 years ago
Jules Villard 58e0cbe6ee [base] move `Config.language` to its own `Language` module
7 years ago
Jules Villard 7396a613bb [tenv] change interface to take `SourceFile.t` instead of `DB.filename`
7 years ago
Jules Villard daa5154399 [capture] get rid of call graphs
7 years ago
Jules Villard 1d3e0741ac [cfg] get defined procs of file from cfg db
7 years ago
Sam Blackshear 4545f36875 [litho] prototype of required `@Prop` checker
7 years ago
Sam Blackshear f7c415f7ae [cleanup] restrict Java-specific utility functions to Typ.Procname.Java.t's
7 years ago
Sam Blackshear 04d2882a6b [cleanup] organize Java-specific functions on types
7 years ago
Jules Villard 1a5ba13778 [cfg][minor] do not duplicate the Hashtbl API
7 years ago
Mehdi Bouaziz 7b3bf7b4b5 [dispatcher] Match all suffixes
7 years ago
Jules Villard 4b1a7b1771 [cleanup] remove dead code
7 years ago
Radu Grigore eb91d59e40 [infer][PR] Fixed namespace for Java globals.
7 years ago
Jules Villard 8fe2d793b9 [db] name tables with respect to their keys
7 years ago
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
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
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.
9 years ago
Jules Villard 9378913223 add constructor info to c++ methods
9 years ago
Sam Blackshear d946a7bc33 fix ugly printing of NONE idents
9 years ago
Josh Berdine e739b0e6ea Refactor Sil.dexp into separate DecompExp module
9 years ago
Josh Berdine ccd32690d7 Refactor Sil.call_flags into separate CallFlags module
9 years ago
Josh Berdine eefe05b240 Refactor Sil.Subtype into separate Subtype module
9 years ago
Josh Berdine aba67b4a2a Refactor Sil.binop into separate Binop module
9 years ago
Josh Berdine 2154c2c483 Refactor Sil.unop into separate Unop module
9 years ago
Josh Berdine 9487cab145 Refactor Sil.const into separate Const module
9 years ago
Josh Berdine 54403206fd Eliminate unnecessary recursion for strexp type
9 years ago
Josh Berdine e62bfb44a3 Eliminate unnecessary recursion for dexp type
9 years ago
Josh Berdine fba137e9ef Eliminate unnecessary recursion for const type
9 years ago
Josh Berdine a1b680c473 Move attributes from const to exp
9 years ago
Josh Berdine 5f309ebb23 Tighten type of Aobjc_null to reduce recursion
9 years ago
Josh Berdine 32d09545e2 Closure values are not constants
9 years ago
Josh Berdine c5ce74f3d3 Exception values are not constants
9 years ago
Sam Blackshear 15534be574 eliminate tmp vars in resource leak error message
9 years ago
Dulma Churchill 0253608fab Separate the flow of the frontend checks form the translation
9 years ago
Sam Blackshear 7b58c71475 centralize creation and detection of clang tmp vars, fix errdesc/bucketing
9 years ago
Sam Blackshear 9df3b8f653 eliminating dead stores created by copy-propagation
9 years ago
Josh Berdine 061bb2d799 Change length of Dsizeof from an exp to a dexp
9 years ago
Sam Blackshear 006bd06adb add concept of a dummy identifier
9 years ago
Josh Berdine 843d380d10 Simplify DB initialization
9 years ago
Sam Blackshear 37f943a3fa unifying checking of temporary variables
9 years ago
Sam Blackshear da054beb00 adding exp_sub_ids, instr_sub_bound_ids
9 years ago
Dulma Churchill 7f3e99c3d4 Fix assert false when calling zero_value_of_numerical_type
9 years ago
Josh Berdine 4e67ff6771 Fix bug in AttributesTable stats
9 years ago
Josh Berdine bbec166174 Refactor Sil.typ into separate Typ module
9 years ago
Josh Berdine a6a766b5f5 Refactor Sil.Int into separate IntLit module
9 years ago
Josh Berdine 229ca26c8b Optimize normalization, substitution, renaming of array types
9 years ago
Josh Berdine a85a88d145 Extend Sizeof with final extensible array length
9 years ago
Dulma Churchill 08c1c5bbf0 Change desc of npe message regarding pointer inside smart pointers
9 years ago
Sam Blackshear fd8a864c15 doing preanalysis on-demand
9 years ago
Sam Blackshear fa077c75d0 kill uses of Config.curr_language in subtyping part of prover.ml
9 years ago
Martino Luca f89e66dc60 Stats aggregator for frontend/backend/reporting
9 years ago
Sam Blackshear f45a7ec1eb using taint kind in taint sink specifications
9 years ago
Dulma Churchill de615594df Skip whitelisted functions form trace
9 years ago
Sam Blackshear 36ee3730aa reporting error on unprotected access to field annotated with @GuardedBy
9 years ago
Josh Berdine 0947a67a7e Remove dead Sil.*_iter_types functions
9 years ago
Josh Berdine 66faedbf15 Optimize attribute loading
9 years ago
Cristiano Calcagno 08546ce7bb Move vim comments up.
9 years ago
Cristiano Calcagno 52e9ebc252 Enable syntax highlighting for Reason files on GitHub.
9 years ago
Sam Blackshear 9fdd094a89 refactoring annotation reachability checker to allow custom src/sink annotations
9 years ago
Sam Blackshear 5b041d46ad remember when a method is synchronized
9 years ago
Dulma Churchill 93fcf7be9f Skip cpp models from traces
9 years ago
Cristiano Calcagno fd04004b43 Update README with Reason dependencies
9 years ago
Cristiano Calcagno 885beed0b1 Convert the Intermediate Representation to Reason.
9 years ago
Cristiano Calcagno b7b31982ee Fix the position of some comments.
9 years ago
Sam Blackshear 3b6fa0939b adding taint kind to taint source specifications
9 years ago
Josh Berdine 3e2fa59262 Reimplement command line options
9 years ago
Dulma Churchill d73d4ea177 Getting a more precise type when creating ObjC objects
9 years ago
Sam Blackshear c92bbf362b removing need to pass around lists of temporary id's in the frontend
9 years ago
Sam Blackshear 20925df57c removing unused deallocate param in nullify instr
9 years ago
Sam Blackshear b20ef20644 Allowing custom procCfg node types
9 years ago
Dulma Churchill f88e5be395 Move the npes regarding smart pointers from B5 to B1.
9 years ago
Sam Blackshear f3fe199a25 Forcing node ids of procCfg's to be Cfg.Node.id
9 years ago
Jeremy Dubreil b3baf72df8 Lazy dinamic dispatch: add missing case where the right hand side is a idenfier
9 years ago
Luis Cruz 51f4dc7a9a added Tenv.get_overriden_method
9 years ago
Sam Blackshear 77791b7e8e warn on deref of nullable skip function
9 years ago
Sam Blackshear a10d7099c7 warning on deref of nullable retvals
9 years ago
Sam Blackshear 3e8b681135 big refactoring to improve API for subtyping related operations
9 years ago
Jules Villard 70c8494625 opacify the type of node ids
9 years ago
Jules Villard ac6ef1d9f6 kill Sil.Goto
9 years ago
Cristiano Calcagno 054ad223a8 Fix control-flow graph shape when conditional is last instruction.
9 years ago
Dulma Rodriguez 6b2b76d956 Translate dynamic arrays to cpp classes
9 years ago
Josh Berdine b881887bf2 Refactor Utils.SymOp into separate module
9 years ago
Josh Berdine e1020c8ebe Remove -open(Utils) compile flag hack
9 years ago
Sam Blackshear 378ab69558 consistent API and usage for extracting Java types from strings
9 years ago
Dulma Rodriguez bc3134dd32 Translate initializing arrays of C++ classes
9 years ago
Sam Blackshear 967dcec7f1 liveness analysis and unit tests
9 years ago
Cristiano Calcagno 8759017f7c Store proc attributes inside bucket directories.
9 years ago
Josh Berdine b4bc7904f5 Move SymExec.lookup_java_typ_from_string to Tenv
9 years ago
Josh Berdine 61d2a50809 Simplify interface of SymExec
9 years ago
Cristiano Calcagno 509a666ee0 Refactor Sil.pvar into a separate module.
9 years ago
Cristiano Calcagno 53702e43e8 Created IR folder for the intermediate representaion files.
9 years ago