414 Commits (e86ea5ca7fab49d0c7071ab98428454fee0f8dbe)

Author SHA1 Message Date
Sam Blackshear 33450ab58b [cleanup] remove language from ProcAttributes
8 years ago
Sam Blackshear 181959216b [cleanup] remove harness-related code
8 years ago
Jules Villard 45d5d878cf [cfg] minor renamings
8 years ago
Josh Berdine f62ab09e61 [ocamlformat] Upgrade ocamlformat to v0.2 from opam
8 years ago
Jules Villard 185e7f7131 [java] support Java9
8 years ago
Josh Berdine f89e687efa [ocamlformat] Use ocamlformat from github
8 years ago
Dulma Churchill 0212aaf81f [stats] Emit the stats only in developer mode
8 years ago
Jeremy Dubreil e17e157ae1 [infer][java] no longer combine the type environment with the type environment of the models
8 years ago
Mehdi Bouaziz bb15aba766 [log] Even better exception reraising
8 years ago
Jeremy Dubreil f05cc6385c [infer][cleanup] remove old Eclipse project files
8 years ago
Jeremy Dubreil f7258c2ab4 [infer][java] fix the translation of the finally branch
8 years ago
Jules Villard c07cd81392 [log] better exception reraising
8 years ago
Jeremy Dubreil 84f7732b21 [infer][java] fix inconsistent treatment of the --skip-implementation option
8 years ago
Jeremy Dubreil dd51a2e22b [infer][java] the skip-implementation option should preserve the line number information, which is not the case when translated those methods as native methods
8 years ago
Jeremy Dubreil 9a3ab41371 [infer][java] the translation was no adding the fields from the implemented interfaces
8 years ago
Jeremy Dubreil 32d462b778 [infer][java] add an option to only translate the signature of the methods and skip the body
8 years ago
Jeremy Dubreil 1a221e798c [infer][java] make the translation and analysis of abstract methods and native methods consistent
8 years ago
Jules Villard 1c375a17ac [log] die more appropriately
8 years ago
Jeremy Dubreil 04d3142f6b [infer][java] translate the unsingned shift operator as standard shift operator
8 years ago
Jeremy Dubreil 1d8d6e3ceb [infer][java] remove the hack around virtual calls on arrays
8 years ago
Jeremy Dubreil 9e217ea1b1 [infer][java] add mli for the JConfig module to automatically remove dead code
8 years ago
Jules Villard 8fd9d40ca8 [cleanup] use constant strings in `Config` for dir names
8 years ago
Jeremy Dubreil 9d67b6c07d [infer][java] make the code more consistent to detect that constructor is a creating a resource
8 years ago
Sam Blackshear 4b8a5683aa [java] fix noexcept hack
8 years ago
Sam Blackshear e43090bdc2 [java] translate `final` keyword as annotation
8 years ago
Josh Berdine bab3d81cb0 Convert Reason to OCaml, and auto-format OCaml
8 years ago
Josh Berdine e04dd37df3 update opam deps
8 years ago
Andrzej Kotulski 61aa7aaae5 Move Fieldname module inside Typ
8 years ago
Marco Concetto Rudilosso d196c03434 [infer][PR] JMain link is broken
8 years ago
Jules Villard 0554da99e7 [perfstats] do not register the same file twice in the same process
8 years ago
Jules Villard bfccb5222e [buck] do not generate non-deterministic data inside buck-out
8 years ago
Jules Villard 93cc3266e8 [log] log to a single file with different categories and debug levels
8 years ago
Sam Blackshear 927b08346e [SRI summer school] skeleton code for lab
8 years ago
Jia Chen c8cad5b0f1 remove TODO file
8 years ago
Jeremy Dubreil 16b87a3675 [infer] more cleanup for the tracing mode options
8 years ago
Jules Villard 741e527826 [console] print progress-like messages on stderr
8 years ago
Jules Villard 93ec47a5f4 [IR] add stride to array type
8 years ago
Sam Blackshear 6680126af9 [cleanup] replace Location.dummy with Location.none where acceptable
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
Jules Villard 1b0ee6fbc3 [clang] add sizeof static value to translation
8 years ago
Andrzej Kotulski 029499cd9d [IR] add type qualifiers to Typ.t
8 years ago
Sam Blackshear 8dbd91b5ba [java frontend] fix infinite loop
8 years ago
Jules Villard dd2c56da06 be more careful about handling invalid source files
8 years ago
Andrzej Kotulski 3cdb0e04f5 [SourceFile] Move append_crc_cutoff to DB module
8 years ago
Andrzej Kotulski 71702a13dc [IR] More detailed type for Fieldname.t
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
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 e363958d34 [codemod] Move `Procname` into `Typ.Procname`
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
9 years ago
Josh Berdine 95725e4dd0 Refactor StructTyp to Typ.Struct
9 years ago
Sam Blackshear e657d19194 [java frontend] translate boolean annotation parameters
9 years ago
Cristiano Calcagno 9a06a859e2 Deprecate IList part 3.
9 years ago
Cristiano Calcagno b1b5460529 Deprecate further IList functions
9 years ago
Cristiano Calcagno 41c5be9bad Deprecate more IList functions
9 years ago
Cristiano Calcagno 731dead406 More IList deprecation: fold functions
9 years ago
Jules Villard 451adc7949 [build] fix ./build-infer clang
9 years ago
Jeremy Dubreil 4ed185e557 [infer][java] for the buck integration, remove the files that are invalidating the Buck cache
9 years ago
Cristiano Calcagno 60916922c6 Deprecate more IList functions and use Core List instead
9 years ago
Jeremy Dubreil ecfb00e068 [infer][java] Always consider the close() method to be potentially closing a resource
9 years ago
Cristiano Calcagno 5c12d98d37 Deprecate IList module in favour of Core List
9 years ago
Jeremy Dubreil c047819ab3 [infer] rename Mangled.Set and add Mangled.Map
9 years ago
Cristiano Calcagno b1421bc27f [BetterEngineering] Remove remaining uses of polymorphic equality
9 years ago
Jeremy Dubreil add9e476a3 [infer][java] more rebust detection of the class filenames
9 years ago
Cristiano Calcagno f91b3128d3 [BetterEngineering] Replace uses of polymorphic equality
9 years ago
Sam Blackshear e565010cf3 [thread-safety] don't warn on writes to volatile fields
9 years ago
Josh Berdine 4ec3af4a7f Call java frontend directly instead of using fork
9 years ago
Josh Berdine 8c42cfb364 Add root dir argument to Utils.filename_to_absolute
9 years ago
Jeremy Dubreil 4bca15afff [infer][backend] Add the distinction between models and regular procedure as part of the attributes
9 years ago
Josh Berdine 3dfaa9ed7b Remove support for SuppressWarnings annotations
9 years ago
Jules Villard a07e16871c [java] silence javalib warnings on stderr when loading class with Java8 Code
9 years ago
Josh Berdine 7834c95bc8 Silence deprecation warnings
9 years ago
Josh Berdine 2e66dcfac4 Open Core.Std by default, still use Caml Hashtbl, Map, Set
9 years ago
Josh Berdine e438314776 Divide Utils into Utils, Pp, and IStd
9 years ago
Josh Berdine 23cda11fda Core.Std.Int.Set
9 years ago
Josh Berdine 78ec954ae2 Core.Std.String.Map
9 years ago
Josh Berdine e00c4cd2dd Core.Std.String.Set and remove unused StringPPSet
9 years ago
Josh Berdine c2abce7e3a Core.Std.Array
9 years ago
Josh Berdine de2e6c9d88 Core.Std.Option
9 years ago
Josh Berdine 4ea3410b47 Core.Std.Sys
9 years ago
Josh Berdine 9d1b495f57 Core.Std.Unix
9 years ago
Josh Berdine e415b73786 Core.Std.String
9 years ago
Andrzej Kotulski 56f8757337 [SourceFile] Move DB.SourceFile into separate file
9 years ago
Andrzej Kotulski 69b39dacb0 [DB] Create module for SourceFile
9 years ago
Jeremy Dubreil d89c69dbe6 [infer][java] Adding the android.jar in the classpath is not needed anymore
9 years ago
Andrzej Kotulski b8908282f8 [DB] Remove many callsites of DB.source_file_to_string
9 years ago
Jeremy Dubreil cead43b731 [infer][genrule] run the genrule integration as part of the Buck integration test
9 years ago
Josh Berdine 198bc00df7 Remove Utils compare and equal functions
9 years ago
Jeremy Dubreil e269f2a3fd [infer][java] basic support to run Infer using Buck genrules
9 years ago
Andrzej Kotulski 7a0a89e567 [DB.source_file] Explicitly specify what path is relative to, keep cpp model paths relative
9 years ago
Jeremy Dubreil 3299f74068 [infer][java] removing Thread.start() special treatment
9 years ago
Andrzej Kotulski b2cef3e0b2 [DB] Alawys use DB.source_file_to_abs_path to do actual filesystem operations
9 years ago
Jeremy Dubreil ba62932760 [infer][java] Translate the local variables directly from the bytecode
9 years ago
Jeremy Dubreil 2320ed8af3 [infer][java] Infer does not really rely on having compliant bytecode to run the analysis
9 years ago
Jeremy Dubreil 02ce9a909a [infer][java] only skip the classes where Javalib raises an exception instead of skipping all the classes
9 years ago
Sam Blackshear 75d6fb30e4 [frontend] support Java 8
9 years ago
Cristiano Calcagno c5159bae1c [IR] Move Procdesc module to a separate file.
9 years ago
Jeremy Dubreil 274851fc53 [infer][java] mark all methods as defined
9 years ago
Josh Berdine 3021394a10 [config] Remove unnecessary --models
9 years ago
Andrzej Kotulski 459ec32081 kill Location.nLOC
9 years ago
Jeremy Dubreil 3b997e4882 [infer][java] Isolate the call to the JBir transformation to a single place
9 years ago
Jeremy Dubreil 2e16920f5a [infer][java] Skip the translation of modeled methods earlier
9 years ago
Jeremy Dubreil b3e406ddf3 [infer][java] Simplify the API to translate Java method names into SIL procedure names
9 years ago
Cristiano Calcagno e933ee958a [IR] Rearrange the cfg module to make nodes, procd descs, and cfgs independent types.
9 years ago
Josh Berdine 2ce94632d2 [config] Default project_root to initial working dir
9 years ago
Cristiano Calcagno 73c5dfdfa4 [IR] Remove use of Cfg.Node.get_proc_desc
9 years ago
Andrzej Kotulski 46592ffdd9 [backend] Split construction of builtin pnames and builtin registration
9 years ago
Cristiano Calcagno 3fb8801b6c [IR] Change cfg representation so the node number is per-procedure and not per-cfg
9 years ago
Jeremy Dubreil e90f67abd6 [infer][java] Java frontendonly print information when the debug mode is on
9 years ago
Cristiano Calcagno ecda199e9d [IR] Clean up unused parts of Cfg
9 years ago
Jeremy Dubreil c7318ee27e [infer][java] Use the global logging function for the Java frontend
9 years ago
Jeremy Dubreil 31d886bede [infer][java] only cache the classname of translated classes when running Infer with the --dependencies option
9 years ago
Jeremy Dubreil 219832a9a8 [infer][java] Create the procedure descriptions when required instead of creating them beforehand
9 years ago
Jeremy Dubreil e13c3886bf [infer][java] removing no longer used code which can now be handled using .inferconfig
9 years ago
Jeremy Dubreil 837cb9b64e [infer][java] Only create proc_desc for the methods that are defined
9 years ago
Jeremy Dubreil a7d2eb1d02 [infer][java] Remove the code adding a special treatment for static final fields
9 years ago
Jeremy Dubreil d891303bb6 [infer][java] Minor cleanup of the Java frontend
9 years ago
Josh Berdine a7c1105147 [config] Combine analyze_models into models_mode
9 years ago
Cristiano Calcagno 1327de0321 Fix issue with timestamps leading to files not analyzed in -reactive mode when the capture takes less than 1 second
9 years ago
Jules Villard 62bfde8b5a [clang] translate global var initializers
9 years ago
Jules Villard d9f83094b5 [clang] do not depend on Config.clang_lang and Config.source_file
9 years ago
Andrzej Kotulski 6251aad101 [IR] kill Cfg.set_procname_priority
9 years ago
Jeremy Dubreil ea72dadab3 [infer] Add the possibility to skip the analysis of some files based on their path
9 years ago
Josh Berdine 3ddc23d7e5 [IR] Do not use JBasics.java_lang_object in IR/backend
9 years ago
Josh Berdine c094a38d56 [IR] Simplify to single return id, with type
9 years ago
Josh Berdine ae632e281a [IR] Refactor Typ.struct_typ into separate module
9 years ago
Josh Berdine 44e2c32524 [IR] Refactor annotation types into separate module
9 years ago
Josh Berdine 74c8198826 [IR] Remove redundant struct_typ.name field
9 years ago
Jeremy Dubreil 168c613ac9 [infer][java] Separate the builtins from the other models for a better modularity
9 years ago
Jeremy Dubreil d1da078ab7 [infer][java] Minor renaming in the Java frontend
9 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.
9 years ago
Cristiano Calcagno bd0215a826 [IR] Add notion of file captured to procedure attributes.
9 years ago
Sam Blackshear b34a23c1b4 [java frontend] fix read of unused id in exception translation.
9 years ago
Cristiano Calcagno b0980bc35e [tests] Convert c/c++ frontend tests to new format.
9 years ago
Josh Berdine 8589dc4868 Remove Tstruct in favor of Tvar
9 years ago
Josh Berdine 548338bb4e Move mk_struct to Tenv
9 years ago
Josh Berdine 30b3881e52 Make Typ.struct_typ private and add Typ.mk_struct
9 years ago
Josh Berdine ad31aeb2a2 Expand Tvar to Tstruct as needed
9 years ago
Sam Blackshear 30ff9eda22 fix type of array store
9 years ago
Josh Berdine 8a85919001 Pass tenv to everywhere that matches on Tstruct
9 years ago
Josh Berdine 2bebd94553 Remove redundant Typ.struct_typ.csu field
9 years ago
Josh Berdine f0940f25d7 Replace optional mangled struct_name with typename
9 years ago
Cristiano Calcagno 91d9cd83b5 Cleanup instruction names: use Load/Store instead of Letderef/Set.
9 years ago
Josh Berdine c147ab4197 Refactor Sil.attribute and associates to PredSymb
9 years ago
Josh Berdine 25a52c7bbc Refactor operations on Exp.t in Sil to Exp
9 years ago
Josh Berdine 701eb20f83 Refactor Sil.exp to Exp.t
9 years ago
Josh Berdine fe780cb6ff Move comments to improve attachment
9 years ago
Josh Berdine 32146523ca Enable warning: Unexpected documentation comment
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 c5ce74f3d3 Exception values are not constants
9 years ago
Sam Blackshear 006bd06adb add concept of a dummy identifier
9 years ago
Josh Berdine 843d380d10 Simplify DB initialization
9 years ago
Peter O'Hearn da0933fd79 first try at dereferencing lock on monitor enter
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
Sam Blackshear fd8a864c15 doing preanalysis on-demand
9 years ago
Sam Blackshear 83a14a3541 changing API to take pdesc instead of cfg
9 years ago
Jules Villard 21367b0e98 add matchers from inferconfig to the CLI
9 years ago
Sam Blackshear 5b041d46ad remember when a method is synchronized
9 years ago
Sam Blackshear 44edd9ba7f fix frontend crash when running on Java 8
9 years ago
Jules Villard 944176bf67 load json config files lazily and at most once
9 years ago
Josh Berdine 3e2fa59262 Reimplement command line options
9 years ago
Sam Blackshear c92bbf362b removing need to pass around lists of temporary id's in the frontend
9 years ago
Jeremy Dubreil 6dfd1a317e Some cleanup and renaming
9 years ago
Jules Villard d4521fd70d handle utf8 PWD
9 years ago
Peter O'Hearn 50081c7ccb alloc/dealloc model for locks
9 years ago
Cristiano Calcagno 054ad223a8 Fix control-flow graph shape when conditional is last instruction.
9 years ago
Josh Berdine a5e1a6c77e Report time and memory stats
9 years ago
Josh Berdine e1020c8ebe Remove -open(Utils) compile flag hack
9 years ago
Josh Berdine fd062cf736 Refactor SymExec.ModelBuiltins into toplevel module
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
Josh Berdine 2dcd93204c Refactor SymExec.Builtin into toplevel module
9 years ago
Cristiano Calcagno d41d452b67 Make eradicate work in the absence of procdescs for callees.
9 years ago
Cristiano Calcagno c198d76631 Clean up the Procname module, and remove remaining assert false
9 years ago
Sam Blackshear 91ae1baebc massive refactoring of harness generation
9 years ago
jrm e734c1873d Fix cases of resource leaks not detected when the resource indirectly implements Closeable
9 years ago
Sam Blackshear f9bffe1e87 move remove_tmps and add_abstraction steps into the pre-analysis
9 years ago
Josh Berdine 66d865ff6a Accept command line options via environment vars
9 years ago
Cristiano Calcagno 86304b3d9c Prevent assert false from occurring on Java functions in Procname.
9 years ago
jrm cc4fcd6837 Add support for modeling @Expensive methods using .inferconfig
10 years ago
Jules Villard c637c10d0f Revert "[java] no longer catching Class_structure_exception"
10 years ago
jrm 81a59515e4 Simplify the code to collect the list of @SuppressWarnings annotations
10 years ago
jrm e123635122 Add support for @SuppressWarnings for Gradle and Ant projects.
10 years ago
Sam Blackshear 2d89426170 fixing tenv_lookup
10 years ago
Sam Blackshear 337d2cc537 fixing tenv_add to add only struct_typ's
10 years ago
Sam Blackshear 749a649138 translating an expression returns its type
10 years ago
Sam Blackshear 82f2b7b6de make tenv a typename -> struct_typ map
10 years ago
Cristiano Calcagno 021cf213a6 Bypass the interprocedural algorithm in Fork with ondemand, and replace it with a simple iteration.
10 years ago
Cristiano Calcagno f3ba6c3906 Revamped Timeout module to save and restore seconds and symops.
10 years ago
Josh Berdine 77b22ded03 Warn on unused identifiers
10 years ago
Josh Berdine 02056079cf Warn of unused values
10 years ago
Sam Blackshear 091f31dd17 translating monitor exit/enter
10 years ago