373 Commits (07cef38d1ff22c116d4be8e9b8faa261f94d4218)

Author SHA1 Message Date
Jeremy Dubreil 3299f74068 [infer][java] removing Thread.start() special treatment
8 years ago
Andrzej Kotulski b2cef3e0b2 [DB] Alawys use DB.source_file_to_abs_path to do actual filesystem operations
8 years ago
Jeremy Dubreil ba62932760 [infer][java] Translate the local variables directly from the bytecode
8 years ago
Jeremy Dubreil 2320ed8af3 [infer][java] Infer does not really rely on having compliant bytecode to run the analysis
8 years ago
Jeremy Dubreil 02ce9a909a [infer][java] only skip the classes where Javalib raises an exception instead of skipping all the classes
8 years ago
Sam Blackshear 75d6fb30e4 [frontend] support Java 8
8 years ago
Cristiano Calcagno c5159bae1c [IR] Move Procdesc module to a separate file.
8 years ago
Jeremy Dubreil 274851fc53 [infer][java] mark all methods as defined
8 years ago
Josh Berdine 3021394a10 [config] Remove unnecessary --models
8 years ago
Andrzej Kotulski 459ec32081 kill Location.nLOC
8 years ago
Jeremy Dubreil 3b997e4882 [infer][java] Isolate the call to the JBir transformation to a single place
8 years ago
Jeremy Dubreil 2e16920f5a [infer][java] Skip the translation of modeled methods earlier
8 years ago
Jeremy Dubreil b3e406ddf3 [infer][java] Simplify the API to translate Java method names into SIL procedure names
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 2ce94632d2 [config] Default project_root to initial working dir
8 years ago
Cristiano Calcagno 73c5dfdfa4 [IR] Remove use of Cfg.Node.get_proc_desc
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
Jeremy Dubreil e90f67abd6 [infer][java] Java frontendonly print information when the debug mode is on
8 years ago
Cristiano Calcagno ecda199e9d [IR] Clean up unused parts of Cfg
8 years ago
Jeremy Dubreil c7318ee27e [infer][java] Use the global logging function for the Java frontend
8 years ago
Jeremy Dubreil 31d886bede [infer][java] only cache the classname of translated classes when running Infer with the --dependencies option
8 years ago
Jeremy Dubreil 219832a9a8 [infer][java] Create the procedure descriptions when required instead of creating them beforehand
8 years ago
Jeremy Dubreil e13c3886bf [infer][java] removing no longer used code which can now be handled using .inferconfig
8 years ago
Jeremy Dubreil 837cb9b64e [infer][java] Only create proc_desc for the methods that are defined
8 years ago
Jeremy Dubreil a7d2eb1d02 [infer][java] Remove the code adding a special treatment for static final fields
8 years ago
Jeremy Dubreil d891303bb6 [infer][java] Minor cleanup of the Java frontend
8 years ago
Josh Berdine a7c1105147 [config] Combine analyze_models into models_mode
8 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
8 years ago
Jules Villard 62bfde8b5a [clang] translate global var initializers
8 years ago
Jules Villard d9f83094b5 [clang] do not depend on Config.clang_lang and Config.source_file
8 years ago
Andrzej Kotulski 6251aad101 [IR] kill Cfg.set_procname_priority
8 years ago
Jeremy Dubreil ea72dadab3 [infer] Add the possibility to skip the analysis of some files based on their path
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
Jeremy Dubreil 168c613ac9 [infer][java] Separate the builtins from the other models for a better modularity
8 years ago
Jeremy Dubreil d1da078ab7 [infer][java] Minor renaming in the Java frontend
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 b34a23c1b4 [java frontend] fix read of unused id in exception translation.
8 years ago
Cristiano Calcagno b0980bc35e [tests] Convert c/c++ frontend tests to new format.
8 years ago
Josh Berdine 8589dc4868 Remove Tstruct in favor of Tvar
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 30ff9eda22 fix type of array store
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 91d9cd83b5 Cleanup instruction names: use Load/Store instead of Letderef/Set.
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 701eb20f83 Refactor Sil.exp to Exp.t
8 years ago
Josh Berdine fe780cb6ff Move comments to improve attachment
8 years ago
Josh Berdine 32146523ca Enable warning: Unexpected documentation comment
8 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
9 years ago
Jules Villard c637c10d0f Revert "[java] no longer catching Class_structure_exception"
9 years ago
jrm 81a59515e4 Simplify the code to collect the list of @SuppressWarnings annotations
9 years ago
jrm e123635122 Add support for @SuppressWarnings for Gradle and Ant projects.
9 years ago
Sam Blackshear 2d89426170 fixing tenv_lookup
9 years ago
Sam Blackshear 337d2cc537 fixing tenv_add to add only struct_typ's
9 years ago
Sam Blackshear 749a649138 translating an expression returns its type
9 years ago
Sam Blackshear 82f2b7b6de make tenv a typename -> struct_typ map
9 years ago
Cristiano Calcagno 021cf213a6 Bypass the interprocedural algorithm in Fork with ondemand, and replace it with a simple iteration.
9 years ago
Cristiano Calcagno f3ba6c3906 Revamped Timeout module to save and restore seconds and symops.
9 years ago
Josh Berdine 77b22ded03 Warn on unused identifiers
9 years ago
Josh Berdine 02056079cf Warn of unused values
9 years ago
Sam Blackshear 091f31dd17 translating monitor exit/enter
9 years ago
Josh Berdine 55cb61dbda Warn of unused open statements
9 years ago
Josh Berdine b155168083 Open Utils implicitly
9 years ago
Josh Berdine 8a9f221119 Use Utils in jTransExn and jTransStaticField
9 years ago
Josh Berdine 89338c86e9 Warn of unused constructors
9 years ago
jrm 36cc1b0d2e Remove dead code. Feature now implemented in .inferconfig
9 years ago
Sam Blackshear 526e155046 move resolve_method inside method_invocation
9 years ago
Cristiano Calcagno 41de08924b Indentation of command-line agruments.
9 years ago
Sam Blackshear ef3912cbde Adding on-the-fly translation of types during pre-analysis
9 years ago
Dulma Rodriguez 10fe998c12 Extending subtyping to C++
9 years ago
Sam Blackshear 14e934205f implementing dynamic dispatch support for Java interfaces
9 years ago
Cristiano Calcagno 7673d94600 Distinguish between class kinds: CPP, Java, Objc
9 years ago
jrm 18668a41ce simplify the API to create procedure descriptions
9 years ago
Cristiano Calcagno 162dc42b5b Use a record for struct types instead of a 7-tuple.
9 years ago
Sam Blackshear 6fa9b995e5 no longer catching Class_structure_exception
9 years ago
Sam Blackshear 43daa760ee adding InferJava flags for classpath and class-source map, along with associated Python boilerplate
9 years ago
jrm 30e2cf7114 Revive the "call by procedure name" mechanism for Java
9 years ago
jrm b3bf8b1ecc No longer overwrite the list of non-static fields during the translation
9 years ago
jrm 51cd3ded47 make sure that the Infer out directory is empty before generating the models
9 years ago
jrm 9f5159241f Use Typename.t for the type of the supertypes in the defintion of classes.
9 years ago
jrm 467fe385be Use the Mangled module to name the parameters in the procudure description instead of simple string
9 years ago
jrm 2e7f5735d3 Extract the naming of types to its own module named Typename
9 years ago
jrm 4143d4eb2d Extract the kind of data structure, Class Struct or Union, into it own module
9 years ago
jrm d579b2be51 avoid name collision when two or more files have the same basename
9 years ago
Josh Berdine 24aceba441 Remove unnecessary code from Arg module
9 years ago
Sam Blackshear df97489aa1 closing the classpath when we're done with it
9 years ago
Josh Berdine 63b57790f9 Fix indentation of multiline copyright comment
9 years ago
jrm 3ba477faff add more special characters that can appear in the list of filenames generated by Buck
9 years ago
Sam Blackshear e0cf26e5c3 adding cf_interface flag--prereq for experimenting with dynamic dispatch for interfaces only
9 years ago
jrm 8636aa1f70 open the jar file of the model only once
9 years ago
jrm a8388644b8 Add a flag to create the procedure descriptions of callees
9 years ago
jrm 4260c720c0 Disable the creation of the harness by default
9 years ago
jrm 6f3873aa99 Adding inferconfig support to skip the translation of generated source code
9 years ago
jrm 43958b461a Use the type environment as a cache of translated types
9 years ago
jrm 3076b434c1 Collect all the class fields in a single loop instead of collecting the static and non-static fields separately
9 years ago
Cristiano Calcagno 03bca6734c fix a number of issues related to the treatment of global state in ondemand analysis
9 years ago
Jules Villard 7d0a7568f3 put Util.list_* functions into an IList module
9 years ago
Cristiano Calcagno f17f54939b checkers can now analyze a restricted subset of the procedures defined in a file
9 years ago
jrm c01df1fe90 no longer collect all possible subtypes in the type environment
9 years ago
Cristiano Calcagno 1e6247c872 [frontend] generate fresh ids separately for different procedures in the cfg
9 years ago
Cristiano Calcagno ea7c13ff6c [backend][cleanup] Move proc_attributes to a separate module.
9 years ago
Sam Blackshear a9b6f33940 [Infer][filtering] Adding support for filtering by procname using .inferconfig
9 years ago
Cristiano Calcagno 6f65486942 [backend][cleanup] move fields in common to Cfg.Procdes and Specs.summary to proc_attributes.
9 years ago
Rohan Jacob-Rao 9643bdb1c6 Clean up command line argument filtering.
9 years ago
Sam Blackshear e107058bf6 [Infer] Adding warning to eliminate needless rec keywords, fixing all warnings.
9 years ago
Jules Villard bae8a4dced [whitespace] indent .ml files as well
9 years ago
Jules Villard 6911a1516c [whitespace] ocp-indent the code
9 years ago
Dulma Rodriguez d7655a087e [clang] Adding getters and setters for all the methods
9 years ago
Andrzej Kotulski 35400dd4f6 Rename Procname.from_string
9 years ago
Cristiano Calcagno 3e199467f4 Complete copyright messages.
10 years ago
jrm d6fc0d4cac [infer][java] update the installation process to use javalib 2.3.1 and sawja 1.5.1
10 years ago
Cristiano Calcagno a94fab55e8 [Eradicate] Fix issue where direct throw instructions were not handled like method calls that trow exceptions.
10 years ago
jrm 4013e13cbe [infer] Moving the getter for the return variable from Cfg.Procdesc to Sil
10 years ago
Sam Blackshear ca65b2b906 [Infer][Java] Adding is_static metadata to Java procname's
10 years ago
jrm 2125bfdad9 [infer][java] prevent the closeable as resource approach to report resource leak when close() throws an exception
10 years ago
Sam Blackshear f6784e3796 [infer][models] Fixing InferAssume
10 years ago
Sam Blackshear 4feb925dd7 [Infer][Java] Prevent assertion failure in jTransStaticField
10 years ago
jrm 2b7060e917 [infer][Java] Treat classes implementing Closeable as a resource unless modeled otherwise
10 years ago
jrm fda373c706 [infer][Java] Deal with empty strings '' in the classpath
10 years ago
Jules Villard ddec46d4aa [infer] add infrastructure for function attributes in sil and clang
10 years ago
jrm 5e9f88eaeb [infer][Java] more consistent names for env variables
10 years ago
Sam Blackshear 066b132da2 [Infer][Java] Handling assert keyword by adding a special case for the $assertionsDisabled field during translation
10 years ago
jrm a8a8501243 [infer][Java] fail early when no Java source can be loaded
10 years ago
jrm 4526ada822 [infer][Java] temporarily catching the Invalid_argument exception raised by classname with $$ in the name
10 years ago
Open Source Synchronization b8982270f2 initial synchronization
10 years ago