{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":102137661,"defaultBranch":"master","name":"NullAway","ownerLogin":"uber","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2017-09-01T17:35:57.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/538264?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1719323452.0","currentOid":""},"activityList":{"items":[{"before":"c2d253e27f9ddecb93bbfc6ccbc208450386bb5c","after":"14880983314a5fcc9263c9aa7e1d3dee6cc744cd","ref":"refs/heads/master","pushedAt":"2024-06-30T03:48:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"msridhar","name":"Manu Sridharan","path":"/msridhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/193105?s=80&v=4"},"commit":{"message":"JSpecify: fix crashes where declared parameter / return types were raw (#989)\n\nWe were lacking bailouts for these cases","shortMessageHtmlLink":"JSpecify: fix crashes where declared parameter / return types were raw ("}},{"before":"a3b94e969d41586dffe1fc9975efad9aaa7070dc","after":"c2d253e27f9ddecb93bbfc6ccbc208450386bb5c","ref":"refs/heads/master","pushedAt":"2024-06-30T02:29:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"msridhar","name":"Manu Sridharan","path":"/msridhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/193105?s=80&v=4"},"commit":{"message":"Enable UnnecessaryFinal and PreferredInterfaceType EP checks (#991)\n\nAutofix extant issues. This PR should have no impact on runtime\r\nbehavior.","shortMessageHtmlLink":"Enable UnnecessaryFinal and PreferredInterfaceType EP checks (#991)"}},{"before":"09e9a93e11a37a549d1728c0c795f0240056cdbb","after":"a3b94e969d41586dffe1fc9975efad9aaa7070dc","ref":"refs/heads/master","pushedAt":"2024-06-30T01:57:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"msridhar","name":"Manu Sridharan","path":"/msridhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/193105?s=80&v=4"},"commit":{"message":"Add test case for @Nullable Void with override in JSpecify mode (#990)\n\nSee #801","shortMessageHtmlLink":"Add test case for @nullable Void with override in JSpecify mode (#990)"}},{"before":"e2846eda01baeb1988877bf26fea2e6bc1367e1c","after":"09e9a93e11a37a549d1728c0c795f0240056cdbb","ref":"refs/heads/master","pushedAt":"2024-06-28T13:27:57.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"msridhar","name":"Manu Sridharan","path":"/msridhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/193105?s=80&v=4"},"commit":{"message":"Add missing @Test annotation (#988)\n\nAnd fix another IntelliJ warning related to Arrays.asList called with\r\none arg","shortMessageHtmlLink":"Add missing @test annotation (#988)"}},{"before":"1d0276bde57016abaa082c5c80dbd268fb435627","after":null,"ref":"refs/heads/typo-fix","pushedAt":"2024-06-25T13:50:52.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"msridhar","name":"Manu Sridharan","path":"/msridhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/193105?s=80&v=4"}},{"before":"3ae9b232cf95435e79385ec009f70c4cecf619ce","after":"e2846eda01baeb1988877bf26fea2e6bc1367e1c","ref":"refs/heads/master","pushedAt":"2024-06-25T13:50:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"msridhar","name":"Manu Sridharan","path":"/msridhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/193105?s=80&v=4"},"commit":{"message":"Fix typo in variable name (#987)","shortMessageHtmlLink":"Fix typo in variable name (#987)"}},{"before":null,"after":"1d0276bde57016abaa082c5c80dbd268fb435627","ref":"refs/heads/typo-fix","pushedAt":"2024-06-24T21:01:59.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"msridhar","name":"Manu Sridharan","path":"/msridhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/193105?s=80&v=4"},"commit":{"message":"Fix typo in variable name","shortMessageHtmlLink":"Fix typo in variable name"}},{"before":"cc3dee36a76eca8c57e3d93b6bb97234ee350f4e","after":"3ae9b232cf95435e79385ec009f70c4cecf619ce","ref":"refs/heads/master","pushedAt":"2024-06-22T16:18:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"msridhar","name":"Manu Sridharan","path":"/msridhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/193105?s=80&v=4"},"commit":{"message":"JSpecify: Handle @Nullable elements for enhanced-for-loops on arrays (#986)\n\nCurrently, enhanced-for-loops do not honor nullability annotations on\r\narrays.\r\n\r\n**Current Behavior**\r\nBoth these dereferences work fine.\r\n```\r\nstatic @Nullable String[] fizz = {\"1\"}\r\nfor (String s: fizz){\r\n s.toString();\r\n if (s!=null){\r\n s.toString();\r\n } \r\n}\r\n\r\n```\r\n**New Behavior**\r\nThe first one throws an error, as expected.\r\n```\r\nstatic @Nullable String[] fizz = {\"1\"}\r\nfor (String s: fizz){\r\n // BUG: Diagnostic contains: dereferenced expression s is @Nullable\r\n s.toString();\r\n if (s!=null){\r\n s.toString();\r\n } \r\n}\r\n\r\n```\r\n\r\n\r\n\r\nFixes #983","shortMessageHtmlLink":"JSpecify: Handle @nullable elements for enhanced-for-loops on arrays (#…"}},{"before":"e2500c8d26f3c00a524eb41aecfceda6d849a474","after":"cc3dee36a76eca8c57e3d93b6bb97234ee350f4e","ref":"refs/heads/master","pushedAt":"2024-06-21T17:15:34.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"msridhar","name":"Manu Sridharan","path":"/msridhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/193105?s=80&v=4"},"commit":{"message":"Features/944 tidy stream nullability propagator (#985)\n\n#944 - Tidy function `StreamNullabilityPropagator ::\r\nonMatchMethodInvocation`\r\n\r\n- As suggested in #944, I have extracted three dedicated utility\r\nfunctions for handling filter/map/collect methods.\r\n- Following that, I have inverted 2 of the if statements to eliminate\r\nthe multiple levels of nesting\r\n\r\n(the two changes described above can be seen in the 2 different commits)\r\n\r\nFixes #944","shortMessageHtmlLink":"Features/944 tidy stream nullability propagator (#985)"}},{"before":"81fe9cf1c8b3a9cc71376c07481000d1ee4e1779","after":"0775fada18089ef045664ed60c3ee167da2e18fd","ref":"refs/heads/generic-identity-function","pushedAt":"2024-06-21T16:35:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"msridhar","name":"Manu Sridharan","path":"/msridhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/193105?s=80&v=4"},"commit":{"message":"tweak","shortMessageHtmlLink":"tweak"}},{"before":"08f7b6a7b8c6e6813f066d5d8fe806e68d068e10","after":"81fe9cf1c8b3a9cc71376c07481000d1ee4e1779","ref":"refs/heads/generic-identity-function","pushedAt":"2024-06-19T22:38:48.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"msridhar","name":"Manu Sridharan","path":"/msridhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/193105?s=80&v=4"},"commit":{"message":"Merge branch 'master' into generic-identity-function","shortMessageHtmlLink":"Merge branch 'master' into generic-identity-function"}},{"before":"1c5f3bf2d6f80cc9c59ab7353719a84fd39771e9","after":null,"ref":"refs/heads/ep-2.28.0","pushedAt":"2024-06-19T20:29:29.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"msridhar","name":"Manu Sridharan","path":"/msridhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/193105?s=80&v=4"}},{"before":"4f6f21e6ab859377fc47213f3fe2f66b3fdcce3e","after":"e2500c8d26f3c00a524eb41aecfceda6d849a474","ref":"refs/heads/master","pushedAt":"2024-06-19T20:29:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"msridhar","name":"Manu Sridharan","path":"/msridhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/193105?s=80&v=4"},"commit":{"message":"Update to Error Prone 2.28.0 (#984)\n\nTo stay up to date","shortMessageHtmlLink":"Update to Error Prone 2.28.0 (#984)"}},{"before":"0df678b7a998baeda65352e4761ce1b7d18a2124","after":"1c5f3bf2d6f80cc9c59ab7353719a84fd39771e9","ref":"refs/heads/ep-2.28.0","pushedAt":"2024-06-19T20:18:39.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"msridhar","name":"Manu Sridharan","path":"/msridhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/193105?s=80&v=4"},"commit":{"message":"Merge branch 'master' into ep-2.28.0","shortMessageHtmlLink":"Merge branch 'master' into ep-2.28.0"}},{"before":"0c7f34da57450d7a3d493f954e7c57cd5bedf916","after":null,"ref":"refs/heads/array-loop-test","pushedAt":"2024-06-19T19:55:47.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"msridhar","name":"Manu Sridharan","path":"/msridhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/193105?s=80&v=4"}},{"before":"8593fe20b18084447020e626386cfe2846a225fd","after":"4f6f21e6ab859377fc47213f3fe2f66b3fdcce3e","ref":"refs/heads/master","pushedAt":"2024-06-19T19:55:45.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"msridhar","name":"Manu Sridharan","path":"/msridhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/193105?s=80&v=4"},"commit":{"message":"Tests for loops over arrays (#982)","shortMessageHtmlLink":"Tests for loops over arrays (#982)"}},{"before":"881017401f8f8c96670c921aa0c8826d618c660b","after":"0c7f34da57450d7a3d493f954e7c57cd5bedf916","ref":"refs/heads/array-loop-test","pushedAt":"2024-06-19T19:46:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"msridhar","name":"Manu Sridharan","path":"/msridhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/193105?s=80&v=4"},"commit":{"message":"add link to issue","shortMessageHtmlLink":"add link to issue"}},{"before":"897a77f53e23090499ee24c9e861cb5fa0674218","after":"881017401f8f8c96670c921aa0c8826d618c660b","ref":"refs/heads/array-loop-test","pushedAt":"2024-06-19T19:44:36.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"msridhar","name":"Manu Sridharan","path":"/msridhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/193105?s=80&v=4"},"commit":{"message":"Merge branch 'master' into array-loop-test","shortMessageHtmlLink":"Merge branch 'master' into array-loop-test"}},{"before":"26b1eaf8c93a3b6f3a80d7a5f128f2806a4bad35","after":null,"ref":"refs/heads/jspecify-array-returns-bug","pushedAt":"2024-06-19T18:56:26.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"msridhar","name":"Manu Sridharan","path":"/msridhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/193105?s=80&v=4"}},{"before":"76115d49ca6619100dfee292317708eae5779bb1","after":"8593fe20b18084447020e626386cfe2846a225fd","ref":"refs/heads/master","pushedAt":"2024-06-19T18:56:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"msridhar","name":"Manu Sridharan","path":"/msridhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/193105?s=80&v=4"},"commit":{"message":"Bug fixes for array subtyping at returns / parameter passing (#980)\n\nIn certain places we were bailing out for types without type arguments,\r\nbut those bailouts are wrong now that we check array subtyping. Also,\r\nfor identifiers, we now get the type from the `Symbol` which is more\r\nreliable.","shortMessageHtmlLink":"Bug fixes for array subtyping at returns / parameter passing (#980)"}},{"before":"4aa9da7435062a0e308009ba76a8fa61b47a2a01","after":"26b1eaf8c93a3b6f3a80d7a5f128f2806a4bad35","ref":"refs/heads/jspecify-array-returns-bug","pushedAt":"2024-06-19T18:45:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"msridhar","name":"Manu Sridharan","path":"/msridhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/193105?s=80&v=4"},"commit":{"message":"couple more varargs tests","shortMessageHtmlLink":"couple more varargs tests"}},{"before":"dfa9945213aedbef022c330ac24871681cc43fe5","after":"4aa9da7435062a0e308009ba76a8fa61b47a2a01","ref":"refs/heads/jspecify-array-returns-bug","pushedAt":"2024-06-19T18:42:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"msridhar","name":"Manu Sridharan","path":"/msridhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/193105?s=80&v=4"},"commit":{"message":"add comments for varargs test","shortMessageHtmlLink":"add comments for varargs test"}},{"before":null,"after":"0df678b7a998baeda65352e4761ce1b7d18a2124","ref":"refs/heads/ep-2.28.0","pushedAt":"2024-06-19T18:23:39.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"msridhar","name":"Manu Sridharan","path":"/msridhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/193105?s=80&v=4"},"commit":{"message":"Update to Error Prone 2.28.0","shortMessageHtmlLink":"Update to Error Prone 2.28.0"}},{"before":null,"after":"897a77f53e23090499ee24c9e861cb5fa0674218","ref":"refs/heads/array-loop-test","pushedAt":"2024-06-19T17:53:07.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"msridhar","name":"Manu Sridharan","path":"/msridhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/193105?s=80&v=4"},"commit":{"message":"tests for loops over arrays","shortMessageHtmlLink":"tests for loops over arrays"}},{"before":null,"after":"08f7b6a7b8c6e6813f066d5d8fe806e68d068e10","ref":"refs/heads/generic-identity-function","pushedAt":"2024-06-19T02:02:27.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"msridhar","name":"Manu Sridharan","path":"/msridhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/193105?s=80&v=4"},"commit":{"message":"couple of tests","shortMessageHtmlLink":"couple of tests"}},{"before":"22758c818b9d1c499d2693457f0344babe889d52","after":"dfa9945213aedbef022c330ac24871681cc43fe5","ref":"refs/heads/jspecify-array-returns-bug","pushedAt":"2024-06-19T00:50:43.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"msridhar","name":"Manu Sridharan","path":"/msridhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/193105?s=80&v=4"},"commit":{"message":"Merge branch 'master' into jspecify-array-returns-bug","shortMessageHtmlLink":"Merge branch 'master' into jspecify-array-returns-bug"}},{"before":"a4ce24986429ad46af8171f198c550b7403a7b89","after":"76115d49ca6619100dfee292317708eae5779bb1","ref":"refs/heads/master","pushedAt":"2024-06-18T21:03:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"msridhar","name":"Manu Sridharan","path":"/msridhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/193105?s=80&v=4"},"commit":{"message":"JSpecify: Handle @Nonnull elements in @Nullable content arrays (#963)\n\nHandles unexpected error cases in JSpecify mode where an index is\r\nasserted `@Nonnull` (`fizz[x]!=null`) but the array elements itself\r\ncould be null (`@Nullable String [] fizz`).\r\n\r\n**Example**\r\n```\r\n@Nullable String [] fizz ={\"1\"}\r\nif (fizz[i] != null) {\r\n fizz[i].toString();\r\n}\r\n```\r\n**Current Behavior**\r\nThis throws an error due to dereference of `fizz[i]`\r\n\r\n**New Behavior**\r\nThere should be no error here unless it's outside the block. So only the\r\nlatter dereference throws up an error in the below case.\r\n\r\n```\r\n@Nullable String [] fizz ={\"1\"}\r\n\r\nif (fizz[i] != null) {\r\n fizz[i].toString();\r\n}\r\nfizz[i].toString();\r\n\r\n```\r\n\r\n---------\r\n\r\nCo-authored-by: Manu Sridharan ","shortMessageHtmlLink":"JSpecify: Handle @nonnull elements in @nullable content arrays (#963)"}},{"before":"854b630e6982c34cbb3a247d0cf2ccd261fc59dc","after":"22758c818b9d1c499d2693457f0344babe889d52","ref":"refs/heads/jspecify-array-returns-bug","pushedAt":"2024-06-17T18:01:02.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"msridhar","name":"Manu Sridharan","path":"/msridhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/193105?s=80&v=4"},"commit":{"message":"Merge branch 'master' into jspecify-array-returns-bug","shortMessageHtmlLink":"Merge branch 'master' into jspecify-array-returns-bug"}},{"before":"c4aed81aa6663e1b96182fca980420c807fcfdab","after":"a4ce24986429ad46af8171f198c550b7403a7b89","ref":"refs/heads/master","pushedAt":"2024-06-17T17:59:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"msridhar","name":"Manu Sridharan","path":"/msridhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/193105?s=80&v=4"},"commit":{"message":" Refactored data clumps with the help of LLMs (research project) (#960)\n\nHello maintainers,\r\n\r\nI am conducting a master thesis project focused on enhancing code\r\nquality through automated refactoring of data clumps, assisted by Large\r\nLanguage Models (LLMs).\r\n\r\n\r\n
\r\n Data clump definition\r\n \r\nA data clump exists if\r\n1. two methods (in the same or in different classes) have at least 3\r\ncommon parameters and one of those methods does not override the other,\r\nor\r\n2. At least three fields in a class are common with the parameters of a\r\nmethod (in the same or in a different class), or\r\n3. Two different classes have at least three common fields\r\n \r\nSee also the following UML diagram as an example\r\n![Example data\r\nclump](https://raw.githubusercontent.com/compf/data_clump_eval_assets/main/data_clump_explained.svg)\r\n
\r\n\r\n\r\nI believe these refactoring can contribute to the project by reducing\r\ncomplexity and enhancing readability of your source code.\r\n\r\nPursuant to the EU AI Act, I fully disclose the use of LLMs in\r\ngenerating these refactorings, emphasizing that all changes have\r\nundergone human review for quality assurance.\r\n\r\n\r\nEven if you decide not to integrate my changes to your codebase (which\r\nis perfectly fine), I ask you to fill out a feedback survey, which will\r\nbe scientifically evaluated to determine the acceptance of AI-supported\r\nrefactorings. You can find the feedback survey under\r\nhttps://campus.lamapoll.de/Data-clump-refactoring/en\r\n\r\n\r\nThank you for considering my contribution. I look forward to your\r\nfeedback. If you have any other questions or comments, feel free to\r\nwrite a comment, or email me under tschoemaker@uni-osnabrueck.de .\r\n\r\n\r\nBest regards,\r\nTimo Schoemaker\r\nDepartment of Computer Science\r\nUniversity of Osnabrück\r\n\r\n---------\r\n\r\nCo-authored-by: Manu Sridharan ","shortMessageHtmlLink":" Refactored data clumps with the help of LLMs (research project) (#960)"}},{"before":"0104cadd5b04b50fa47d55ddcd49e87c7c4e6b47","after":null,"ref":"refs/heads/gradle-8.8","pushedAt":"2024-06-17T13:33:39.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"msridhar","name":"Manu Sridharan","path":"/msridhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/193105?s=80&v=4"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEctIGOAA","startCursor":null,"endCursor":null}},"title":"Activity · uber/NullAway"}