Hi Anna and Devin,
I would like to get some help or more information to understand how to contribute to the scan-build part of this project… As you might know I was developed a python rewrite of the existing scan-build tool which is intended to replace the Perl version. (This was mentioned on the open project page of clang analyzer.)
My first commit was merged a year before. Then I continued to develop the functionality out of the source tree.
The LLVM Dev policy is focused around incremental development, where you submit small incremental patches as you are making improvements. Developing large changes out of the tree leads to various issues. For example, it’s more likely that a developer will waste time implementing things a certain way which the community/reviewers disagree with. Incremental development makes a feedback loop much shorter and avoids wasted effort. Another issue is that smaller changes are much easier to review and do not require a large time commitment from a reviewer at the specific time when the patch lands. Generally, the reviewers try to accommodate some constant flow of patch review into their schedule.
Another problem is that the ratio of developers to reviewers is very low, mainly since fewer developers are willing to volunteer their time to code review. (This, unfortunately, leads to a bigger problem of patches across different areas of clang/LLVM not getting any reviews at all!) It is very hard to ensure that the few people who are willing to review a certain area of LLVM/clang have the time to review large patches or batches of patches developed over a period of months and landing all at once.
This and other rational behind the incremental development policy are outlined here http://llvm.org/docs/DeveloperPolicy.html#incremental-development. It’s also important to read other parts of the Developer Policy if you haven’t already.
With agreement with Anna and Devin my focus was to port the functional tests to lit (the LLVM test tool). As the result of the new test suite, fair amount of bug was caught and fixed… Since December I’m trying to merge these improvements back to the Clang repo. With my first attempt I wanted all improvement merged once. After weeks of silence I got the feedback that it’s too big. Fair enough. Now I’m trying to push my change in pieces which are could be understood better. Now again, I’m missing responses, approvals on these changes.
I saw the following 6 patches sent for review at the end of January (not sure if there are more). Looks like 3 were reviewed and accepted by Devin within a day of you submitting them. I assume he just does not have the bandwidth to review all of them fast.
I’m looking for developers who can review my changes (and are familiar with Python constructs such: iterators, generators, decorators). Would anybody volunteer for reviewer? Anna, Devin: Would that be acceptable for you?
It would be great if someone is interested in helping out with review of the remaining patches and with code reviews for scan-build-py/libbear improvements in general!!!
- Jonathan who was interested in this work and mentioned that he might have time to help out with code reviews.