698 Commits (7a7260635fc8745f5cbcf1708044b17e12dac1d4)

Author SHA1 Message Date
Jules Villard 37d2e84192 dedup merged json reports
9 years ago
Cristiano Calcagno 8cd68cd890 Separate payloads from different analyses in specs.
9 years ago
Andrzej Kotulski ddbf4d9c47 Support template classes
9 years ago
Andrzej Kotulski 7389dfe976 Don't crash when method decl is not found
9 years ago
Dulma Rodriguez 0441919a42 Using clang's method resolution if possible
9 years ago
Sam Blackshear 867e7804af implementing abstract methods to avoid false negatives due to dynamic dispatch issues
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
Andrzej Kotulski 47f973660e Turn off compiler all warnings to avoid compilation failures
9 years ago
Andrzej Kotulski 81337ce2cb Support MaterializeTemporaryExpr
9 years ago
Jules Villard 22bd029e46 refactor print_and_save_errors
9 years ago
Jules Villard 529d103977 refactor reading json
9 years ago
Jules Villard fc2879ca8f refactor dumping of json
9 years ago
Andrzej Kotulski 04e4546a91 Major update of facebook-clang-plugins
9 years ago
Sam Blackshear 8eb668f668 deleting string models/tests
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
Dulma Rodriguez 369de5880e Add variable to locals in dispatch functions as usual
9 years ago
jrm afac6dbfdc Fixing a couple of broken things in the script to compare Infer reports
9 years ago
Sam Blackshear c7c8d58334 fixing taint analysis so it doesn't prevent postcondition inference
9 years ago
Andrzej Kotulski 16cb8e3f30 Translate CXXOperatorCallExpr
9 years ago
Andrzej Kotulski c45f7793ea Assign proper location information to children of OpaqueValueExpr
9 years ago
Andrzej Kotulski dbe4c0c307 Assign proper location information to block
9 years ago
Sam Blackshear 8e9ed5eb6b adding model for verifying sockets before reading from them
9 years ago
Dino Distefano 761e4acc08 Adding models of CADisplayLink for catching retain cycles.
9 years ago
Andrzej Kotulski cb42fdcc31 Use fully qualified names for functions
9 years ago
Andrzej Kotulski 9748502a1a Handle C++ static methods
9 years ago
jrm 2e01d3402f adding some tests to outline the behaviour of the @Expensive checker with inheritance
9 years ago
jrm 8fb90ccf54 get the @PerformanceCritical and @Expensive annotatations of overridden methods from the summaries
9 years ago
Andrzej Kotulski c2aaf867cd Cleanup handling of namespaces from ocaml code
9 years ago
Andrzej Kotulski 71e424d6ba Use qual_name to extract class name from method decl
9 years ago
Dulma Rodriguez 87a3d693e1 Adding static variables to blocks class to get retain cycles
9 years ago
jrm 930eaba2d5 model Inflater and Deflater as resources
9 years ago
jrm 12e37c97fc sort the list of bugs in order to preserve the position of the entries in the JSON file
9 years ago
Sam Blackshear 631f2a9882 fixing spacing issue in context leak error message
9 years ago
Sam Blackshear 3d646f012e use buck query for faster target lookup
9 years ago
martinoluca 0ad19a3b93 Fix wrong module name in toplevel buck module
9 years ago
Dino Distefano 316ad95659 Fixing Bad pointer comparison checker in fast iteration
9 years ago
Dino Distefano 03b4c11c06 Improved error message for taint analysis
9 years ago
Josh Berdine 53a32848d5 Model and test FileChannel.tryLock throws
9 years ago
Andrzej Kotulski 55f9fb9d5e Add base class fields to C++ classes
9 years ago
Jules Villard 10db97be1e cleanup print_errors()
9 years ago
Josh Berdine bf408a1d03 Add models of FileChannel.tryLock methods.
9 years ago
Josh Berdine b77e24fa01 Model File.listFiles using undefined instead of allocation
9 years ago
Jules Villard 2367b1c9ff cleanup two c tests that were causing clang warnings
9 years ago
Andrzej Kotulski c4b237e9f6 Fix type of CXXThisExpr_trans
9 years ago
Dulma Rodriguez f20af0e9aa Add memory bucket for internal memory leak errors
9 years ago
Andrzej Kotulski 3262640214 Move translation of init_expr to general function
9 years ago
Jules Villard 81e143b3be move csv and json constants to issues.py
9 years ago
Jules Villard 9efc1b6be7 move mkdir_if_not_exists to utils.py
9 years ago
Jules Villard 1848f6deba move paths constants to config.py
9 years ago
Dulma Rodriguez 7d5e129ac0 Translate categories on demand
9 years ago
jrm 5691f24090 Use the summaries to store the @CallsExpensive attributes
9 years ago
Sam Blackshear 4fa4c9f0d6 Deleting models that specify a non-null return value
9 years ago
Sam Blackshear db7dd5aebe fixing angelic in case where unknown function is called indirectly
9 years ago
Josh Berdine f2ba1b1c76 Add model for java.io.File.listFiles
9 years ago
Jules Villard d545da14c1 fix stuff that was accidentally broken
9 years ago
Jules Villard 0490e739b0 move LOCALE to config.py
9 years ago
Jules Villard 2ec2858b66 move indenter to a new module source.py
9 years ago
Jules Villard 88b615d8ab move code about infer issues formats to issues.py
9 years ago
Jules Villard a416afeb44 move error types strings to a new issues.py
9 years ago
Jules Villard 9139ab5dfb move analyzer constants to config.py
9 years ago
Jules Villard ded09066ed create config.py and move BUG_FOUND_ERROR_CODE there
9 years ago
Andrzej Kotulski 1180aabe39 Fix result of returnStmt_trans
9 years ago
Dulma Rodriguez de1a627335 Translate enums as ints and not add them to the tenv
9 years ago
Jules Villard 80af77a528 revert back to printing python lists
9 years ago
Jules Villard 674c199605 remove vim hints
9 years ago
jrm b1b9cbe771 distinguish between the user added annotation @Expensive and the inferred annotation @CallsExpensive
9 years ago
Jules Villard 07ebdc0918 fix missing import
9 years ago
Jules Villard f72a1a4210 read errors from json instead of csv
9 years ago
Jules Villard ae81d8d215 handle unicode in source code
9 years ago
jrm 0cd533f892 Enforcing subtyping rules for @Expensive and @PerformanceCritical
9 years ago
jrm 6b6b4d1949 Detecting if methods annotated with @PerformanceCritical transitively call methods annotated with @Expensive
9 years ago
jrm 8636aa1f70 open the jar file of the model only once
9 years ago
Jules Villard e03b36338b rename infer.py to analyze.py
9 years ago
Jules Villard 5f57d199f3 print more info about ant/gradle/make/mvn capture
9 years ago
Jules Villard 571bb306cf [sync] repair broken github sync
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
Jules Villard d03dcb6961 generate json natively
9 years ago
Andrzej Kotulski db35afef1e Handle variable declaration inside condition expression correctly
9 years ago
Dulma Rodriguez 0db83eb5dd Adding the no progress bar option to the tests
9 years ago
jrm f5ddb983fe Initial version of the @Expensive checker
9 years ago
Jules Villard f88164dae9 define INFER_INFER_DIRECTORY more concisely
9 years ago
Jules Villard d0d0a5efa0 print copy-pastable compilation command in case of failure
9 years ago
Jules Villard 6bf9f47c14 add colored output
9 years ago
Andrzej Kotulski 3b4dda102b Change return type of CTrans.loop_instruction
9 years ago
Dino Distefano 0f5aa343e7 Fixed line number in the reporting of strong delegate warning
9 years ago
Jules Villard d50a401cd0 replace string constants for json fields with variables
9 years ago
Jules Villard 872ce8ea87 move python code to infer package
9 years ago
Dulma Rodriguez c602ce7a83 Adding progress bar to the analysis
9 years ago
Cristiano Calcagno 9177ba8d20 Add model for FileChannel.lock() returning not null
9 years ago
jrm a8388644b8 Add a flag to create the procedure descriptions of callees
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
Andrzej Kotulski a9bdf2b291 Translate c++ constructor calls in var initialization
9 years ago
Dino Distefano ae49cacee8 Framework to emit warning from frontend
9 years ago
jrm 740f673451 build integration tests: temporarily removing the hash value for the base reports
9 years ago
Andrzej Kotulski 088293b6c2 Add pointer type to argument of method call
9 years ago
Jules Villard 47cc250bdd add way to save build integration test results
9 years ago
jrm 859b816e95 No longer report context leak on private methods
9 years ago
martinoluca 513eee3059 Adding initial support for Buck for Cxx with flavored targets
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
Jules Villard 159d335da5 print source context together with each report
9 years ago
Jules Villard 43cb5ae7e0 refactor to expose indenter class
9 years ago
Dulma Rodriguez 80057ea523 Translate classes on demand
9 years ago
Jules Villard 8c1979410a print location of the html report
9 years ago
Jules Villard c68464bd29 add html backend
9 years ago
jrm d8e74e456c report leaks on all context, not only activities
9 years ago
Jules Villard 197b13434a use absolute path for BUILDDIR
9 years ago
jrm 4260c720c0 Disable the creation of the harness by default
9 years ago
jrm cbc19f484a Temporarily disabling the reporting on print args in Infer
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
Andrzej Kotulski a7a332ea51 add different handling for C++ increment/decrement operators
9 years ago
Dulma Rodriguez 982616148e Adding endtoend test that shows that dispatch once works well
9 years ago
Dulma Rodriguez 56f3fb4f4b Translating structs and C++ classes only on demand
9 years ago
Dulma Rodriguez 1371ca96e9 Added endtoend test that shows that we can release objects inside a block
9 years ago
Andrzej Kotulski 9c578406a1 update clang plugin version
9 years ago
Andrzej Kotulski be07cdda2a Factor out some parts of CXXMemberCallExpr
9 years ago
Andrzej Kotulski 9e39f3bf72 Refactor of declRefExpr_trans & MemberExpr_trans
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
jrm dc470816d1 Fix the option -a compile
9 years ago
Jules Villard 52f983253a remove -rec flag from atdgen
9 years ago
Dulma Rodriguez f1716988ec Adding endtoend test that shows the correct use of self inside a block
9 years ago
Andrzej Kotulski 1c80ba8bb7 simplify code handling default paramters
9 years ago
Dulma Rodriguez 042bcaf3e6 Adding endtoend test for blocks that shows proper handling of global variables and captured variables.
9 years ago
Dulma Rodriguez bee713e557 Fixing mangling of captured variables
9 years ago
Cristiano Calcagno 03bca6734c fix a number of issues related to the treatment of global state in ondemand analysis
9 years ago
Andrzej Kotulski 453924f303 Add basic translation of constructors
9 years ago
Andrzej Kotulski 87dfcdeb99 Replace '/' in anonymous type names
9 years ago
Jules Villard 1f973cfc12 refactor makefile to allow more ocaml and c libs to be added more easily
9 years ago
Sam Blackshear 04f92614e8 Moving printf args checker into Infer
9 years ago
Dulma Rodriguez 286d27be10 Remove the file information form the mangling of variable names
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
Andrzej Kotulski a5e1743382 Fix failing C++ frontend test
9 years ago
Andrzej Kotulski 5a07f767bb Handle assignment operations correctly
9 years ago
Andrzej Kotulski b86af1e5d1 Fix type information about reference types in CFGs
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
Andrzej Kotulski bfe10e3829 Fix handling of C++ references
9 years ago
Dulma Rodriguez ba00f08f00 Remove variable resolution and use pointers to declarations instead
9 years ago
jrm c01df1fe90 no longer collect all possible subtypes in the type environment
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
jrm 3095b68127 Add a test case with @SuppressWarnings on a Buck project
9 years ago
jrm 2d074e82dc Add integration test for Buck
9 years ago
Andrzej Kotulski d360ba7776 update fcp
9 years ago
Dulma Rodriguez e49d9d6f4d Adding an outer context to the context in case of blocks
9 years ago
Jules Villard 5a7399f8cb fix always regenerating jsonbug with atdgen
9 years ago
Cristiano Calcagno 22aad3e33a Add basic support for on-demand for the core Infer analysis.
9 years ago
Dino Distefano e6625c9e37 Adding models for NSTimer and NSRunLoop
9 years ago
Andrzej Kotulski aa1951cad4 Create generic way of generating extra instructions
9 years ago
Andrzej Kotulski f63582893f Add basic e2e tests for C++
9 years ago
Andrzej Kotulski 7ac5a5c308 Refactor C frontend tests
9 years ago
Andrzej Kotulski d4c3d39fb9 Refactor C++ frontend tests
9 years ago
jrm d825302189 The option -o was not working with the Buck integration
9 years ago
Andrzej Kotulski cb0380eb4e Update version of fcp
9 years ago
Andrzej Kotulski f01a639605 Slight improvement of block function handling
9 years ago
Andrzej Kotulski 4d10c8d9f4 Add support for C++ this expression
9 years ago
Andrzej Kotulski f8b8078538 Fix build process of clang_ast_t files
9 years ago
jrm 4263b9a7c6 Add integration tests for Ant-based Java projects
9 years ago
jrm 4f7a56d470 Move the annotation processor into lib
9 years ago
Andrzej Kotulski b277d8164c Update fcp version
9 years ago
Andrzej Kotulski 59a7ca5424 small cleanup of ast_expressions.ml
9 years ago
Andrzej Kotulski b78d6f623a Split methods.cpp test into multiple ones
9 years ago
Cristiano Calcagno 1e9ce38056 Fix cast of null value.
9 years ago
Andrzej Kotulski 2a425b8218 Add structured type_ptr
9 years ago
Cristiano Calcagno 7d95e284d2 Let on-demand control whether to start at all the analysis of a procedure.
9 years ago
martinoluca 9db0648cb1 Fix compilation failure issue when compiling for armv7k architecture
9 years ago
jrm 76d2f66001 Add support for @SuppressWarnings on Buck projects
9 years ago
jrm 0282060808 delete the deprecated script inferJ
9 years ago
Dulma Rodriguez e6600cf03b Making the procname hash depend on relative paths
9 years ago
Sam Blackshear 7ee2bf248b Don't print Makefile generation time under errors during BuckAnalyze
9 years ago
Andrzej Kotulski a045886eba Get better language information about functions/methods
9 years ago
jrm 5e41fc7a54 fix a bug preventing to run the capture only with Buck
9 years ago
Andrzej Kotulski d6b1d422fd Update fcp and remove qual_type type
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
Dulma Rodriguez a4c910cc2c Adding makefile generation time to the infer toplevel script
9 years ago
Cristiano Calcagno e2fb879321 make summaries deterministic by default by removing timing information
9 years ago
Andrzej Kotulski 16604a9e75 Update fcp which exports less redundant information
9 years ago
Irene Papakonstantinou 168980e9cd Bump infer release
9 years ago
Dulma Rodriguez 0b0cd0d38d [clang] Using qual names for fields
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
Dulma Rodriguez e26f9b4dd4 [clang] Removing the use of raw types
9 years ago
Andrzej Kotulski a380cd3e6c [CFrontend] Use type attributes in more structured way
9 years ago
Cristiano Calcagno 75950384c9 [backend] Extend results directory with attributes for each procedure.
9 years ago
Andrzej Kotulski e8949d16e4 [Frontend][C++] Use Sil.class for C++ class/struct/union types
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
martinoluca 6553ba2379 Replace the gmodules flag of Xcode's clang with equivalent ones
9 years ago
Andrzej Kotulski b810ae68b4 Skip some frontend tests when xcode version doesn't match
9 years ago
Dulma Rodriguez 79df8d2b3c [clang] Fix tests so that they pass with xcode 7
9 years ago
Dulma Rodriguez fd853f97ca [clang] C function names depend only on their name (and their file is they are static, and their type if we are in C++)
9 years ago
Andrzej Kotulski 6606df245c [CFrontend] Upgrade frontend tests to xcode 7
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 8c80856e97 [Eradicate] Fix regression introduced when adding support for @TrueOnNull and @FalseOnNull.
9 years ago
Sam Blackshear a50ecde01c [Infer][backend] Fixing inconsistency between exe_env file and proc_attributes file in harness generation
9 years ago
Sam Blackshear 62b57827c8 [Infer][java] Fixing bug where passing -deprecation flag to javac broke compilation
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
Cristiano Calcagno f1c5cb337e [Eradicate] Add support for modeling boolean functions that check if the argument is null.
9 years ago
Dulma Rodriguez a4cbf94de5 [clang] Replacing type void by type void star . Fixing bug in commit 41e0128cf71a399ddc183a7d12fd43dfdc493985
9 years ago
Andrzej Kotulski 4dac490e8d Update fcp to have newer clang
9 years ago
Dulma Rodriguez bd48a7d0dd [clang] Fixing eradicate tests
9 years ago
Andrzej Kotulski bc050c4188 [C++] Add inheritance information for C++ classes
9 years ago
Dulma Rodriguez 0b4fc3a979 [backend] make adding overriden methods during cluster generation only available in Java
9 years ago
Dulma Rodriguez a3e4d7a0fa Revert "Make clang_ast_t.ml* non recursive"
9 years ago
Andrzej Kotulski 5c671677b4 Make clang_ast_t.ml* non recursive
9 years ago
Dulma Rodriguez 65f4280d6e [clang] [3 of 3] Changes to the translation of record, classes and enums
9 years ago
Dulma Rodriguez 51e0e40bc7 [clang] [2 of 3] Dealing with custom ast expressions and flow of types in the frontend.
9 years ago
Dulma Rodriguez 8e547d197d [clang] [1 of 3] Replacing parser of types
9 years ago
Andrzej Kotulski 99e9d11902 [Test] Fix handling of symbolic links in tests
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
Cristiano Calcagno 629b09307f [Models] Add model for System.getProperty for Infer and Eradicate
9 years ago
Dulma Rodriguez 8a48ca9360 Revert "Revert "[clang] Removing the case of flagging npes in initialisers. This causes many FPs.""
9 years ago
Dulma Rodriguez eafa285e1d [clang] Moving log to debug mode
9 years ago
Cristiano Calcagno 401109b4eb [Eradicate] Allow assigning null to fields marked @InjectView to support ButterKnife.
9 years ago
Cristiano Calcagno 2eb0f47646 [eradicate] generalize domain from two fields (nullable, present) to a map
9 years ago
Cristiano Calcagno 708ec725f9 [backend] remove support for internal parallelism and simplify the interprocedural algorithm
9 years ago
martinoluca d7877bbda4 [Fixed] Specify to clang to use x86_64 to build models and tests for ObjectiveCxx
9 years ago
Cristiano Calcagno 1e6247c872 [frontend] generate fresh ids separately for different procedures in the cfg
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 b8579fe531 [Infer][Gradle plugin] Fixing issue where files are captured twice
9 years ago
Sam Blackshear 7911e7e54d [Infer][filtering] Implementing SuppressWarnings filtering and adding tests
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
10 years ago
Jules Villard 6e29be8559 output sensible version number without git or .git
10 years ago
Cristiano Calcagno 6f65486942 [backend][cleanup] move fields in common to Cfg.Procdes and Specs.summary to proc_attributes.
10 years ago
Cristiano Calcagno 78f65b6dd7 [eradicate] handle methods overridden in other files
10 years ago
Dulma Rodriguez c6b550d5f0 [clang] Generating procedures only if there isn't a spec for them already.
10 years ago
Rohan Jacob-Rao 9643bdb1c6 Clean up command line argument filtering.
10 years ago
Rohan Jacob-Rao 9b3f291b99 Refactor main file to handle command line arguments and relative source paths.
10 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
10 years ago
jrm 6de12aa5ba [infer][eradicate] Allow developers to locally redefine @Initializer
10 years ago
Sam Blackshear cc2fda8165 [Infer][incremental] Preventing --changed-only incremental mode from corrupting the future
10 years ago
Sam Blackshear bdbc524f53 [Infer][tests] Adding tests for --changed-only incremental mode
10 years ago
Rohan Jacob-Rao 7f8282e046 Simplify generation of source file locations and attach to more SIL objects.
10 years ago