[cfe-dev] Adding more analysis algorithms to Clang?

Ted Kremenek kremenek at apple.com
Mon Oct 3 20:11:16 PDT 2011


Hi Guoping,

Additions to libAnalysis have largely been demand-driven.  I think we are fine with general contributions to this library that meeting the following criteria:

(1) Meet the Clang coding conventions and quality expectations.

(2) Are testable ("make test"), and tests are included in clang/test.

(3) Performance is acceptable and measurable, or at least documented when algorithms are known to be expensive.

(4) APIs are well-documented, which can come in the form of good doxygen comments.

Source-to-source transformations are welcome, and the Clang codebase does contains tools that are source-to-source rewriters.  For example, libRewrite provides low-level functionality for doing textual rewrites of source files using Clang SourceLocations.  Other analysis algorithms are useful as well; we just prefer that they can be regression tested, and the APIs are well-documented (especially if they don't have any real clients in the codebase at present).

Cheers,
Ted

On Oct 3, 2011, at 2:40 PM, Guoping Long wrote:

> Hi,
> 
>    There are some program analysis algorithms in clang/lib/Analysis directory. I am wandering if there are more algorithms to come or not. Are there some people working on this? What kind of algorithms are welcome to be part of Clang? 
> 
>    I am asking this because I want to help on this part. But I am not sure if source-to-source transformation algorithms are welcome in this community, since many optimization work is done in the LLVM backend. Currently I have implemented to CFG analysis algorithms (building the dominance tree and finding the strong connected components in CFG). I plan to implement more data flow analysis or even pointer analysis algorithms. If these algorithms are useful to people in this community, I would love to submit a patch.
> 
>   I am new to Clang and this community. Hopefully these questions are not naive to you.
> 
>   Thanks.
> --------
> Guoping
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev




More information about the cfe-dev mailing list