455 Commits (d3f4043bc081370058693334192a0ed1bf304264)

Author SHA1 Message Date
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