Skip to content

Conversation

@markshannon
Copy link
Contributor

The missing change note for #1277 and subsequent related PRs.

Copy link
Contributor

@felicitymay felicitymay left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. It's great to have more information about the changes in 1.21. A couple of questions and some suggestions.


* Non-local tracking of bound methods and instances of `super()`
* Superior analysis of conditionals and thus improved reachability analysis.
* Superior modelling of descriptors, for example, classmethods and staticmethods.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

modelling -> modeling

Are "classmethods" and "staticmethods" code elements, or should they each be two words?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They are code elements


### Impact on existing queries.

As points-to underpins many queries and provides the call-graph and reachability analysis required for taint-tracking, many queries will have additional results and some may have fewer results.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggest: "As points-to analysis underpins many queries, and provides the call-graph and reachability analysis required for taint-tracking, the results of many queries will change.


As points-to underpins many queries and provides the call-graph and reachability analysis required for taint-tracking, many queries will have additional results and some may have fewer results.

New results are a result of the improved reachability analysis and non-local tracking of bound-methods.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To avoid using "result" in two different senses, perhaps: "The improved reachability analysis and non-local tracking of bound methods will identify new results."?


New results are a result of the improved reachability analysis and non-local tracking of bound-methods.
Removed results are a result of more precise tracking of values through `*` arguments.
The expectation is that number of true positives will increase and the number of false negatives will decline.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps: "Overall the number of true positive results should increase and the number false negative results should decline. " ?

New results are a result of the improved reachability analysis and non-local tracking of bound-methods.
Removed results are a result of more precise tracking of values through `*` arguments.
The expectation is that number of true positives will increase and the number of false negatives will decline.
However, this is new code and may still contain errors.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What are we trying to say here? That the API will be developed further, that it's a preliminary version, that we haven't tested it, that we welcome feedback on it...?

@markshannon
Copy link
Contributor Author

@felicity-semmle I've addressed your comments. I've used "may" rather than "will" throughout, as we can't find more results that aren't there to be found, nor fix false positives that don't exist.

Copy link
Contributor

@felicitymay felicitymay left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the changes. All LGTM now.

@felicitymay felicitymay merged commit 18443e3 into github:master Jun 10, 2019
felicitymay pushed a commit that referenced this pull request Jun 10, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants