448 Commits (3adbb56e9cc7feb03e0d460bb18ca3da7e0d474a)

Author SHA1 Message Date
Jules Villard 1abebf9046 minor cleanups in prop.ml
9 years ago
Andrzej Kotulski 3f9a08f99c Defer cfg node creation for returnStmt and init_expr_trans
9 years ago
Andrzej Kotulski 0d1af3cc46 Don't set succ_nodes for substatements in returnStmt and init_expr_trans
9 years ago
Andrzej Kotulski 9353c7bbfd Use qualified names for global variables
9 years ago
Andrzej Kotulski a06ce9ca0e Don't report null dereference on 'this' in C++ methods
9 years ago
Andrzej Kotulski 22b84162d6 Don't use trans_state.parent_line_number to determine location
9 years ago
Andrzej Kotulski 1eecdacea6 Ignore type change in UncheckedDerivedToBase cast
9 years ago
jrm b598c747b5 Always consider Java types as subtypes of themselves
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
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 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 81337ce2cb Support MaterializeTemporaryExpr
9 years ago
Andrzej Kotulski 04e4546a91 Major update of facebook-clang-plugins
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
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
Andrzej Kotulski cb42fdcc31 Use fully qualified names for functions
9 years ago
Andrzej Kotulski 9748502a1a Handle C++ static methods
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
Sam Blackshear 631f2a9882 fixing spacing issue in context leak error message
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
Andrzej Kotulski 55f9fb9d5e Add base class fields to C++ classes
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
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 db7dd5aebe fixing angelic in case where unknown function is called indirectly
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
jrm b1b9cbe771 distinguish between the user added annotation @Expensive and the inferred annotation @CallsExpensive
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 469d1e4902 fix printing number of analysed procs/files
9 years ago
Jules Villard 02b9bec78e remove extra newlines in infer output
9 years ago
Andrzej Kotulski db35afef1e Handle variable declaration inside condition expression correctly
9 years ago
jrm f5ddb983fe Initial version of the @Expensive checker
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
Dulma Rodriguez c602ce7a83 Adding progress bar to the analysis
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
Andrzej Kotulski 088293b6c2 Add pointer type to argument of method call
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
Dulma Rodriguez 80057ea523 Translate classes on demand
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 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 56f3fb4f4b Translating structs and C++ classes only on demand
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
Jules Villard 52f983253a remove -rec flag from atdgen
10 years ago
Andrzej Kotulski 1c80ba8bb7 simplify code handling default paramters
10 years ago
Dulma Rodriguez bee713e557 Fixing mangling of captured variables
10 years ago
Cristiano Calcagno 03bca6734c fix a number of issues related to the treatment of global state in ondemand analysis
10 years ago
Andrzej Kotulski 453924f303 Add basic translation of constructors
10 years ago
Andrzej Kotulski 87dfcdeb99 Replace '/' in anonymous type names
10 years ago
Jules Villard 1f973cfc12 refactor makefile to allow more ocaml and c libs to be added more easily
10 years ago
Sam Blackshear 04f92614e8 Moving printf args checker into Infer
10 years ago
Dulma Rodriguez 286d27be10 Remove the file information form the mangling of variable names
10 years ago
Jules Villard 7d0a7568f3 put Util.list_* functions into an IList module
10 years ago
Cristiano Calcagno f17f54939b checkers can now analyze a restricted subset of the procedures defined in a file
10 years ago
Andrzej Kotulski 5a07f767bb Handle assignment operations correctly
10 years ago
Andrzej Kotulski b86af1e5d1 Fix type information about reference types in CFGs
10 years ago
Cristiano Calcagno 596401856d report activity leaks without stopping the analysis
10 years ago
Jules Villard 2af1687cd4 add builtin for dictionary literals
10 years ago
Andrzej Kotulski bfe10e3829 Fix handling of C++ references
10 years ago
Dulma Rodriguez ba00f08f00 Remove variable resolution and use pointers to declarations instead
10 years ago
jrm c01df1fe90 no longer collect all possible subtypes in the type environment
10 years ago
Cristiano Calcagno 6ec888ec23 add option to create one cluster per procedure in on-demand mode
10 years ago
Dulma Rodriguez 6278b779df Adding memory leak bucket for cpp
10 years ago
Andrzej Kotulski d360ba7776 update fcp
10 years ago
Dulma Rodriguez e49d9d6f4d Adding an outer context to the context in case of blocks
10 years ago
Jules Villard 5a7399f8cb fix always regenerating jsonbug with atdgen
10 years ago
Cristiano Calcagno 22aad3e33a Add basic support for on-demand for the core Infer analysis.
10 years ago
Andrzej Kotulski aa1951cad4 Create generic way of generating extra instructions
10 years ago
Andrzej Kotulski cb0380eb4e Update version of fcp
10 years ago
Andrzej Kotulski f01a639605 Slight improvement of block function handling
10 years ago
Andrzej Kotulski 4d10c8d9f4 Add support for C++ this expression
10 years ago
Andrzej Kotulski f8b8078538 Fix build process of clang_ast_t files
10 years ago
Andrzej Kotulski b277d8164c Update fcp version
10 years ago
Andrzej Kotulski 59a7ca5424 small cleanup of ast_expressions.ml
10 years ago
Cristiano Calcagno 1e9ce38056 Fix cast of null value.
10 years ago
Andrzej Kotulski 2a425b8218 Add structured type_ptr
10 years ago
Cristiano Calcagno 7d95e284d2 Let on-demand control whether to start at all the analysis of a procedure.
10 years ago
Dulma Rodriguez e6600cf03b Making the procname hash depend on relative paths
10 years ago
Andrzej Kotulski a045886eba Get better language information about functions/methods
10 years ago
jrm 5e41fc7a54 fix a bug preventing to run the capture only with Buck
10 years ago
Andrzej Kotulski d6b1d422fd Update fcp and remove qual_type type
10 years ago
Sam Blackshear 30a7a2fd8e Fixing Symexec_memory error that occurs when dereferencing the return value of an undefined function
10 years ago
Cristiano Calcagno ebfe1d69cc simplify cluster and makefile creation when on-demand is active.
10 years ago
martinoluca 30d869b9b1 Disable SKIP_FUNCTIONs when Infer is not running in debug mode
10 years ago
Cristiano Calcagno e2fb879321 make summaries deterministic by default by removing timing information
10 years ago
Andrzej Kotulski 16604a9e75 Update fcp which exports less redundant information
10 years ago
Irene Papakonstantinou 168980e9cd Bump infer release
10 years ago
Dulma Rodriguez 0b0cd0d38d [clang] Using qual names for fields
10 years ago
Cristiano Calcagno 1e96e56145 [backend][ondemand][perf] improve perf of on demand by only loading the minimum number of cfgs needed
10 years ago
Dulma Rodriguez e26f9b4dd4 [clang] Removing the use of raw types
10 years ago
Andrzej Kotulski a380cd3e6c [CFrontend] Use type attributes in more structured way
10 years ago
Cristiano Calcagno 75950384c9 [backend] Extend results directory with attributes for each procedure.
10 years ago
Andrzej Kotulski e8949d16e4 [Frontend][C++] Use Sil.class for C++ class/struct/union types
10 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.
10 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++)
10 years ago
Sam Blackshear 09242fc711 [Infer][backend] Refactoring attribute categories so as not to conflate resource and undefined attrs
10 years ago
Cristiano Calcagno 8c80856e97 [Eradicate] Fix regression introduced when adding support for @TrueOnNull and @FalseOnNull.
10 years ago
Sam Blackshear a50ecde01c [Infer][backend] Fixing inconsistency between exe_env file and proc_attributes file in harness generation
10 years ago
Cristiano Calcagno 0f8c3e7974 [eradicate][ondemand] Skeleton of on-demand analysis for Eradicate.
10 years ago
Cristiano Calcagno 28f5025862 [backend] fix verbose logging "The project root ... is not a prefix of ..."
10 years ago
Sam Blackshear 5104d852ee [Infer][backend] No longer crashing when -project_root is not a prefix of source file path
10 years ago
Cristiano Calcagno f1c5cb337e [Eradicate] Add support for modeling boolean functions that check if the argument is null.
10 years ago
Dulma Rodriguez a4cbf94de5 [clang] Replacing type void by type void star . Fixing bug in commit 41e0128cf71a399ddc183a7d12fd43dfdc493985
10 years ago
Andrzej Kotulski 4dac490e8d Update fcp to have newer clang
10 years ago
Dulma Rodriguez bd48a7d0dd [clang] Fixing eradicate tests
10 years ago
Andrzej Kotulski bc050c4188 [C++] Add inheritance information for C++ classes
10 years ago
Dulma Rodriguez 0b4fc3a979 [backend] make adding overriden methods during cluster generation only available in Java
10 years ago
Dulma Rodriguez a3e4d7a0fa Revert "Make clang_ast_t.ml* non recursive"
10 years ago
Andrzej Kotulski 5c671677b4 Make clang_ast_t.ml* non recursive
10 years ago
Dulma Rodriguez 65f4280d6e [clang] [3 of 3] Changes to the translation of record, classes and enums
10 years ago
Dulma Rodriguez 51e0e40bc7 [clang] [2 of 3] Dealing with custom ast expressions and flow of types in the frontend.
10 years ago
Dulma Rodriguez 8e547d197d [clang] [1 of 3] Replacing parser of types
10 years ago