1361 Commits (400b4eba99d791389c757a35b4a9875e97b388da)

Author SHA1 Message Date
Ezgi Çiçek e6211679a0 [cost][loop-invariance] Do not invalidate pure functions
4 years ago
Sungkeun Cho 80c31ab8da [cost] Add a FP test due to imprecise loop invariant
4 years ago
Artem Pianykh 5bd78660ea [nullsafe] Suppress _some_ errors related to synthetic/autogenerated code
4 years ago
Nikos Gorogiannis 3ddf77f0f1 [java] make return type in procname a Typ.t
4 years ago
Sungkeun Cho 270918fea7 [cost] Remove dead field Struct.subs
4 years ago
Sungkeun Cho 161b3484f9 [cost] Revert subclass lookup heuristics
4 years ago
Ezgi Çiçek 19799336d4 [inferbo] Add naive models for Java's Buffer
4 years ago
Ezgi Çiçek 745c6577d8 [inferbo] Add Typ Models for Map
4 years ago
Mitya Lyubarskiy 72d45672d8 [nullsafe] Add a test for @SuppressFieldNotInitialized
4 years ago
Artem Pianykh 089589d3da [nullsafe] Handle intermediate typecasts in assignment expressions
4 years ago
Artem Pianykh 07887ad30f [nullsafe] Add FP tests for typecasts and generics use
4 years ago
Radu Grigore 9784ee0858 [topl] Prepare cheap port to pulse.
4 years ago
Mitya Lyubarskiy 4d09c54e29 [nullsafe] Model Field nullability for Boolean.TRUE and Boolean.FALSE
4 years ago
Ezgi Çiçek 5a71583c72 [inferbo] Remove symbols on functions returning only exception
4 years ago
David Pichardie f6b125c928 Fixing unsound old devirtualization performed in Java frontend
4 years ago
Ezgi Çiçek be590bcd4c [cost] Add model for ImmutableSet.of
4 years ago
Ezgi Çiçek 05f1d1676e [litho] Tweak the error message
4 years ago
Ezgi Çiçek 5c2f44cbeb [cost] Add cost models for Collection.addAll
4 years ago
Sungkeun Cho 4ef0a787db [cost] Do not print loop line number in trace message
4 years ago
David Pichardie 9d8fe72213 Improving tests about interface default methods (and virtual calls)
4 years ago
Sungkeun Cho 1745bf9dd0 [cost] Add model of File.listFiles
4 years ago
Ezgi Çiçek 83a83ce9e0 [litho] Add support for Sections
4 years ago
Sungkeun Cho 5df13f69e7 [inferbo] Add some models of linked list next methods
4 years ago
Artem Pianykh 0f7b6db07c [nullsafe] Fix handling of assignment expressions in prune
4 years ago
Sungkeun Cho b48534c640 [cost] Support a specific form of linked list iteration
5 years ago
Artem Pianykh 96291c0fdd [nullsafe][tests] Rename package name from nullsafe_default to nullsafe
5 years ago
Nikos Gorogiannis 0255765a54 [starvation] document false positive
5 years ago
Artem Pianykh 9af4fe0b8e [nullsafe] Add a FP test for null-checking assignment result
5 years ago
Sungkeun Cho 33dab9c32d [CCBM] Add reporting with examples (3/3)
5 years ago
Nikos Gorogiannis 23c1b4f960 [classloads] remove dead analyser
5 years ago
Ezgi Çiçek bb6cc0e6be [cost] Remove unused inferconfig
5 years ago
Ezgi Çiçek a8625d5e68 [cost] Brush up tests (3)
5 years ago
Ezgi Çiçek ab08d6cfff [cost] Brush up tests (2)
5 years ago
Jules Villard 8a1c10f8a1 remove dynamic severity: Reporting.log_{error,warning} -> log_issue
5 years ago
Nikos Gorogiannis 341e719fd4 [starvation][whole-program] add model for `Main`
5 years ago
Ezgi Çiçek 2d6d4f7db9 [cost] Brush up tests (1)
5 years ago
David Pichardie dbdd4413a7 Java8 invokevirtual resolution should search into super interfaces
5 years ago
Ezgi Çiçek 289d64260e [cost] Record cost traces in cost-report.json
5 years ago
Ezgi Çiçek 2b40497e88 [cost] Remove cost threshold from tests
5 years ago
Sungkeun Cho 64354bbdde [inferbo] Add model of class.getEnumConstants
5 years ago
Sungkeun Cho 5190f12cc1 [inferbo] Add model of class.getFields
5 years ago
Ezgi Çiçek 9e44bc3687 [cost] Add ability to test costs-report.json (part 2)
5 years ago
Ezgi Çiçek 964388f56c [pulse] Brush up Collection/List add and remove models
5 years ago
Ezgi Çiçek 4858d29147 [cost] Add ability to test costs-report.json
5 years ago
Nikos Gorogiannis bad9ab08e7 [starvation][global] add android View models
5 years ago
Nikos Gorogiannis 881d617284 [concurrency] android methods starting with "on" are on UI thread
5 years ago
Jules Villard f8e71ceb1e [topl] make TOPL its own checker
5 years ago
David Pichardie 8c82072cb0 First version of a devirtualization pre-analysis (Java frontend)
5 years ago
Mitya Lyubarskiy a148812ac8 [nullsafe] Recommend only `LOCAL` mode for promotion.
5 years ago
Jules Villard bf97abfbd3 [pulse] add Java tests
5 years ago
Ezgi Çiçek faceece120 [pulse] Brush up List.set() model
5 years ago
Sungkeun Cho b3770d0f17 [litho] Add sematics of assume null
5 years ago
Ezgi Çiçek 5ff6fc93a0 [pulse] Brush up Java iterator models
5 years ago
Mitya Lyubarskiy 2decf834ed [nullsafe] Model nullability of special enum methods
5 years ago
Mitya Lyubarskiy 045649abaf [nullsafe] Aggregate meta-issues for top-level classes
5 years ago
Mitya Lyubarskiy b419541af2 [nullsafe] Skip analysis of autogen methods
5 years ago
Jules Villard b94af98936 [nullsafe] move tests nullsafe-default/ -> nullsafe/
5 years ago
Jules Villard b1e35a728d [biabd] rename test directories from {biabduction,errors,infer} to {biabduction}
5 years ago
Mitya Lyubarskiy 16859e0961 [nullsafe] Don't explicitly recommend annotating a nested class as @Nullsafe
5 years ago
Mitya Lyubarskiy 243564be90 [nullsafe] Recommend adding a class to trust list for @Nullsafe trust some/none modes
5 years ago
Mitya Lyubarskiy d5862b0a22 [nullsafe] Add checks to warn about misuse of nested class @Nullsafe annotations
5 years ago
Sungkeun Cho 9f81b7c880 [inferbo] Add models of infer annotations
5 years ago
Mitya Lyubarskiy 6790417e82 [nullsafe][EASY] Fix a typo in the name of Nullsafe mode in the error message
5 years ago
Sungkeun Cho 3aaf260b8b [inferbo] Add model of Class.getCanonicalName
5 years ago
Mitya Lyubarskiy 0b6c5172a8 [nullsafe] Nested classes should inherit mode from the outer one
5 years ago
Sungkeun Cho 7bf7d24e4b [inferbo] Add model of Enum.name
5 years ago
Sungkeun Cho 7b6ddba689 [inferbo] Revise models of Collection.set and get
5 years ago
Nikos Gorogiannis 7e34576bcc [racerd] recognise wrappers that make containers thread-safe
5 years ago
Nikos Gorogiannis 8f351669bf [racerd] update synchronized java container class models
5 years ago
Nikos Gorogiannis ad334aef65 [racerd] improve and complete container models
5 years ago
Sungkeun Cho 7fbe04f701 [cost] Suppress cost issues on lambda and auto-generated procedures
5 years ago
Jules Villard 3332dc1a42 [AI] improve disjunctive domain
5 years ago
Mitya Lyubarskiy 196043ab61 [nullsafe] Don't specify full class name in meta-issue text
5 years ago
Nikos Gorogiannis 73dda893ed [racerd] record dynamic types used in constructors for synchronized containers
5 years ago
Mitya Lyubarskiy 6a75ba6429 [nullsafe] Take into account Lambda classes in JavaClassName
5 years ago
Mitya Lyubarskiy 54c4715adc [nullsafe] Specify the right class location in meta-issue info
5 years ago
Sungkeun Cho 30ca51366d [inferbo] Do not append field to the unknown location
5 years ago
Daiva Naudziuniene db965085b9 Fix tests
5 years ago
Mitya Lyubarskiy 1eb762f935 [nullsafe] Recommend "trust none" as a promotion mode, when it is possible.
5 years ago
Mitya Lyubarskiy 9397b68650 [nullsafe] Introduce LocallyTrustedNonnull nullability
5 years ago
Mitya Lyubarskiy 3a629e46ce [nullsafe] Mode is unchecked unless it is in explicit trust list
5 years ago
Mitya Lyubarskiy ee9cf15d83 [nullsafe] Treat signatures in the class under analysis differently
5 years ago
Mitya Lyubarskiy c2b512c227 [nullsafe] Properly exclude third party methods from analysis
5 years ago
Mitya Lyubarskiy 8cb7f51d5e [nullsafe] Calculate promotion mode as part of meta-issue payload.
5 years ago
Ezgi Çiçek 8d44265ca1 [impurity] Consider exited functions as impure
5 years ago
Mitya Lyubarskiy 3ccacb1f6e [nullsafe] Add nullsafe extras for meta-issues
5 years ago
Sungkeun Cho 2eae5ff88c [inferbo] Find method of interface or abstract class
5 years ago
Sungkeun Cho f0f91b21c6 [inferbo] Distinguish array declaration and size-setting in trace
5 years ago
Ezgi Çiçek 5a2b285fff [pulse] Distinguish exit state at top level
5 years ago
Sungkeun Cho d2276c4975 [cost] Re-locate where to print issue with heuristics
5 years ago
Sungkeun Cho 534149ff52 [cost] Find method of interface or abstract class
5 years ago
Nikos Gorogiannis 76f80f114c [racerd] equip interface call records with address
5 years ago
Ezgi Çiçek d97e1c8fdb [pulse][impurity] Add model for System.exit()
5 years ago
Sungkeun Cho a1a3c55186 [inferbo] Fix a bug in interval prune
5 years ago
Mitya Lyubarskiy 5df3801426 [nullsafe] Recommend a safe alternative for `View.findViewById()`
5 years ago
Ezgi Çiçek f7baf845fd [pulse] Fix printing order in contradiction for CItv and add tests
5 years ago
Sungkeun Cho 88474fd307 [inferbo] Add FN test due to invalid pruning of array list length
5 years ago
Ezgi Çiçek b64ed0bbf2 [impurity] Consider functions with empty pulse summary as impure
5 years ago
Mitya Lyubarskiy a3d5b4c700 [nullsafe][easy] Fix test
5 years ago
Artem Pianykh d8b0c99fa1 [nullsafe] Repro for wrong nullability of $bcvarN in try-with-resource
5 years ago
Mitya Lyubarskiy 8dae30a6bf [nullsafe] Refine definition of meta issues
5 years ago
Ezgi Çiçek cf50a387e5 [cost] add a mode to compute exclusive cost
5 years ago
Mitya Lyubarskiy c7d2f281f7 [nullsafe] Don't ever issue violation when dereferencing params.
5 years ago
Ezgi Çiçek cdb9281f1f [java][tests] Fix/suppress unchecked warnings
5 years ago
Ezgi Çiçek 7ca2fcc948 [pulse][purity] Add more naive models for Java
5 years ago
Mitya Lyubarskiy 2af561c593 [nullsafe] Decouple nullsafe mode from issue calculation, Inheritance Rule
5 years ago
Mitya Lyubarskiy 371eed9309 [nullsafe] Decouple nullsafe mode from issue calculation, DereferenceRule
5 years ago
Mitya Lyubarskiy 0bf5298c21 [nullsafe] Decouple nullsafe mode from issue calculation, AssignmentRule
5 years ago
Ezgi Çiçek cc815f5d20 [pulse] Only propagate existing WrittenTo attributes at function calls
5 years ago
Nikos Gorogiannis 86ab2d7d10 [topl] disable skip tests
5 years ago
Ezgi Çiçek b372befee4 [pulse] Add more naive Java models
5 years ago
Mitya Lyubarskiy f291f93248 [nullsafe] Implement class-level analysis and calculate meta-issues.
5 years ago
Sungkeun Cho b14333485c [cost] Update cost results
5 years ago
Sungkeun Cho be1e72cd1a [cost] Update test results
5 years ago
Ezgi Çiçek 04543938ab [impurity][hoisting] Add more tests
5 years ago
Nikos Gorogiannis d1e0375f4a [racerd] stop reporting on locals
5 years ago
Ezgi Çiçek 2bd39abefc [purity] Add model for Object.clone()
5 years ago
Nikos Gorogiannis 8a99f4b3bb [java] bug fix for type translation
5 years ago
Sungkeun Cho bc0c060bd4 [cost] Add a test (recursive dependency in class initializers)
5 years ago
Sungkeun Cho 545e6c8802 [inferbo] Add models of String.lastIndexOf and String.replace
5 years ago
Ezgi Çiçek a4c3925d9a [impurity] Track unique accesses
5 years ago
Ezgi Çiçek e3c89b1f10 [impurity] Fix include_value_history
5 years ago
Sungkeun Cho e35b26ae8e [inferbo] Get static final array values from class initializer
5 years ago
Jules Villard 339ebe74ec [config] sensible default for --from-json-report
5 years ago
Ezgi Çiçek b90d7c42d3 [impurity] Do not add value history in impurity traces
5 years ago
Sungkeun Cho 117ab1164b [cost] Revert "Use type of Provider.get"
5 years ago
Sungkeun Cho 020cd199b5 [cost] Use type of Provider.get
5 years ago
Ezgi Çiçek c6237f5f9f [pulse] Add model for Object.clone()
5 years ago
Mitya Lyubarskiy 087a5a9787 [nullsafe] A dedicated test for testing field nullability memoization
5 years ago
Ezgi Çiçek 5f8e6233bb [pulse] Take into account skipped calls for state comparison
5 years ago
Mitya Lyubarskiy bd83813b3e [tech debt] Remove experimental nullability checkers
5 years ago
Ezgi Çiçek bb5cdf9b97 [pulse] Add FN tests to impurity
5 years ago
Radu Grigore 0fc2769a65 [topl] A test for comparing arguments.
5 years ago
Ezgi Çiçek 7deaae6598 [cost] Rename ZERO_* to *_UNREACHABLE_AT_EXIT
5 years ago
Mitya Lyubarskiy e1f4da320f [nullsafe] Consistent severity for nullsafe issues.
5 years ago
Ezgi Çiçek ebbc0fc7f2 [cost] Add traces for ZERO_* issues
5 years ago
Mitya Lyubarskiy 335a9efec7 [nullsafe] Trust explicitly annotated third party in all modes
5 years ago
Mitya Lyubarskiy f136bf21b5 [nullsafe][refactor][messaging] Refactor code + more consistent messaging
5 years ago
Sungkeun Cho 9a38987929 [cost] Do not report `EXPENSIVE_EXECUTION_TIME` when a cost of a node is top
5 years ago
Sungkeun Cho 85812abf71 [cost] Report the biggest cost in function
5 years ago
Ezgi Çiçek 43350f7c6b [cost] Add Java tests for ZERO_EXECUTION_TIME
5 years ago
Radu Grigore 5a095ca411 [topl] Switched to low-level syntax.
5 years ago
Radu Grigore 2888a90e2a [topl] Added tests for inefficient iteration
5 years ago
Sungkeun Cho 7a0be26596 [inferbo] Revise semantics of `values` function of Java enum class
5 years ago
Sungkeun Cho ef74f3f18d [cost] Revise message of Provider.get.modeled
5 years ago
Artem Pianykh 3859f178fa [nullsafe] Properly handle method calls on trusted classes under NullsafeLocal mode
5 years ago
Mitya Lyubarskiy f57dc78679 [nullsafe] Error reporting: recommend non-nullable alternarives for known nullable methods
5 years ago
Artem Pianykh bcaa0e0dfe [nullsafe] Add tests on interop between third-party vs other in various modes
5 years ago
Artem Pianykh 9697c6e294 [nullsafe] Fix treatment of enum values wrt nullsafe mode
5 years ago
Artem Pianykh 2572819a5b [nullsafe] Directly model nullability of values from third-party code
5 years ago