1081 Commits (9ab89025a87e2ba300a9afdca2de6a3b1ef2fd5c)

Author SHA1 Message Date
Jules Villard cbb8810e2c make dotty field optional in json
9 years ago
Jules Villard e11395d199 print location of errors in infer source code in debug mode
9 years ago
Jeremy Dubreil 70dbe8db74 Simplify the type comparison of Java classes
9 years ago
Sam Blackshear 7938fbb344 Fixing 'file name too long' errors
9 years ago
Dino Distefano 5b91ec9f7f A fix for empty retain cycle
9 years ago
Sam Blackshear ef3912cbde Adding on-the-fly translation of types during pre-analysis
9 years ago
Cristiano Calcagno 5683fd8413 Fix collision of spec file names on case insensitive file systems.
9 years ago
Cristiano Calcagno 1b4efcfc7a Enable the analysis of models in on-demand mode.
9 years ago
Cristiano Calcagno 10286931ee Cleanup handling of global state, and add footprint mode to the values.
9 years ago
Cristiano Calcagno 7a7260635f Refactor the worklist data structures of the intraprocedural algorithm as non-global state.
9 years ago
Dulma Rodriguez f4bbd44212 Translate dynamic cast for C++
9 years ago
Dulma Rodriguez 10fe998c12 Extending subtyping to C++
9 years ago
Sam Blackshear be86e5d15d Exposing java_typ_to_string
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
Cristiano Calcagno 74dbfd72b5 Fix issues with html output for debug in on-demand mode.
9 years ago
jrm 18668a41ce simplify the API to create procedure descriptions
9 years ago
Sam Blackshear dc0b91662a Save space/simplify by deleting Exe.file_map
9 years ago
Cristiano Calcagno 162dc42b5b Use a record for struct types instead of a 7-tuple.
9 years ago
Dulma Rodriguez f379383b04 Adding support for annotations for cpp classes to separate them in the backend from objc classes
9 years ago
jrm ad2a9064c3 No longer overwrite the attributes in the summary if already existing
9 years ago
Cristiano Calcagno bcba8a7011 Fix transition between re-execution and footprint in on demand, and support tests for incremental.
9 years ago
Cristiano Calcagno 453709c3c8 Only propagate nullable to return value when environment variable is set.
9 years ago
Cristiano Calcagno 97a3aa3d0b Fix treatment of recursion and double file descriptor close in on-demand.
9 years ago
Dulma Rodriguez f34f2dcd98 Don't crash when a cg cannot be loaded.
9 years ago
Sam Blackshear d1cf7b7177 removing unused tenv in conditional pruning
9 years ago
jrm a7371d5678 Perf critical checker: save the chains of calls to expensive methods in the error traces
9 years ago
Dino Distefano 377893637a Direct property access should not fire on dealloc methods
9 years ago
jrm cf5040cbee call the on-demand analysis using the procedre name after name resolution
9 years ago
jrm 30e2cf7114 Revive the "call by procedure name" mechanism for Java
9 years ago
Andrzej Kotulski 32745b67aa Add dotty information about retain cycle
9 years ago
Andrzej Kotulski 0ea850b7a2 Add dotty file contents to json report
9 years ago
Andrzej Kotulski 3adbb56e9c Add extra field to error_desc.
9 years ago
Josh Berdine 2c0fc4025b Remove out-of-date comments
9 years ago
jrm b3bf8b1ecc No longer overwrite the list of non-static fields during the translation
9 years ago
Jules Villard f2240395dd restore join of integer values
9 years ago
jrm 9f5159241f Use Typename.t for the type of the supertypes in the defintion of classes.
9 years ago
jrm 6d91199be7 Generalize the detection of assertion failures to any kind of custom errors defined programatically in the orginal source code
9 years ago
Sam Blackshear 43ee904a1f fix possible infinite loop in get_fld_typ_path
9 years ago
Josh Berdine e607ceb5ba Re-enable printing of specs in InferPrint
9 years ago
jrm 8325630da1 remove the function Sil.get_typ and use Sil.tenv_lookup instead
9 years ago
jrm 467fe385be Use the Mangled module to name the parameters in the procudure description instead of simple string
9 years ago
Sam Blackshear 45e8db6892 turn off intentional crashing on assertion failures in developer mode
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
Dino Distefano 4feb93e91c Fixed FP for blocks used in loops generated by join operator
9 years ago
Sam Blackshear 15480f34d5 distinguishing between failures and timeouts
9 years ago
Sam Blackshear 6b9e1fc9d7 Stop reporting false alarms due to __nullable on Obj-C property getters and setters
9 years ago
Josh Berdine 24aceba441 Remove unnecessary code from Arg module
9 years ago
Dulma Rodriguez 96a5cf58e5 Nullify variables with objc flags if they appear in conditions
9 years ago
Sam Blackshear a82588ba8a Factoring out the implementations for letderef and set
9 years ago
Sam Blackshear 812ac265a8 more logging cleanup: only print Errdesc.warning_err in developer mode
9 years ago
Sam Blackshear 44de91f84b logging to stderr/stdout all the time
9 years ago
Jules Villard edcc984158 compute version number inside configure script
9 years ago
Samuel Blackshear 546eaa0eaa only log to analyzer_err and analyzer_out files in developer mode
9 years ago
jrm d390568aed to avoid redundancy, no longer print the name of the class when printing the name of a constructor
9 years ago
Andrzej Kotulski 6d9c5c684e Fix naming problems with template methods
9 years ago
Jules Villard 4d23334abd add version.mli
9 years ago
Jules Villard b8c16ddb27 fix typo
9 years ago
Dino Distefano c8b80f2435 Extended framework for taint analysis
9 years ago
Sam Blackshear c6b8682dd6 compute taint errors in single pass over the set of atoms
9 years ago
Cristiano Calcagno 1666d7f353 Model Map.put() alongside Map.containsKey().
9 years ago
jrm 15eb16723b non-functional refactoring of the Procname module
9 years ago
Sam Blackshear e0cf26e5c3 adding cf_interface flag--prereq for experimenting with dynamic dispatch for interfaces only
9 years ago
Dulma Rodriguez b51da4f050 Remove the concept of generated method from the frontend and proc attributes
9 years ago
Dulma Rodriguez 1e5b8aeee7 Adding builtin setters and using them by skip
9 years ago
jrm 61e457b1f6 Run the @PerformanceCritical checker by default with the other checkers
9 years ago
martinoluca 0dfe0b8f75 Let InferPrint count timeouts
9 years ago
Dulma Rodriguez c02b3ca034 Add correct ivar name to the getters and save the ivar to the tenv if not available
9 years ago
jrm 3b919179bc Add the type of the resource being leaked to the error message
9 years ago
Jules Villard a774f5e733 compile with -safe-string
9 years ago
Jules Villard 8dabf716e0 remove compilation warnings for OCaml version >= 4.02.0
9 years ago
Sam Blackshear 8e8772f1aa make tainting work properly for skip functions
9 years ago
Dino Distefano dd5b3dfd83 Making the checker not report on init methods
9 years ago
Dino Distefano e76939b53b Drawing retain cycles
9 years ago
Sam Blackshear 4dc9dac9e9 getting started on a Nullable annotation checker for obj-c
9 years ago
Dulma Rodriguez 12d21c73dd Adding builtins for getters and calling them by skip
9 years ago
jrm a49b0965ef Model `android.view.View.findViewById` as an expensive method
9 years ago
Jules Villard f7ecf30739 refactor pruning code in symExec.ml
9 years ago
Jules Villard 1abebf9046 minor cleanups in prop.ml
9 years ago
Andrzej Kotulski a06ce9ca0e Don't report null dereference on 'this' in C++ methods
9 years ago
jrm d712635feb Automatically infer the @PerformanceCritical annotations from the overriden methods
9 years ago
Sam Blackshear dcdebbd811 creating a framework for adding src/sink models based on method names/signatures alone
9 years ago
Sam Blackshear a6543cd665 simplifying use of process_splitting by moving normalization inside
9 years ago
Cristiano Calcagno 8cd68cd890 Separate payloads from different analyses in specs.
9 years ago
Sam Blackshear 29ea879930 eliminating precondition not met in taint analysis
9 years ago
Sam Blackshear 353f23695a eliminate need to use attr_check_changed when adding or replacing attributes
9 years ago
jrm 646c9dbb61 Report error message with call stacks for @PerformanceCritical checker
9 years ago
Sam Blackshear 848bf24f66 Print warnings when running InferPrint on a .specs file
9 years ago
Sam Blackshear 14c616e34f clean up some duplicate code in Errdesc
9 years ago
martinoluca 64189548b0 Add paths to specs through file list
9 years ago
Sam Blackshear c7c8d58334 fixing taint analysis so it doesn't prevent postcondition inference
9 years ago
Sam Blackshear 631f2a9882 fixing spacing issue in context leak error message
9 years ago
Dino Distefano 03b4c11c06 Improved error message for taint analysis
9 years ago
Dulma Rodriguez f20af0e9aa Add memory bucket for internal memory leak errors
9 years ago
Sam Blackshear db7dd5aebe fixing angelic in case where unknown function is called indirectly
9 years ago
Jules Villard 469d1e4902 fix printing number of analysed procs/files
9 years ago
Jules Villard 02b9bec78e remove extra newlines in infer output
9 years ago
jrm f5ddb983fe Initial version of the @Expensive checker
9 years ago
Dino Distefano 0f5aa343e7 Fixed line number in the reporting of strong delegate warning
9 years ago
Dulma Rodriguez c602ce7a83 Adding progress bar to the analysis
9 years ago
Cristiano Calcagno 4300d1bf62 Add support for specifying the list of files to be analyzed in on-demand mode.
9 years ago
Dino Distefano 00e97afdf8 First version of taint analysis.
9 years ago
Dino Distefano ae49cacee8 Framework to emit warning from frontend
9 years ago
jrm 859b816e95 No longer report context leak on private methods
9 years ago
Jules Villard d151977b39 print stats in debug mode only
9 years ago
Cristiano Calcagno 078d3f1c1e Remove special treatment of harness code
9 years ago
jrm d8e74e456c report leaks on all context, not only activities
9 years ago
jrm 6f3873aa99 Adding inferconfig support to skip the translation of generated source code
9 years ago
Sam Blackshear abc0e8315e better error messages for Activity leaks
9 years ago
Cristiano Calcagno 56ccb6b198 Fix assert false in Paths.
9 years ago
Cristiano Calcagno 6a922ff597 Print origin information for procedured modelled internally.
9 years ago
Cristiano Calcagno 03bca6734c fix a number of issues related to the treatment of global state in ondemand analysis
9 years ago
Sam Blackshear 04f92614e8 Moving printf args checker into Infer
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
Cristiano Calcagno 596401856d report activity leaks without stopping the analysis
9 years ago
Jules Villard 2af1687cd4 add builtin for dictionary literals
9 years ago
Cristiano Calcagno 6ec888ec23 add option to create one cluster per procedure in on-demand mode
9 years ago
Dulma Rodriguez 6278b779df Adding memory leak bucket for cpp
9 years ago
Cristiano Calcagno 22aad3e33a Add basic support for on-demand for the core Infer analysis.
9 years ago
Cristiano Calcagno 1e9ce38056 Fix cast of null value.
9 years ago
Cristiano Calcagno 7d95e284d2 Let on-demand control whether to start at all the analysis of a procedure.
9 years ago
jrm 5e41fc7a54 fix a bug preventing to run the capture only with Buck
9 years ago
Sam Blackshear 30a7a2fd8e Fixing Symexec_memory error that occurs when dereferencing the return value of an undefined function
9 years ago
Cristiano Calcagno ebfe1d69cc simplify cluster and makefile creation when on-demand is active.
9 years ago
martinoluca 30d869b9b1 Disable SKIP_FUNCTIONs when Infer is not running in debug mode
9 years ago
Cristiano Calcagno e2fb879321 make summaries deterministic by default by removing timing information
9 years ago
Cristiano Calcagno 1e96e56145 [backend][ondemand][perf] improve perf of on demand by only loading the minimum number of cfgs needed
9 years ago
Cristiano Calcagno 75950384c9 [backend] Extend results directory with attributes for each procedure.
9 years ago
Cristiano Calcagno 1fcea9258a [backend] Fix Failure "handle input_value: truncated object" observer with Eradicate/Checkers, probably due to races when writing specs files.
9 years ago
Sam Blackshear 09242fc711 [Infer][backend] Refactoring attribute categories so as not to conflate resource and undefined attrs
9 years ago
Cristiano Calcagno 0f8c3e7974 [eradicate][ondemand] Skeleton of on-demand analysis for Eradicate.
9 years ago
Cristiano Calcagno 28f5025862 [backend] fix verbose logging "The project root ... is not a prefix of ..."
9 years ago
Sam Blackshear 5104d852ee [Infer][backend] No longer crashing when -project_root is not a prefix of source file path
9 years ago
Dulma Rodriguez bd48a7d0dd [clang] Fixing eradicate tests
9 years ago
Dulma Rodriguez 0b4fc3a979 [backend] make adding overriden methods during cluster generation only available in Java
9 years ago
Sam Blackshear 2e2673df66 [Infer][ios] Reporting error when NSNumber * is coerced to boolean in a comparison
9 years ago
Sam Blackshear 7646777f7f [Infer][backend] Refactoring: adding attr_is_undef method
9 years ago
Dulma Rodriguez 8a48ca9360 Revert "Revert "[clang] Removing the case of flagging npes in initialisers. This causes many FPs.""
9 years ago
Cristiano Calcagno 401109b4eb [Eradicate] Allow assigning null to fields marked @InjectView to support ButterKnife.
9 years ago
Cristiano Calcagno 708ec725f9 [backend] remove support for internal parallelism and simplify the interprocedural algorithm
9 years ago
Cristiano Calcagno 76c8b6e58b [backend] Reorganize the resolution of procedure attributes, fixing a bug where annotations of overridden procedures via spec files were not found.
9 years ago
Sam Blackshear e46b6d3c9d [Infer][filtering] Always using local_config to build procedure filter
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
Sam Blackshear 09eb65f4e2 [Infer][backend] Fixing Not_found when source for proc can't be found during Makefile generation in InferAnalyze
9 years ago
Cristiano Calcagno 6f65486942 [backend][cleanup] move fields in common to Cfg.Procdes and Specs.summary to proc_attributes.
9 years ago
Cristiano Calcagno 78f65b6dd7 [eradicate] handle methods overridden in other files
9 years ago
Rohan Jacob-Rao 9643bdb1c6 Clean up command line argument filtering.
9 years ago
jrm a62c71290b [infer] Change the error message when the project root is not a prefix of the absolute path of the source files
9 years ago
Sam Blackshear cc2fda8165 [Infer][incremental] Preventing --changed-only incremental mode from corrupting the future
9 years ago
Sam Blackshear 2e27c5127b [Infer][frontend] Making -incremental-changed-only option available from command line
9 years ago
Sam Blackshear 0b42f9cf06 [Infer][incremental] Only analyze (transitive) callers of changed procedures
9 years ago
Sam Blackshear 49e09e5cda [Infer][incremental] Always assigning to "changed" field of procdescs
9 years ago
Sam Blackshear bc1c77a8a1 [Infer][nullable] Fixing bad error message
9 years ago
Sam Blackshear f8cc0c2ba8 [Infer][stats] Adding procedure stats to stats.json
9 years ago
jrm 1a615a467b [infer][java] add support for @SuppressWarnings, step 1
9 years ago
Sam Blackshear e43acf7130 [Infer][incremental] structural comparison of instructions, nodes, expressions
9 years ago
Sam Blackshear 1a51254b8c [Infer][stats] Getting reliable file count/LOC count by moving computation inside inferanalyze
9 years ago
Sam Blackshear 2d31a8c4aa [Infer][incremental] Procedure-level incrementality
9 years ago
Sam Blackshear d99ddd1ede [Infer][incremental] Refactoring: use a map of files changed -> procs in file that have changed in computing clusters
9 years ago
Sam Blackshear c92bfc1093 [Infer][models] Modeling Handler.postDelayed and similar to detect more Activity leaks
9 years ago
Sam Blackshear 485d5c030e [Infer][activity leaks] Turning on Activity leak reporting
9 years ago
Sam Blackshear 7821266c8f [Infer][Nullables] Eliminating some false positives from Nullable checker
9 years ago
Sam Blackshear 9a062192f8 [Infer][nullables] Turning nullable field warnings back on
9 years ago
Rohan Jacob-Rao a7da6066e5 Build maps of metadata variables.
9 years ago
Jules Villard a5fa6a52ee [copyrightor] change output
9 years ago
jrm 7ebd48121f [infer][backend] do not catch exceptions thrown by failwith
9 years ago
Sam Blackshear 41c14b249a [Infer][incremental] Refactoring exe_env_from_cluster
9 years ago
Sam Blackshear b80f74c34a [Infer][incremental] Add changed field to procdesc's and code to compute if a procdesc has changed since the last run
9 years ago
Sam Blackshear 089abea3d7 [Infer][nullables] Temporarily disabling warnings on nullable fields
9 years ago
Jules Villard 352b8edff9 [copyrightor] turn checkCopyright into a standalone script
9 years ago
Sam Blackshear ca2699842d [Infer][nullable] Fixing bad error messages when dereferencing null literal
9 years ago
Sam Blackshear 44dfcf4a4d [Infer][nullables] Fix bad "indirectly marked" error messages
9 years ago
jrm 2dc796542a [infer][java] the detection of a resource leak should not prevent the symbolic execution to proceed
10 years ago
Sam Blackshear 9cf74e0ce5 [infer][backend] basic Activity leak checking
10 years ago
Dulma Rodriguez 732d23ce4d [clang] Add is_instance as part of the type of objc methods
10 years ago
martinoluca cfd8a55f3b Add `-lib` flag to InferPrint to read specs files from multiple places
10 years ago
Dino Distefano 7002d0d24c Adding a test in symbolic execution when a dangling uninitialized pointer is dereferenced
10 years ago
Sam Blackshear 66ef0ec0b9 [infer][reporting] Adding boilerplate for reporting Activity leaks
10 years ago
Sam Blackshear 2f7c957008 [Infer] resolving TODO's by using java_is_static
10 years ago
Sam Blackshear e107058bf6 [Infer] Adding warning to eliminate needless rec keywords, fixing all warnings.
10 years ago
jrm d7db177b84 [infer][backend] minor refactoring of the code to report leaks
10 years ago
Sam Blackshear 60000be43b [infer][backend] refactoring code for getting reachable hpred's/pure atoms from a prop
10 years ago
Jules Villard bae8a4dced [whitespace] indent .ml files as well
10 years ago
Jules Villard 6911a1516c [whitespace] ocp-indent the code
10 years ago
Sam Blackshear d7bb75ad5d [infer][backend] eliminating duplicate declaration of ExpSet module
10 years ago
Jules Villard ca613a77ff [copyrightor] format start and end of copyright comments
10 years ago
Dulma Rodriguez d7655a087e [clang] Adding getters and setters for all the methods
10 years ago
Dulma Rodriguez c9f07e31e3 [clang] Reimplement removing nodes from procdesc in a more efficient way
10 years ago
Andrzej Kotulski 35400dd4f6 Rename Procname.from_string
10 years ago
Sam Blackshear f1daf147b3 [infer][backend] Pruning pure predicates with unreachable vals in order to eliminate PRECONDITION_NOT_FOUND errors.
10 years ago
Andrzej Kotulski 687f4958c8 Change procname types for objc/c functions
10 years ago
Sam Blackshear 14c41278e6 [Infer] Better error message for warnings based on @Nullable
10 years ago
Jules Villard f07c7f9093 [infer] handle sentinel arguments in symb exec
10 years ago
Cristiano Calcagno 1eb151a733 [back-end] make infer-out the default results directory
10 years ago
Cristiano Calcagno 3e199467f4 Complete copyright messages.
10 years ago
Jules Villard 9ad32bbbf0 gitignore wibble
10 years ago
Cristiano Calcagno df04749cd0 Add module to fix copyright messages.
10 years ago
Cristiano Calcagno 6bde9bda88 [Bucketing] Improve error bucketing by using constant propagation when detecting direct null assignments.
10 years ago
jrm 1356fd331f [infer][clang] test reporting of assertion failures
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
Cristiano Calcagno 9c4a4a16f3 [inferconfig] don't fail during filtering if a file does not exist
10 years ago
Jules Villard c26401021c [infer] remove Sil.Avariadic_function_argument
10 years ago
Jules Villard 9354b1562c [infer] more generic and correct handling of arrayWithObjects:
10 years ago
jrm 4013e13cbe [infer] Moving the getter for the return variable from Cfg.Procdesc to Sil
10 years ago
jrm d808a3ee26 [infer] implements call by procedure name
10 years ago
Dulma Rodriguez 41fe321582 [clang] Adding option analyzer to InferPrint in inferiOS to avoid analysing generated files
10 years ago
jrm 393f5aad1e [infer] refactoring to isolate in a single place the need for the procedure description of the callees
10 years ago
Dulma Rodriguez 63b1d1ac1c Revert "[clang] Removing the case of flagging npes in initialisers. This causes many FPs."
10 years ago
Dulma Rodriguez 18173a7b7f [clang] Removing the case of flagging npes in initialisers. This causes many FPs.
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
Cristiano Calcagno a87bedb5dd [Bucketing] Promote NPEs originating from a call with a null parameter to bucket b1.
10 years ago
jrm cc89c6f8ac [infer] non-functional refactoring when obtaining the procedure description of function calls
10 years ago
Sam Blackshear 1baaa96fcc [Infer][C frontend] Fixing double translation of builtin args
10 years ago
jrm e7d0038af3 [infer] fix OCaml formatting
10 years ago
Andrzej Kotulski f99f650b07 Don't add buckets to error message by default
10 years ago
Jules Villard 34aa9c2949 [infer][java] handle int boxing in HashMap model
10 years ago
Sam Blackshear f6784e3796 [infer][models] Fixing InferAssume
10 years ago
jrm 2b7060e917 [infer][Java] Treat classes implementing Closeable as a resource unless modeled otherwise
10 years ago
Sam Blackshear d7a4474d90 [Infer][angelic] Adding angelic abduction on actuals passed by reference
10 years ago
Jules Villard ddec46d4aa [infer] add infrastructure for function attributes in sil and clang
10 years ago
Cristiano Calcagno 5de68e795c Remove unused -analyzer_mode
10 years ago
Dino Distefano 9a93c2ed46 Dealing with __weak/__unsafe_unretained modifier for ivars
10 years ago
jrm 5e9f88eaeb [infer][Java] more consistent names for env variables
10 years ago
Sam Blackshear 231043f5bc [Infer][bucketing] Moving warnings on dereferences of @Nullable params from B5 -> B1,
10 years ago
Sam Blackshear 8f9cef0320 [Infer][backend] Fixing bug in removal of abducted program variables
10 years ago
Jules Villard 4820a0b9fc add version information to InferAnalyze output
10 years ago
Open Source Synchronization b8982270f2 initial synchronization
10 years ago